setuidを使ってrootのパスワードを変更できますか?
ルート所有プログラムを呼び出してsetuidビットを設定する簡単なプログラムを書いてみましたが、うまくいきsystem("passwd root")
ません。出力は次のとおりですYou may not view or modify password information for root.
ベストアンサー1
プログラムで実際のuidと有効なuidを同じ値に設定することを無視した可能性があります。 Gid はルートの gid とも一致する必要があります。このような:
setuid(geteuid());
setgid(getegid());
例を見るsue
(簡単な setuid/setgid ラッパー)。