Как ограничить доступ ecryptfs к группе процессов

Я хотел бы иметь скрипт, который делает следующее:

  1. Закрепляет зашифрованный каталог с помощью ecryptfs
  2. Устанавливает разрешения, так что только запускаемая им оболочка bash и любые наследуемые от нее процессы могут обращаться к каталогу.

При необходимости сценарий можно запустить с помощью sudo, чтобы он имел разрешения на установку и настройку.

Идея состоит в том, что у меня есть несколько доверенных программ, которые я хочу использовать для обработки данных, хранящихся в зашифрованном каталоге. Я хочу защитить данные от других программ в системе.

Тем не менее, я хочу, чтобы доверенные программы могли нормально обращаться к моей домашней папке, а файлы, написанные ими за пределами зашифрованного каталога, были доступны для любого приложения. Поэтому запуск программы как другого пользователя, похоже, не помогает.

До сих пор я изучал SELinux и группы. Из этих групп, кажется, ближе к тому, что я хочу, потому что он автоматически наследует разрешения. Думаю, я мог бы создать две группы, «доверенные» и «ненадежные», где «ненадежный» будет по умолчанию содержать все задачи. Однако я нашел очень мало информации о том, как ограничить доступ к файлам с помощью групп, и я не уверен, действительно ли это возможно так, как я хочу.

Итак, как ограничить доступ ecryptfs к группе процессов ?

Следуя связанному с этим вопросу , я обнаружил, что инструмент не отображается, о котором я раньше не знал, и который делает именно то, что я хочу.

Следующий сценарий – это то, с чем я столкнулся:

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 , но для меня это достаточно хорошо.