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

관련 정보