Песочница файлов без нового пользователя
Можно ли изолировать определенные папки от всех программ, кроме одной, без создания нового пользователя? Немного похоже на обратную песочницу. В частности, я хочу защитить папку.bitcoin от доступа, кроме как для клиента биткойнов.
Я думаю, что, возможно, что-то, использующее LSM, справится с этим.
1 ответ
Я думаю, что это тоже не сработает.
Единственное, что приходит на ум, - это многошаговый процесс, включающий шифрование:
Используйте Encfs для шифрования каталога
Затем напишите сценарий, который
а) монтирует зашифрованный каталог
б) запускает биткойны
в) размонтирует папку после выхода биткойнов.
Тогда только запускайте биткойны, вызывая этот скрипт.
Это на самом деле не мешает другим программам читать эти файлы при монтировании, но гарантирует, что, если у вас не смонтирована зашифрованная папка, ничто не сможет прочитать эти файлы (таким образом, что имеет смысл. Они все еще могут удалить их или иным образом испортить их). Я считаю, что encfs гарантирует, что другие пользователи, включая root, не смогут получить доступ к смонтированному разделу (это особенность файловых систем на основе fuse), так что это не проблема.
Более надежным был бы биткойн-клиент, который выполнял шифрование напрямую.
Или, возможно, переместить приложение биткойн в зашифрованную папку, чтобы вы просто не смогли запустить его, пока папка не была смонтирована.
Вы также можете поиграть с chattr +/-i в зашифрованную папку (установив -i перед монтированием и +i после его размонтирования), чтобы другие программы не модифицировали файлы, и они не были смонтированы.