回答:
あなたはchroot
環境でアプリケーションを実行することができます。つまり/
、アプリケーションが見るアプリケーションは本物ではありません/
。完全な新しいファイルシステム階層を作成し、それに--bind
必要なすべてのものをマウント()します。関連するポイントは次のとおりです。あなたは本当をマウントすることができます~/tmp
に/tmp
してchroot
環境。
chroot
(スーパーユーザー権限が必要です)を使用する代わりに、Linuxコンテナーでほぼ同じことを実行できます(lxc
)。私は慣れてlxc
いませんが、ホストシステムにとっては通常のユーザープロセスであるため、コンテナー内のそのような構成ではスーパーユーザーである必要はありません。
chroot
追加の設定が必要です(あなたが全体を交換する/
だけでなく、/tmp
ので、へのアクセス/etc
、/var
「投獄」プログラム(など、また「刑務所」の内側になります)と、独自のセキュリティ上の問題を作成してファイルシステムの一部を操作できるようにします。これは、偽の設定時に権限に注意しないと通常は立ち入り禁止になります/
)。
/
がのみに制限されていない場合、root
「投獄された」ユーザーは、システムの主要な場所にあると思われるファイルを作成または置換できます/etc/passwd
。これは、の外部では不可能である特権の昇格に使用できchroot
ます。多くのLinux FTPサーバーは、伝統的にchroot
ファイルシステムの残りの部分を隠すために使用されていましたが、ディレクトリが非rootユーザーによって書き込み可能である場合、隠蔽を拒否します。
chroot
か、lxc
これを行うことが可能であること。スーパーユーザーにならないでそれを達成する方法があることを知っておくのも本当にいいです。