shutdown
およびreboot
にルート権限が必要な理由については、多くの質問があります。多くの良い答えも利用可能です。
しかし、わからないこともあります:マルチユーザーでルート権限なしで再起動またはシャットダウンできる場合システムは非常に悪いアイデアです...それではなぜUbuntu 16.04でこれが可能ですか?
ターミナルでpoweroff
またはreboot
と入力してヒットしたとき Enter、実際にシャットダウン/リブートします!
poweroff
およびreboot
がroot権限を必要としない場合は問題ありませんが、なぜsuspend
はroot権限を必要としますか?ターミナルでsuspend
と入力してヒットすると Enter、停止せず、代わりに停止します...そして、pm-suspend
を実行すると、Sudo
が必要です。
私にとって、poweroff
もreboot
もUbuntu 16.04ではパスワードが必要です。
ただし、これを行うには、たとえば「foo」というユーザーアカウントを作成し、そのユーザーまたは自分としてlocalhostにsshする必要がありました。これを行うとき、自分自身を認証する必要があります。別のユーザーがログインしていることを認識しているようです。
たとえば、次のメッセージが表示されます。
User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.
おそらく、実際に別のユーザーがログインしていることを認識するのに十分な「スマート」です。
(常にルートとして認証するのはいいことです。他のユーザーがログインしていない場合もありますが、何らかの計算を実行する重要なプロセスがバックグラウンドで実行されています。)
編集:自分で試してみました。 fooとしてログインしている場合、自分(Sudoグループに属する)を認証する必要があります。 fooがまだログインしている状態で自分でリブートする場合、パスワードなしでsystemctl reboot -i
と入力する必要があります。違いは、システムが私がSudoグループに属していることを知っていることだと思います。
編集2:セブルス・タックスが述べたように、systemctl suspend -i
は以前の編集のsystemctl reboot -i
と同様に動作しました。