スクリプトを「sudo」として実行するときにSUIDを設定する必要がありますか?

スクリプトを「sudo」として実行するときにSUIDを設定する必要がありますか?

しなければならないスクリプトを次のように実行します。root。リンクに記載されている指示に従って、次のことを行う必要があります。

  • スクリプト(たとえばchmod 4755)でSETUIDビットを設定します。
  • sudo /path/to/thescript.shsudo(例:)でスクリプトを実行します。

SETUIDビットについて読んでいる文書によると、これを設定すると、スクリプトを実行している人は誰でも所有者の権限を取得します。したがって、スクリプトの所有者がいる場合、rootSETUIDビットが設定されたスクリプトを実行している人は誰でもroot権限でスクリプトを実行します。

sudoもしそうなら、SETUIDビットが設定されている場合、スクリプトを実行する前になぜ何をする必要がありますか?

sudoスクリプトの実行に使用する必要がある場合、SETUIDビットを設定する必要があるのはなぜですか?実験のように、私はスクリプトを使って実行しましたが、必要なことができましたsudo(スクリプトは複数のファイルに対する権限を繰り返し変更しました)。

ベストアンサー1

まあ、短い答えはSETUID root絶対スクリプトを設定しないでください。実際には動作しないようです。

長い答え:いつも、いつも、いつも、スクリプトSETUID root、いつも!

めまいがしすぎて今はここで止まります。

その人が言ったこのアプローチは深刻なセキュリティの脆弱性を引き起こす可能性があります!ああああ!それでは、なぜそのような答えをしましたか?

特定のタスクを実行できるバイナリだけをSETUID root信頼し、それでも非常に注意してください!

つまり、何を達成しようとしていますか?

一般ユーザーが権限を持ってスクリプトを実行できるようにするには、スクリプトがすべてのユーザーに対して読み取り専用であることを確認rootし、ユーザーがそのスクリプトのみを実行できるようにファイルにエントリを追加しrootます。/etc/sudoers

詳細についてはを参照してくださいman sudoers

ユーザーが属するグループの名前とスクリプトへのフルパスがある場合は、/etc/sudoersルールを作成できます。

おすすめ記事