$HOME/abc/def/
悪意のないプロセスがディレクトリに書き込んでいると思うように欺いたいと思います$HOME/xyz/def
(以前のパスはハードコーディングされ、いくつかの理由で機能しませんでした)。この$HOME/abc/def/
ディレクトリはまったく存在してはいけません。ユーザーネームスペース+ファイルシステムネームスペースを使用してaufsファイルシステムをマウントしようとしましたが、失敗しました(マウントが完了し、権限が不足していることを示します)。
user + filesystem名前空間を使用できますか?それ以外の場合は、単一のプログラムに対してこれらのファイルシステム名前空間を生成するsuidプログラムを作成する際に危険がありますか?それともこれを行う既存のソリューションはありますか?
答え1
シンボリックリンクを使用するだけでは十分ではありませんか?例:
[root@talara ~]# ls -la /tmp/home/
total 12
drwxr-xr-x 3 root root 4096 Jul 5 16:01 .
drwxrwxrwt. 9 root root 4096 Jul 5 16:01 ..
drwxr-xr-x 2 root root 4096 Jul 5 16:01 123
lrwxrwxrwx 1 root root 13 Jul 5 16:01 321 -> /tmp/home/123
[root@talara ~]# touch /tmp/home/321/ACTIVITY_TEST
[root@talara ~]# ls -la /tmp/home/123/
total 8
drwxr-xr-x 2 root root 4096 Jul 5 16:02 .
drwxr-xr-x 3 root root 4096 Jul 5 16:01 ..
-rw-r--r-- 1 root root 0 Jul 5 16:02 ACTIVITY_TEST
[root@talara ~]#
これは、ハードコードされたスクリプトやプログラムをだますのに十分です。