スクリプトからルートなしでコンピュータを再起動する

スクリプトからルートなしでコンピュータを再起動する

入力すると

reboot

私は

reboot: Need to be root

PS 私はsudo権限とパスワードを持っていません

答え1

Debian では、通常のユーザーとしてコンピューターをシャットダウンするには、powerdev グループのメンバーである必要があります。Ubuntu でこれがどのように機能するかはわかりません。

どちらの方法でもできることは、setuid ビットを使用して、誰でもコンピューターを再起動できるようにすることです。ただし、これを行う前によく考えてください。おそらく、グループの setuid を設定しreboot、再起動のグループを自分のユーザー グループに変更する (または手動で新しい電源グループを作成する) ことしかできないでしょう。

答え2

あなたが使用しているUbuntuが何なのかは分かりませんが、コンピュータの電源を切るには

dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

そして再起動する

dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

実行可能なアクションの一覧については、

dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.DBus.Introspectable.Introspect

答え3

このコマンドを試してください

systemctl reboot -i

シャットダウンするにはこれを実行します

systemctl poweroff -i

休止状態、一時停止、ハイブリッド実行

systemctl hibernate -i
systemctl suspend -i
systemctl hybrid-sleep -i

関連情報