
Рассмотрим следующую строку в /etc/sudoers
файле:
username ALL=(ALL) ALL, !/usr/bin/passwd
Насколько мне известно, это позволяет пользователю username
использовать sudo, если только он не использует /usr/bin/passwd
. Но, судя по всему, пользователь все равно может получить root shell с помощью sudo -s
/ sudo -i
и делать все, что ему нравится. Правильно ли я понял? Какая конфигурация будет лучше, если я действительно хочу запретить пользователю менять любой пароль как root.
решение1
Без использования дополнительных уровней безопасности, таких как SELinux, вы не сможете этого сделать. Но это тоже плохая идея, поскольку есть действительно много других возможностей заблокировать другого пользователя, если можно получить (почти полные) права root через sudo.
Видетьhttps://serverfault.com/questions/36759/editing-sudoers-file-to-restrict-a-users-commands
решение2
Вы можете сделать это с помощьюCmnd_Aliasзапись. В вашем случае решение будет таким:
Cmnd_Alias PASSWD = /usr/bin/passwd
username ALL=(ALL) ALL, !PASSWD