くだらねえ質問はここに書き込め! Part 239at LINUXくだらねえ質問はここに書き込め! Part 239 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト1004:login:Penguin 20/05/07 16:17:06 pcoITieR.net >>981 ユーザー権限でか。 ユーザー名前空間を作れば一般ユーザでもchrootやらpivot_rootやらmountやら出来るよ。 ただ権限の後始末に少々気を配る必要があるのと自分のuid以外nobodyに見えてしまうのが難点。 int main() { unshare(CLONE_NEWUSER); chdir("/tmp"); chroot("."); return execl("./busybox", "sh", NULL); } mountする場合はユーザー名前空間と同時にファイルシステム名前空間も分離 unshare(CLONE_NEWUSER | CLONE_NEWNS); FILE *fp = fopen("/proc/self/uid_map", "w"); fputs("0 1000 1", fp); // 外側のuid=1000を内側のuid=0にmap fclose(fp); ... cap_set_mode(CAP_MODE_NOPRIV); // drop priviledges 1005:login:Penguin 20/05/07 16:41:33.92 /H2pZfEP.net >>982 そうユーザー権限で。完全なセキュリティを求めてるわけじゃなくて ミスを防ぐための簡易的な保護 ユーザーは自分が所有するファイルを削除できるけど そのプロセスと明らかに関係ないファイルは読み書きできる必要はない あくまで同一ユーザーの範囲で特定のディレクトリだけにアクセスを制限したい 自分のプロセスの範囲でシステムコールをフックして 制御するだけだからできそうな気もするんだけどなー 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch