desligamento vs desligamento agora - desligando o sistema como não-root

desligamento vs desligamento agora - desligando o sistema como não-root

Acabei de observar algo estranho.

Conectado em um sistema archlinux como usuário não privilegiado, executei shutdown. Como esperado, ele retornouMust be root.

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

Tentei reproduzir isso em um tty e em um terminal no Plasma DE.

Gravação de tela do tty


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

Eu não acho que isso esteja relacionado comPolíticas de GUI.

dr: desligando o sistema como não root comshutdown now

Responder1

Na verdade, não é minha resposta – apenas repostando uma resposta que, infelizmente, foi excluída por razões desconhecidas.

Fonte:http://web.archive.org/web/20151014220049/https://superuser.com/questions/985661/shutdown-vs-shutdown-now-shutting-down-system-as-non-root


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 no Systemdafirma:

polkit é necessário para gerenciamento de energia como um usuário sem privilégios. Se você estiver em uma sessão de usuário local do systemd-logind e nenhuma outra sessão estiver ativa, os seguintes comandos funcionarão sem privilégios de root:

desligamento do systemctl

reinicialização do systemctl

suspensão do systemctl

hibernação do systemctl

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

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

Em outros systemdsistemas, como o 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: 

o que indica que polkitfoi configurado por padrão de diferentes maneiras no Arch Linux e no Debian. O pessoal do Arch Linux vê uma vantagem nisso sudo, na medida em que afirma, ema página wiki no Polkit:

Polkit é usado para controlar privilégios em todo o sistema. Ele fornece uma maneira organizada para processos não privilegiados se comunicarem com processos privilegiados. Em contraste com sistemas como o sudo, ele não concede permissão de root para um processo inteiro, mas permite um nível mais refinado de controle da política centralizada do sistema.

Como sempre, YMMV.

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

--https://superuser.com/users/255732/mariusmatutiae

informação relacionada