しなければならないスクリプトを次のように実行します。root
。リンクに記載されている指示に従って、次のことを行う必要があります。
- スクリプト(たとえば
chmod 4755
)でSETUIDビットを設定します。 sudo /path/to/thescript.sh
sudo(例:)でスクリプトを実行します。
SETUIDビットについて読んでいる文書によると、これを設定すると、スクリプトを実行している人は誰でも所有者の権限を取得します。したがって、スクリプトの所有者がいる場合、root
SETUIDビットが設定されたスクリプトを実行している人は誰でもroot権限でスクリプトを実行します。
sudo
もしそうなら、SETUIDビットが設定されている場合、スクリプトを実行する前になぜ何をする必要がありますか?
sudo
スクリプトの実行に使用する必要がある場合、SETUIDビットを設定する必要があるのはなぜですか?実験のように、私はスクリプトを使って実行しましたが、必要なことができましたsudo
(スクリプトは複数のファイルに対する権限を繰り返し変更しました)。
答え1
まあ、短い答えはSETUID root
絶対スクリプトを設定しないでください。実際には動作しないようです。
長い答え:いつも、いつも、いつも、スクリプトSETUID root
、いつも!
めまいがしすぎて今はここで止まります。
その人が言ったこのアプローチは深刻なセキュリティの脆弱性を引き起こす可能性があります!ああああ!それでは、なぜそのような答えをしましたか?
特定のタスクを実行できるバイナリだけをSETUID root
信頼し、それでも非常に注意してください!
つまり、何を達成しようとしていますか?
一般ユーザーが権限を持ってスクリプトを実行できるようにするには、スクリプトがすべてのユーザーに対して読み取り専用であることを確認root
し、ユーザーがそのスクリプトのみを実行できるようにファイルにエントリを追加しroot
ます。/etc/sudoers
詳細についてはを参照してくださいman sudoers
。
ユーザーが属するグループの名前とスクリプトへのフルパスがある場合は、/etc/sudoers
ルールを作成できます。