Firejail --privateはホームディレクトリから.shファイルを起動できません。

Firejail --privateはホームディレクトリから.shファイルを起動できません。

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:

--private

一時ファイルシステムに新しいディレクトリをマウントします/root/home/userサンドボックスが閉じると、すべての編集内容が削除されます。

例:

$ firejail --private firefox

--private-home=file,directory

一時ファイルシステムに新しいユーザーホームディレクトリを作成し、リスト内のファイルとディレクトリを新しいホームディレクトリにコピーします。リスト内のファイルとディレクトリは、現在のユーザーのホームディレクトリに基づいて表現する必要があります。サンドボックスが閉じると、すべての編集内容が削除されます。

例:

$ 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

おすすめ記事