bash スクリプトを生成し、private オプションで firejail を使用して起動できます。
phil@GLaDOS:~$ echo "echo success" > /media/phil/Stockage/firejailtest.sh; chmod +x /media/phil/Stockage/firejailtest.sh
phil@GLaDOS:~$ firejail --noprofile --private /media/phil/Stockage/firejailtest.sh
Parent pid 117110, child pid 117111
Child process initialized in 8.67 ms
success
Parent is shutting down, bye...
良い結果。
しかし、私のスクリプトが私のホームディレクトリまたは私のホームディレクトリ内のフォルダにある場合、上記の操作は失敗します。
phil@GLaDOS:~$ echo "echo success" > /home/phil/firejailtest.sh; chmod +x /home/phil/firejailtest.sh
phil@GLaDOS:~$ firejail --noprofile --private /home/phil/firejailtest.sh
Parent pid 117357, child pid 117358
Child process initialized in 8.73 ms
/bin/bash: ligne 1: /home/phil/firejailtest.sh: No such file or directory
Parent is shutting down, bye...
Firejailを使用して自分のホームディレクトリからスクリプトまたはプログラムを起動し、「プライベート」を使用してファイルが変更されないようにするにはどうすればよいですか?
答え1
~からman firejail
:
一時ファイルシステムに新しいディレクトリをマウントします
/root
。/home/user
サンドボックスが閉じると、すべての編集内容が削除されます。例:
$ firejail --private firefox
一時ファイルシステムに新しいユーザーホームディレクトリを作成し、リスト内のファイルとディレクトリを新しいホームディレクトリにコピーします。リスト内のファイルとディレクトリは、現在のユーザーのホームディレクトリに基づいて表現する必要があります。サンドボックスが閉じると、すべての編集内容が削除されます。
例:
$ firejail --private-home=.mozilla firefox
すべての意図と目的に応じて、オプションは同じことを行います。したがって、次のものを代わりに使用できます。
firejail --noprofile --private-home=firejailtest.sh /home/phil/firejailtest.sh
唯一の違いは、次の追加ファイルであることを確認できます。
firejail --noprofile --private find /home/phil
比較的:
firejail --noprofile --private-home=firejailtest.sh find /home/phil
Nitpicking: 両方のオプションを実行ほぼ同じですが、まったく同じではありません(したがって、上記の「すべての意図と目的のために」)。以下を見ることができます。
firejail --noprofile --private cat /proc/self/mountinfo
比較的:
firejail --noprofile --private-home=firejailtest.sh cat /proc/self/mountinfo