Почему `reboot` и `poweroff` работают без прав суперпользователя в Ubuntu 16.04?

Почему `reboot` и `poweroff` работают без прав суперпользователя в Ubuntu 16.04?

Есть много вопросов о том, почему shutdownи rebootтребуются права root. Есть также много хороших ответов.

Но есть кое-что, чего я не понимаю.: Если есть возможность перезагрузить или выключить компьютер без прав root вмногопользовательскийсистема - этоочень плохоидея... тогда почему это возможно в Ubuntu 16.04?

Когда я набираю poweroffили rebootв терминале и нажимаю Enter, он действительно выключается/перезагружается!

Для меня это нормально, когда poweroffи rebootне требуются права root... но зачем нужны suspendправа root? Когда я набираю suspendв терминале и нажимаю Enter, он не приостанавливается, а зависает... и когда я запускаю pm-suspend, Он требует sudo.

решение1

Для меня оба варианта poweroffне rebootтребуют пароля в Ubuntu 16.04.

Однако, чтобы это произошло, мне пришлось создать учетную запись пользователя с именем "foo", например, а затем подключиться по ssh к localhost либо как этот пользователь, либо как я сам. Когда я это делаю, мне нужно аутентифицировать себя. Кажется, он распознает, что другой пользователь вошел в систему.

Например, я получаю такое сообщение:

User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.

Предположительно, он достаточно «умный», чтобы понять, когда в систему вошел другой пользователь.

(Я согласен с вами, что было бы неплохо всегда аутентифицироваться как root. Иногда в систему не входит ни один другой пользователь, но в фоновом режиме выполняется важный процесс, выполняющий какие-то вычисления.)

Редактировать: Только что попробовал сам. Если я вошел как foo, мне нужно аутентифицировать себя (кто в группе sudo). Если я перезагружу себя как себя, а foo все еще вошел в систему, мне придется вводить данные systemctl reboot -iбез пароля. Я предполагаю, что разница в том, что система знает, что я в группе sudo.

Редактирование 2: Как отметил Северус Такс, systemctl suspend -iповедение похоже на systemctl reboot -iпредыдущее редактирование.

Связанный контент