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

10

Há muitas perguntas sobre por que shutdown e reboot exigem privilégios de root. Há muitas boas respostas disponíveis também.

Mas há algo que não entendo : Se ser capaz de reinicializar ou desligar sem privilégios de root em um sistema multiusuário é um muito ruim

Quando digito poweroff ou reboot em um terminal e clico Enter , ele realmente desliga / reinicializa!

Não há problema em mim quando poweroff e reboot não exigem privilégios de root ... mas por que suspend precisa de privilégios de root?  Quando digito suspend em um terminal e clico em Enter , ele não suspende, em vez disso, fica preso ... e quando eu executo pm-suspend , ele requer sudo .

    
por Severus Tux 19.05.2016 / 17:12

1 resposta

3

Para mim, o poweroff nor reboot 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, em seguida, 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 há, de fato, outro usuário logado.

(Eu 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.)

Edit: Apenas tentei a mim mesmo. Se eu estou logado como foo, eu preciso me autenticar (quem está no grupo sudo). Se eu reiniciar como eu mesmo com foo ainda logado, eu tenho que digitar systemctl reboot -i sem uma senha. Eu presumo que a diferença é que o sistema sabe que eu estou no grupo sudo.

Editar 2: Como observado por Severus Tux, systemctl suspend -i se comportou de maneira semelhante a systemctl reboot -i da edição anterior.

    
por Ray 19.05.2016 / 18:17