Em outra pergunta o comando que o botão de desligamento na verdade, as chamadas são dadas:
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Ele envia um sinal para um daemon que tem permissão para desligar o sistema. Não há necessidade de ser root para enviar este sinal.
Você não tem permissão para executar shutdown
diretamente sem privilégios de root.