Por que `reboot` e `poweroff` funcionam sem privilégios de superusuário no Ubuntu 16.04?

Por que `reboot` e `poweroff` funcionam sem privilégios de superusuário no Ubuntu 16.04?

Há muitas perguntas sobre o porquê shutdowne reboota necessidade de privilégios de root. Existem muitas boas respostas disponíveis também.

Mas há algo que eu não entendo: Se for possível reinicializar ou desligar sem privilégios de root em ummulti usuáriosistema é ummuito malideia ... então por que isso é possível no Ubuntu 16.04?

Quando digito poweroffor rebootem um terminal e clico em Enter, ele realmente desliga/reinicia!

Está tudo bem para mim quando poweroffe rebootnão requer privilégios de root ... mas por que suspendprecisa de privilégios de root? Quando eu digito suspendem um terminal e clico Enter, ele não suspende, em vez disso fica preso... e quando eu executo pm-suspend, ele requer sudo.

Responder1

Para mim, ambos poweroffnem rebootprecisam de senha no Ubuntu 16.04.

Porém, para que isso ocorresse, tive que criar uma conta de usuário chamada "foo", por exemplo, e depois fazer ssh para localhost como esse usuário ou como eu mesmo. Quando faço isso, preciso me autenticar. Parece reconhecer que outro usuário está logado.

Por exemplo, recebo esta mensagem:

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'.

Presumivelmente, é "inteligente" o suficiente para perceber quando de fato há outro usuário logado.

(Concordo com você que seria bom sempre autenticar como root. Às vezes, nenhum outro usuário está logado, mas um processo importante está sendo executado em segundo plano, realizando algum tipo de cálculo.)

Editar: Apenas tentei sozinho. Se estou logado como foo, preciso me autenticar (quem está no grupo sudo). Se eu reiniciar como eu mesmo com foo ainda logado, terei que digitar systemctl reboot -isem senha. Presumo que a diferença é que o sistema sabe que estou no grupo sudo.

Edição 2: Conforme observado por Severus Tux, systemctl suspend -icomportou-se de forma semelhante systemctl reboot -ià edição anterior.

informação relacionada