2010-11-19 17 views
2

私はuidビットを設定したいシェルスクリプトを持っています。 私は所有者をrootに設定し、uidビットを設定します。 シェルで 'whoami'を追加して正常に動作していることを確認しました。 スクリプトを実行したとき、whoamiはrootではなくユーザーの名前を返しました。 これは間違っていますよね? uidが正しく設定されていれば、私はrootになっていたはずですか?setuidビットの結果

答えて

4

いいえ、setuidビットはログインユーザーを変更しません。スクリプトが実行される有効ユーザー(euid)を変更します。

さらに、setuidビットはスクリプトでは機能しません。

低特権ユーザーがスクリプトをrootとして実行したい場合は、「su」または「sudo」を調べることをお勧めします。

+0

なぜ私はこの答えを見なければならないのですか?* setuidビットはスクリプトでは機能しません。*私は1時間を無駄にしました!ありがとう@マーティン –