setuidを使用してルートのパスワードを変更する

setuidを使用してルートのパスワードを変更する

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 ラッパー)。

おすすめ記事