Existem muitas perguntas sobre o porquê shutdown
e reboot
exigem privilégios de root. Também existem muitas boas respostas disponíveis.
Por que precisamos ser root no terminal para desligar e reiniciar?
Por que a reinicialização e o desligamento requerem 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 ser capaz de reiniciar ou desligar sem privilégios de root em um sistema multiusuário é uma péssima idéia ... então por que isso é possível no Ubuntu 16.04?
Quando digito poweroff
ou reboot
em um terminal e bato Enter, ele realmente desliga / reinicia!
Tudo bem para mim quando poweroff
e reboot
não requer privilégios de root ... mas por que eles suspend
precisam de privilégios de root? Quando digito suspend
um terminal e bato Enter, ele não é suspenso, mas fica preso ... e quando eu corro pm-suspend
, exige sudo
.
Respostas:
Para mim,
poweroff
nemreboot
precisa de uma senha no Ubuntu 16.04.No entanto, para que isso ocorra, eu tive que criar uma conta de usuário chamada "foo", por exemplo, e depois ssh para localhost como esse usuário ou como eu. Quando faço isso, preciso me autenticar. Parece reconhecer que outro usuário está logado.
Por exemplo, recebo esta mensagem:
Presumivelmente, é "inteligente" o suficiente para perceber quando há outro usuário conectado.
(Concordo com você que seria bom sempre se autenticar como root. Às vezes, nenhum outro usuário está conectado, mas um processo importante está sendo executado em segundo plano, executando algum tipo de cálculo.)
Edit: Apenas tentei a mim mesmo. Se eu estiver logado como foo, preciso me autenticar (quem está no grupo sudo). Se eu reiniciar como eu com o foo ainda conectado, tenho que digitar
systemctl reboot -i
sem uma 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 maneira semelhante àsystemctl reboot -i
edição anterior.fonte