Поэтому я пытался предоставить отключение имени пользователя с правами root. Я создал группу отключения и добавил свое имя пользователя, используя:

groupadd shutdown
usermod -A shutdown annguyen

После этого я вошел в систему как root, используя su - затем visudo. Прокомментировал эти строки:

Defaults targetpw
ALL ALL=(ALL) ALL

Я буду говорить о том, что произойдет, если я раскомментирую их.

Затем я добавляю строку% shutdown ALL =(ALL) NOPASSWD:/sbin/shutdown

Итак, вот поведение.

Когда я вызываю xterm, а затем набираю sudo /sbin/shutdown -h 17:00 возвращается user annguyen is not in the sudoer file. This incident will be reported . Я проверял снова и снова, я уверен, что я нахожусь в группе выключения, и добавлена строка, позволяющая группе использовать выключение.

Однако, когда я снова захожу в себя, используя su annguyen и пробую sudo /sbin/shutdown ... снова, это работает. Однако я дважды зарегестрировался под своим именем пользователя. Я знаю, потому что, когда я набираю exit, он не закрывает xterm, а возвращает меня в оболочку родителей, также вошедшую как я. В общем, дочерняя оболочка, вошедшая в систему как annguyen, может вызвать отключение sudo, но родительская оболочка, также вошедшая в систему как annguyen, не может. Это почему?

Не уверен, что я что-то пропустил. В конечном счете, я хотел, чтобы, если я вызову sudo /sbin/shutdown/ он попросит у меня пароль annguyen, а все остальное - для root.

Это возможно?

Спасибо,

VNElectric

1 ответ1

0

Как вы обнаружили в первой части, вам нужно выйти и войти, чтобы применить новую группу к вашему пользователю.

Для второй части: отключение группы предназначено для пользователей, которым не разрешено выполнять суперпользовательские права. Если ваш пользователь имеет права суперпользователя, нет смысла находиться в группе выключения (по отношению к этой команде).

"Команда" sudo увеличивает привилегии активного пользователя, а "уровень увеличения" основан не на команде, которая идет после, а на пользователе. Если вашему пользователю разрешено использовать sudo для root, sudo будет запускать команду от имени root, даже если другие пользователи (в группе выключения, а не в sudoers) могут запускать эту команду также как группа выключения, а не как root.

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