本質的に安全でないスクリプトについては何もないので、私はその声明に同意しません。簡単なガイドラインが続く場合、Bashスクリプトは完全に安全です。
- 他の人が見ることができない情報がスクリプトに含まれていますか? その場合は、所有者のみが読み取り可能であることを確認してください。
- スクリプトはsomewherEの入力データに依存していますか?その場合は、入力データ を何らかの方法で汚染できないこと、または汚れたデータを検出して を破棄できることを確認してください。
- 他の人が スクリプトを試して実行しようとすると問題はありますか?そうであれば、最初の点のように、誰もそれを実行できないようにしてください。 chmod 0700は、システム機能を実行するスクリプトにとっては一般的には良いアイデアです。
- そして、あなたはスクリプトが(その通訳を介した)のsetuidを持つようにしたいと思いますケースがコンパイルされたプログラムからスクリプトを分ける2つの点は、ソースが表示されていることだろう 非常にまれ
です通訳者がそれを実行することを意味する。通訳が妥協されていない限り(setuidビットを持っているなど)、あなたは大丈夫でしょう。
システムタスクを実行するためのスクリプトを書くとき、誤植や一般的なヒューマンエラーは、ある程度はセキュリティ上の障害となる可能性がありますが、コンパイルされたプログラムの場合もそうです
ほとんどの(すべてではないにしても)Linuxのフレーバーでは、ほとんどの場合(すべてではないにしても、そうでないと考えることはできません)サービスはシェルスクリプトを介して開始されます。
スクリプトが読み込めない場合、実行可能ではありません。スクリプト上のSetuidも可能ではありません。 –