shutdown vs shutdown now - desligando o sistema como não raiz

1

Eu observei algo estranho.

Registrado em um sistema archlinux como um usuário não privilegiado, executei shutdown . Como esperado, retornou Must be root.

Para minha surpresa, executar shutdown now it (aparentemente!) não não verifica se o usuário atual tem privilégios de root. Simplesmente desliga a máquina.

Eu tentei reproduzir isso tanto em um tty como em um terminal no DE de Plasma.

Gravação de tela do tty

Estou executando o Archlinux com um kernel 4.2.2 com pacotes atuais.

Não acho que isso esteja relacionado a políticas da GUI .

tl; dr: desligando o sistema como não-root com shutdown now

    
por Carsten Hagemann 12.10.2015 / 18:32

1 resposta

0

Não, na verdade, minha resposta - apenas repostando uma resposta que, infelizmente, foi excluída por razões desconhecidas.

Fonte:

No Arch Linux, sob certas circunstâncias, você pode muito bem desligar / reiniciar / hibernar ... seu pc sem privilégios de root.

A página Wiki do Arch Linux sobre Gerenciamento de energia em Systemd declara:

polkit is necessary for power management as an unprivileged user. If you are in a local systemd-logind user session and no other session is active, the following commands will work without root privileges:

systemctl poweroff

systemctl reboot

systemctl suspend

systemctl hibernate

Para verificar se você tem permissão para fazer isso ( isto é, , você tem o polkit instalado e sua sessão não está quebrada) você pode usar o seguinte comando:

$  loginctl show-session $XDG_SESSION_ID --property=Active
   Active=yes

Em outros sistemas systemd , como meu Debian 8, isso não é possível apesar de ter a mesma resposta a este comando:

$  loginctl show-session $XDG_SESSION_ID --property=Active
   Active=yes
$ systemctl reboot
 ==== AUTHENTICATING FOR org.freedesktop.login1.reboot ===
 Authentication is required for rebooting the system.
 Authenticating as: ,,, (myusername)
 Password: 

que indica que polkit foi configurado por padrão de diferentes maneiras no Arch Linux e no Debian. As pessoas do Arch Linux vêem uma vantagem disso em relação a sudo , na medida em que afirmam, na página wiki na Polkit :

Polkit is used for controlling system-wide privileges. It provides an organized way for non-privileged processes to communicate with privileged ones. In contrast to systems such as sudo, it does not grant root permission to an entire process, but rather allows a finer level of control of centralized system policy.

Como de costume, YMMV.

Quanto a shutdown now , meu palpite é que é um redirecionamento para systemctl poweroff , que é permitido a um usuário não privilegiado.

- link

    
por 07.03.2017 / 21:46