Приветствую.
Как известно, стандартная модель прав POSIX работает только в том случае, когда мы хотим защитить файлы от процессов, работающих с другими учётными данными.
А что делать, если мы хотим защититься «от себя», т. е. от недоверенных программ, запущенных с теми же user/group?
Например, у меня в хомяке лежат какие-то приватные ключи. И я хочу, чтобы к ним не имел доступа никакой процесс, в т. ч. запущенный от моего имени, пока я явно не разрешу этот доступ конкретному PID'у (и, например, всем его потомкам).
В идеале я бы хотел некую команду (требующую права рута, например), которая запускала бы специальный шелл — от моего имени, но имеющий доступ к этим файлам. А остальные процессы пусть получают -EACCES.
Возможно ли такое? SELinux?
Clarification. На самом деле SELinux — это последний вариант, потому что в арче придётся полсистемы пересобрать с ним, включая ядро. Тем, кто компетентен в SELinux, я лучше задам конкретный вопрос: можно ли его настроить так, чтобы не приходилось переписывать политику для каждого нового установленного приложения? Иными словами, в режиме «всем всё можно, кроме вот этой директории — в неё нельзя вообще никому, кроме помеченных в рантайме PID'ов».