Мне не нужен администратор, чтобы изменить мой пароль root. Я не хочу, чтобы какой-либо пользователь sudo выполнял эту команду:
sudo passwd $root
Я пробовал это в файле sudoers с помощью следующей команды:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
Как я могу заблокировать это?
Ответы:
Согласно руководству sudoers :
Вот почему ваша политика sudoers не работает.
Если вы хотите запретить пользователю получать права root и изменить свой пароль, попробуйте следующую процедуру:
Предполагая, что ваши sudoers содержит эту директиву:
Предполагая, что ваше имя пользователя
foo
, его группыfoo
иsudo
.groups
вывод команды:Удалить пользователя
foo
изsudo
группы:gpasswd -d foo sudo
после этого пользовательfoo
не может запускать команды с помощью sudo.Отредактируйте файл sudoers. Используйте эту команду:
Определите
foo
разрешение пользователя , например:Это означает, что пользователь
foo
может выполнять любые команды в каталоге,/usr/bin/
кромеpasswd
иsu
команды. Примечание. Если пользовательfoo
хочет изменить свой пароль, можно выполнитьpasswd
команду безsudo
.Еще один пример
foo
разрешения пользователя :Это означает, что пользователь
foo
может выполнять любые команды в каталоге/usr/bin/
и может изменять любой пароль, кроме root, на ВСЕХ машинах.Вы можете определить группы команд путем определения
Cmnd_Aliases
и создания «уровней разрешений». Вы можете найти полезные примеры в разделе ПРИМЕР руководства по sudoers , и здесь есть полезная ссылка о том, как использовать sudoers.источник
foo ALL=/usr/bin/*, !/usr/bin/passwd
любую идею, почему это так?добавить псевдоним команды через
visudo
:добавить ограничения через
visudo
:добавьте пользователя в группу под названием nopasswdgroup:
источник