다음을 수행하는 스크립트가 필요합니다.
- ecryptfs를 사용하여 암호화된 디렉터리 마운트
bash
해당 쉘에 의해 시작된 쉘과 해당 쉘에서 상속된 모든 프로세스만 디렉토리에 액세스할 수 있도록 권한을 설정하십시오 .
필요한 경우 sudo로 스크립트를 실행하여 설치 및 설정을 수행할 수 있는 권한을 얻을 수 있습니다.
암호화된 디렉터리에 저장된 데이터를 처리하는 데 사용할 신뢰할 수 있는 프로그램이 있다는 생각입니다. 시스템의 다른 프로그램으로부터 데이터를 보호하고 싶습니다.
그러나 나는 신뢰할 수 있는 프로그램이 내 홈 폴더에 정상적으로 액세스하고 암호화된 디렉터리 외부에 작성한 파일을 모든 응용 프로그램에서 사용할 수 있기를 원합니다. 따라서 다른 사용자로 프로그램을 실행하는 것은 도움이 되지 않는 것 같습니다.
지금까지 SELinux와 cgroup을 살펴보았습니다. 이러한 cgroup은 자동으로 권한을 상속하므로 내가 원하는 것에 더 가까운 것 같습니다. 저는 "신뢰할 수 있는"과 "신뢰할 수 없는"이라는 두 개의 cgroup을 설정할 수 있다고 생각했습니다. 여기서 "신뢰할 수 없는"이 모든 작업을 포함하는 기본값이 됩니다. 그러나 cgroup을 사용하여 파일 액세스를 제한하는 방법에 대한 정보를 거의 찾지 못했고 이것이 실제로 내가 원하는 것을 수행할 수 있는지 확실하지 않습니다.
그래서,일련의 프로세스에 대한 ecryptfs 액세스를 제한하는 방법?
답변1
따르다관련 질문, 이 도구를 찾았습니다공유 취소예전에는 몰랐는데 딱 제가 원하던 거였어요.
다음 스크립트는 내가 생각해낸 것입니다.
mount_privately.sh:
#!/bin/bash
sudo unshare -m /bin/bash -c "mount -t ecryptfs $1 $2; su $USER; umount $2"
사용 예:
user@localhost:~$ ./mount_privately.sh backing_dir secure_dir
Passphrase: ...
user@localhost:~$ # secure_dir is now a
이것을 달성할 필요는 없지만 root
나에게는 충분합니다.