мелкомодульная sudoers конфигурация (позволенный параметры командной строки)

есть ли простой способ позволить пользователю работать (например),

/usr/bin/pacman -S -u

как корень, не позволяя ему работать

/usr/bin/pacman -S -u some_package

?

Строка

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u

позволяет обоим, и

user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u ""

кажется, семантически эквивалентен.

20
задан 26.07.2010, 02:13

2 ответа

Поскольку Ваш случай пробует что-то вроде этого:

Cmnd_Alias PACMAN = /usr/bin/pacman -S -u, ! /usr/bin/pacman -S -u some_package
user ALL=(root) NOPASSWD: PACMAN

Можно использовать шаблоны шарика оболочки как [a-z], [0-9], * и т.д. в sudoers файле для исключения пакетов, которые соответствуют определенному шаблону.

27
ответ дан 07.12.2019, 10:11

Запишите сценарий, который делает то, что Вы хотите и предоставляете sudo доступ к нему.

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

3
ответ дан 07.12.2019, 10:11

Теги

Похожие вопросы