このシェル スクリプトは、このサイトからダウンロードしました。
bash スクリプトとしては疑わしいほど大きいです。そこで、テキスト エディタで開いてみると、コードの背後に無意味な文字がたくさんあることに気付きました。
でスクリプトの実行権を与えるのが怖いですchmod +x jd.sh
。安全かどうかを認識する方法、またはシステムで制限付きの権限を設定する方法を教えてもらえますか?
ありがとうございました
「意味のない文字」は、SHファイルに直接含まれているバイナリファイルを示します。スクリプトはファイル自体をファイルアーカイブとして使用し、必要に応じてファイルをコピー/抽出します。これはSHインストーラーにとって珍しいことではありません。(編集:たとえば、makeself)
他のソフトウェアと同様に、スクリプトを実行することが「安全」であるかどうかを判断することは事実上不可能です。
実行しないでください。そのサイトは、マルウェアを提供することが知られているため、私の勤務先ではブロックされています。
コードの検証に関しては、コードを完全に分離し (技術的に困難ですが、既知の脆弱性がない場合は VM が機能する可能性があります)、実行して実際の動作を観察しない限り、実際には不可能です。サードパーティのソフトウェアを使用する場合、ある程度の不信感は常に役に立ちますが、もちろん、実行しているすべてのソフトウェア、またはそのごく一部を検証する時間は誰にもありません。数千年 (おそらく数百万年) の作業が必要であり、開発者をさらに 1000 年間忙しくさせるのに十分なバグを見つけることができます。通常できる最善の方法は、少なくともある程度信頼できる人によって作成された、または少なくとも推奨されたソフトウェアのみを実行することです。信頼はあなた自身の基準に従って決定する必要がありますが、私にとってソフトウェアに有利ないくつかを以下に示します。
スクリプトのソース (IP アドレス?) は信頼できないように見えますが、それでも合法である可能性があります。シェル スクリプトを使用すると、最後にバイナリ コンテンツを追加して、一種のインストーラを構築できます。数年前、Sun はまさにその形式で Solaris 用の JDK を出荷していました。今もそうかどうかはわからないけど。
リスクを冒さずにテストしたい場合は、VirtualBox (無料の仮想マシン ソフトウェア) に Linux をインストールし、そこでスクリプトを実行して、その動作を確認します。
それが何をするかについての補遺: UNIXには、strace、ptrace、ltraceなど、バイナリプログラムを分析するために使用できるさまざまなツールがあります。また興味深いのは、chrootを使用してスクリプトを実行することです。そうすれば、インストールされているすべてのファイルを簡単に見つけることができます。
しかし、最終的には、調べるのが容易ではないバイナリ ファイルが増える可能性があります (おそらく、ウイルス対策ソフトウェアの開発者なら誰でも言うでしょう)。したがって、ソースをまったく信用しない場合は、実行しないでください。または、実行する必要がある場合は、少なくとも大きな損害を与えたり、データにアクセスしたりできない VM で実行してください。