私の汚い解決策はchmod +s /sbin/shutdown
。それは機能しますが、これはおそらく良い習慣ではなく、安全ではありません。さらに、一部のシステムが更新された後、suidビットがリセットされます。それを行う正しい方法は何でしょうか?
すべてのユーザー?またはそれらの選択されたサブセット?コンピューターをローカルで使用しますか、それともリモートで使用しますか(sshなど)。
リモートで作業する少数のユーザーの場合Sudoは正常に機能します。詳細については、 このリンク を参照してください。
ローカルおよびGUIを介してログインしている場合は、より適切なオプションがあります。例えば。 initを介して3本指の敬礼をキャプチャし、それが1分間の遅延シャットダウンをトリガーするようにします。設定してからかなり経ちますので、詳細は飛ばします。 (Slackware 3が最新のときに使用しました)
shutdown
が-a
スイッチを受け入れる場合(shutdown --help
で確認)、次の操作を実行できます。
システムをシャットダウンできるはずのユーザーを/etc/shutdown.allow
に追加します。
例:
userA
userB
-a
スイッチを使用してシステムをシャットダウンします。
例:
shutdown -a -h now
SL6.4を使用しています。ユーザーモードパッケージによって提供される電源オフ、停止、再起動のユーザーバージョンがあります。通常のユーザーとしてシャットダウン、再起動できます(コマンドラインからも)
$ which {poweroff,reboot,halt}
/usr/bin/poweroff
/usr/bin/reboot
/usr/bin/halt
rpm -qf $(which poweroff reboot halt)
usermode-1.102-3.el6.x86_64
usermode-1.102-3.el6.x86_64
usermode-1.102-3.el6.x86_64
ルートとして
# which {poweroff,reboot,halt}
/sbin/poweroff
/sbin/reboot
/sbin/halt
# rpm -qf $(which poweroff reboot halt)
upstart-0.6.5-12.el6.x86_64
upstart-0.6.5-12.el6.x86_64
upstart-0.6.5-12.el6.x86_64