Há muitas perguntas sobre o porquê shutdown
e reboot
a necessidade de privilégios de root. Existem muitas boas respostas disponíveis também.
Por que precisamos ser root no terminal para desligar e reiniciar?
Por que a reinicialização e o desligamento exigem privilégios de root?
- Como o botão liga / desliga desliga o computador sem permissão de root?
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 poweroff
or reboot
em um terminal e clico em Enter, ele realmente desliga/reinicia!
Está tudo bem para mim quando poweroff
e reboot
não requer privilégios de root ... mas por que suspend
precisa de privilégios de root? Quando eu digito suspend
em 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 poweroff
nem reboot
precisam 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 -i
sem 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 -i
comportou-se de forma semelhante systemctl reboot -i
à edição anterior.