uidビットを設定したいシェルスクリプトがあります。所有者をルートに設定し、uid ビットを設定しました。シェルに「whoami」を追加して、正常に動作しているかどうかを確認しましたが、スクリプトを実行すると、root ではなくユーザー名が返されました。それでは、これは間違っていますよね?uidが正しく設定されていれば、ルートを取得する必要がありましたよね?
1137 次
2 に答える
5
いいえ、setuidビットはログインしているユーザーを変更しません。スクリプトが実行される有効なユーザー(euid)を変更します。
さらに、setuidビットはスクリプトでは機能しません。
特権の少ないユーザーがrootとしてスクリプトを実行する場合は、「su」または「sudo」を調べることをお勧めします。
于 2010-11-19T15:50:50.003 に答える
4
シェル スクリプトでsetuidビットを使用することはできません。シェルはシバン行を解析して実行するプログラムを決定し、スクリプトに設定された setuid ビットをまったく気にせずにそのプログラムを起動します。
https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scriptsを参照してください。
于 2010-11-19T15:53:52.693 に答える