Post by M_MCredo che con "puoi impostare suid" tu intenda
sudo chmod +s /sbin/reboot
un altro modo che ho letto sarebbe usare
sudo visudo
username ALL = NOPASSWD: /sbin/reboot
pero` non l'ho mai provato ...
Potete usare direttamente shutdown, che permette di fare tutto con un
unico comando. In effetti halt, reboot e poweroff, quando il sistema è
in stato di running normale (runlevel 1-5, cioè né 0 né 6) non fanno
altro che invocare shutdown.
Detto questo, sudo è la soluzione corretta, si può fare una cosa un po'
più raffinata. Dentro /etc/sudoers.d, che raccoglie gli script utente di
sudo (non modificate il file originale!), potete creare un file dedicato
allo shutdown con:
sudo visudo -f /etc/sudoers.d/shutdown
e dentro ci mettete:
User_Alias SHUTDOWNER = %powerdev
Cmnd_Alias SHUTDOWNING = /sbin/shutdown
SHUTDOWNER ALL = NOPASSWD: SHUTDOWNING
(in realtà potete mettere l'unica riga:
%powerdev ALL = NOPASSWD: /sbin/shutdown
ma così è più formativo e potete guardarvi le potenzialità degli alias
dei file di sudo ;-) ).
In questo modo dopo vi sarà sufficiente iscrivere al gruppo powerdev gli
utenti che vorrete abilitare allo shutdown della macchina.
Post by M_Mdbus-send --system --dest=org.freedesktop.ConsoleKit \
--type=method_call --print-reply --reply-timeout=2000 \
/org/freedesktop/ConsoleKit/Manager \
org.freedesktop.ConsoleKit.Manager.Stop
(ConsoleKit 0.4.6-3)
Su Debian testing con Gnome3 funziona, su altre distro e/o DE non so.
Questa è un'altra soluzione molto elegante, ma è più adatta a concedere
permessi alle interfacce grafiche che si appoggiano a dbus, come per
esempio i pannelli di spegnimento di XFCE4 o LXDE; i quali, peraltro,
hanno come fallback sudo, per cui con la prima soluzione sei a posto con
tutto :-)
--
Massimo Bacilieri AKA Crononauta
Skype: crononauta <***@gmail.com>
Facebook: Massimo Bacilieri