1

Если у меня есть папка в /var/secret/ и я предоставляю пользователю доступ к команде sudo , есть ли способ разрешить им полный доступ ко всем остальным, НО /var/secret/ и не дать им абсолютно никакого доступа к ней??

1 ответ1

1

Это почти (но не теоретически) невозможно. Как только у пользователя есть доступ к sudo, который не сильно ограничен, у него есть доступ с правами root - например, запуск sudo /bin /bash создаст оболочку bash с привилегиями root и сможет разделить любые механизмы, созданные root.

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

Вы также можете использовать SELinux или Apparmour, чтобы ограничить возможность доступа к каталогам, но, опять же, кто-то с root может отменить это.

Возможно, вам удастся сорвать доступ к указанному ресурсу, сохранив его в зашифрованном виде и подключив зашифрованный том - я ожидаю, что это не помешает доступу, но предотвратит случайный доступ. [Я замечаю, что когда я использую FUSE для удаленного монтирования файловой системы как пользователь, доступ к ней может получить только тот пользователь, который монтировал файловую систему. Конечно, поскольку я являюсь пользователем root, я могу просто SU вернуться к этому пользователю и просмотреть файлы - и, без сомнения, есть и другие способы сделать это] Кроме того, если ресурс не смонтирован, когда у пользователя есть права root, а ключ не хранятся в памяти, они также не могут получить это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .