くだらねえ質問はここに書き込め! Part 156at LINUXくだらねえ質問はここに書き込め! Part 156 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドの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)); } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch