我可以创建一个bash脚本,然后使用带私有选项的火监狱启动它:
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...如何在主目录中使用“私有”启动脚本或程序,以确保不对任何文件进行修改?
发布于 2022-09-23 19:11:40
来自man firejail:
--private在临时文件系统中安装新的/root和/home/user目录。当沙箱关闭时,所有修改都会被丢弃。例:$ firejail -私有火狐--private-home=file,directory在临时文件系统中构建一个新的用户主页,并在新主页中复制列表中的文件和目录。列表中的文件和目录必须表示为相对于当前用户的主目录。当沙箱关闭时,所有修改都会被丢弃。示例:$ firejail私有-home=..mozilla
所有意图和目的的选项都是相同的。所以你可以用:
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挑剔:这两种选择几乎相同,但并不完全相同(因此:“为所有意图和目的”),如下所示:
firejail --noprofile --private cat /proc/self/mountinfo相对于:
firejail --noprofile --private-home=firejailtest.sh cat /proc/self/mountinfohttps://unix.stackexchange.com/questions/718257
复制相似问题