くだらねえ質問はここに書き込め! Part 156
at LINUX
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
568:562 07/11/25 17:57:59 XjWuWSF0 chownが返すerrnoは1(permission error)の間違いです >>567 562に書きましたが、setgid(500)を試したときに getuid,getgidの出力をダンプし、 見掛け上uid=100のユーザが実行した場合と同じ状態であることを確認しましたが それでも実行開始時のuidが0の場合、chownに失敗します この結果は、setuid/gidの代わりにseteuid/egidを使っても変わりませんでした 569:562 07/11/25 18:07:12 XjWuWSF0 再現用プログラムです uid,gid1,gid2は適当に変えてください #include <unistd.h> #include <stdio.h> #include <errno.h> int main() { const char *path="poi"; uid_t uid=100; gid_t gid1=500; gid_t gid2=501; printf("(uid,gid)=(%d,%d)\n", getuid(), getgid()); printf("setuid(%d)=>%d, setgid(%d)=>%d\n", uid, setuid(uid), gid1, setgid(gid1)); printf("(uid,gid)=(%d,%d)\n", getuid(), getgid()); printf("chown(%d)=>%d\n", gid2, chown(path, -1, gid2)); printf("chown(%d)=>%d\n", gid1, chown(path, -1, gid1)); }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5354日前に更新/170 KB
担当:undef