Файл
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
будет перезаписан при обновлении policykit. Вы можете добавить локальную конфигурацию где-нибудь в /etc/polkit-1/localauthority.
Я добавил файл /etc/polkit-1/localauthority/50-local/50-com.[my name] .pkla со следующим содержимым:
[Restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultActive=yes
[Shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultActive=yes
Это позволяет всем перезагрузить или завершить работу, даже если в систему вошли другие пользователи.
См. Также manpages:
man pklocalauthority
У меня была такая же проблема с аутентификацией машин через Kerberos.
Вы должны увидеть запись в журнале /var/log/syslog
, например,
WARNING: Unable to stop system: Authorization is required
Демон polkit
предотвращает это. Файл
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
контролирует поведение этого. Есть 4 записи
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.stop-multiple-users
org.freedesktop.consolekit.system.restart
org.freedesktop.consolekit.system.restart-multiple-users
И значения для каждой записи
<allow_inactive>xy</allow_inactive>
<allow_active>xy</allow_active>
Они означают выключение и перезагрузку системы, а также выключение / перезагрузку, когда другие пользователи также вошли в систему (для проверки введите who
в терминале). allow_inactive
означает, как правило, удаленные сеансы (SSH, VNC), allow_active
- это прямой вход через TTY или X. Поэтому вы должны решить, кто сможет перезагрузить / выключить вашу систему.
По умолчанию локальный вошедший в систему пользователь может перезагрузить / выключить систему, но когда есть другие сеансы, например открытый сеанс SSH, и вы пытаетесь перезагрузить систему, вы выйдете из системы. Затем вы должны установить в записях org.freedesktop.consolekit.system.stop-multiple-users
и org.freedesktop.consolekit.system.restart-multiple-users
значение allow_active для yes: <allow_active>yes</allow_active>
.
Вы можете использовать командную строку, чтобы выключить компьютер обычным способом.
sudo shutdown -h now
Команда shutdown
должна быть выполнена как root
, и общий формат (из man shutdown
):
shutdown [options] time
-h Halt or power off after shutdown.
time When to shutdown.
The time argument can have different formats. First, it can be an
absolute time in the format hh:mm, in which hh is the hour (1 or 2 dig‐
its) and mm is the minute of the hour (in two digits). Second, it can
be in the format +m, in which m is the number of minutes to wait. The
word now is an alias for +0.