- 562 名前:login:Penguin [2007/11/25(日) 17:05:33 ID:XjWuWSF0]
- uid 100, gid 500のファイル"test"があって
uid 100のユーザが gid 500と501の両方に所属しているとき, 次のグループ変更プログラムを実行すると #include <unistd.h> int main() { setuid(100); chown("test", -1, 501); } 実行者uid=100の場合成功,uid!=0 && uid!=100の場合失敗なのは問題ないのですが 実行者uid=0(root)の場合にも失敗するのは何故でしょう? fedora6とdebian(version不明)で確認しています chownの前にsetgid(500)やsetgid(501)を入れてもNGでした。 もちろんsetuid(0)とすればrootなので成功しますが そうせずにrootがuid=100のユーザになりきる方法はないのでしょうか? 出来ないならその理由は?
|

|