7

SUIDシェルスクリプトの危険性を考えると、Linuxでroot権限を持つスクリプト(bash、PHP)にパスワードなしでアクセスできるようにするためのより安全な方法はありますか?

(Ubuntu 8.10)

4

9 に答える 9

15

代替テキスト

于 2008-12-29T12:33:56.813 に答える
13

sudoを検討することができます。

「パスワードなし」ではありませんが、ユーザーにrootパスワードを与える必要はありません。また、スクリプトの使用の監査証跡を提供することもできます。

編集:クリスからのコメントによると、特定のコマンドにパスワードをまったく必要としないオプションがあります。詳細については、ここを参照してください。また、パスワードの入力を過度に求めないように設定することもできます。つまり、パスワードを1回入力するだけで、一定期間にわたって複数のコマンドを実行できます。

ちなみに、sudoはUbuntuに組み込まれており、Gnomeとうまく統合されています。特権操作を行うためにubuntuがパスワードの入力を求めるプロンプトが表示されたら、それは内部でsudoです。

于 2008-12-29T12:10:50.650 に答える
6

sudo ルートを使用する場合は、sudoers のマニュアル ページの「シェル エスケープの防止」セクションを必ず確認してください。

于 2008-12-30T02:49:21.063 に答える
5

sudoをお勧めします。sudoersファイルを適切に締めてください。はい、パスワードを要求せずに一部のコマンドを実行できるようにすることができます。

于 2008-12-29T12:11:20.977 に答える
4

通常のユーザーが昇格された特権でシェルスクリプトを実行できるようにsudoを構成することは、セキュリティの観点から、スクリプトをsuidrootにするよりも優れているわけではありません。すべての落とし穴はまだ存在しています。代わりに、広範なセキュリティチェックを行う適切なプログラムを作成する必要があります。考慮すべきいくつかのポイント:

  • Cで書かないでください、あなたは両足で自分自身を撃ちます。
  • すべての入力を確認してください。
  • できるだけ早く特権を削除してください。
  • 短くしてください。

  • 于 2008-12-29T12:32:05.663 に答える
    2

    sudoについてはすでに説明しているので、必要に応じて、さまざまなサンドボックス環境を検討することをお勧めします。たとえば、 jailなどです。

    于 2008-12-29T12:23:45.243 に答える
    1

    セキュリティを向上させるために、必要なアクセス権を正確に持つ特別なユーザーまたはグループとして操作を実行できるかどうかを検討してください。次に、そのユーザーまたはグループのスクリプト setuid/setgid を作成できます。

    于 2008-12-30T09:10:21.310 に答える
    1

    非常に重いソリューションについては、SELinux、AppArmor、TrustedBSD などの MAC (Mandatory Access Control) システムを検討してください。

    于 2008-12-30T14:59:02.963 に答える
    0

    ユース ケースが VirtualBox の下で実行されているマシンであり、セキュリティが実際には問題ではない場合、自分が足を撃たれるのを防ぐためにライト バリアが必要なだけです。(その場合、VirtualBox が NAT を介してマシンを隔離する方法のために、とにかくそれを見ることができない部外者によってマシンが侵害されても問題にならないため、セキュリティの議論は実際には意味がありません。)

    于 2013-10-23T11:21:10.960 に答える