일련의 프로세스에 대한 ecryptfs 액세스를 제한하는 방법

일련의 프로세스에 대한 ecryptfs 액세스를 제한하는 방법

다음을 수행하는 스크립트가 필요합니다.

  1. ecryptfs를 사용하여 암호화된 디렉터리 마운트
  2. 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나에게는 충분합니다.

관련 정보