перезагрузить компьютер без рута из скрипта

Когда я печатаю

reboot

, я получаю

reboot: Need to be root

P.S. У меня нет привилегий sudo и пароля

1
задан 2 December 2011 в 14:58

3 ответа

Мы не знаем, какую 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

Для получения списка возможных действий выполните [ 115]

dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.DBus.Introspectable.Introspect
0
ответ дан 2 December 2011 в 14:58

В Debian вы должны быть членом группы powerdev, чтобы выключить компьютер как обычный пользователь. Я не уверен, как это работает в Ubuntu.

То, что вы можете сделать в любом случае, это использовать бит setuid, чтобы позволить кому-либо перезагрузить компьютер. Подумайте об этом, прежде чем сделать это, хотя. Возможно, вы можете установить setuid только для группы reboot и изменить группу перезагрузки на собственную группу пользователей (или создать новую группу мощности вручную).

0
ответ дан 2 December 2011 в 14:58

Попробуйте эту команду

systemctl reboot -i

Для выключения выполните эту

systemctl poweroff -i

для гибернации, приостановки, гибридного запуска

systemctl hibernate -i
systemctl suspend -i
systemctl hybrid-sleep -i
0
ответ дан 2 December 2011 в 14:58

Другие вопросы по тегам:

Похожие вопросы: