Есть ли способ, долго, если это необходимо, иметь белый список на linux mint для одной или нескольких групп / пользователей приложений, чтобы их можно было открыть? Пример: Пользователь 1 и Пользователь 2 могут открывать только Firefox, тогда как Пользователь 3 может открывать Firefox и libre office. Все остальное доступно только для всех пользователей, кроме Пользователя 4, который может открывать и делать все, что захочет.
2 ответа
Классический способ управления тем, кто может запустить данный исполняемый файл foo
выглядит следующим образом:
- С
chown
make исполняемый файлfoo
принадлежит группеfoo
. - С помощью
chmod
установите права доступа, чтобы только владелец и группа могли выполнять файл. - Назначьте пользователей в группы, как вы хотите.
Это не очень хорошее решение, если вам нужно сделать это для многих (все?) исполняемые файлы в вашей системе. Если вы хотите ограничить данного пользователя узким набором возможных команд, вам следует изучить тему ограниченной оболочки.
Я нашел BDSH. Выглядит многообещающе (хотя я никогда не использовал это сам):
bdsh - это оболочка, в которой вы вносите команды в белый список, и только эти команды могут быть выполнены.
Какой-то другой (новее?) подобные решения могут существовать.
РЕДАКТИРОВАТЬ: также читайте Как ограничить пользовательские команды в Linux на переполнение стека.
Не проверено, но возможное решение:
- удалите бит «исполняемый» для обычных пользователей в /usr /bin (и, возможно, некоторых других)(это мешает им читать что-либо в /usr /bin)
- создайте каталог с жесткими ссылками на авторизованные приложения в /usr /bin
- установить свой путь, чтобы указать на него