Allow users to shutdown (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Allow users to shutdown. Дата последней синхронизации: 14 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

События нажатия кнопки питания и закрытия крышки ноутбука

События нажатия кнопок ждущего режима, выключения и режима гибернации, а также закрытия крышки ноутбука обрабатываются logind, как описано на странице Power management#ACPI events.

Используя systemd-logind

Если вы используете systemd (по умолчанию в Arch Linux) и установили polkit, пользователи через локальный сеанс могут вызывать команды управления режимами электропитания, пока сеанс не будет нарушен.

Чтобы убедиться, что ваш сеанс активен, наберите:

$ loginctl show-session $XDG_SESSION_ID --property=Active

Пользователь может использоать команды systemctl в командной строке, или добавить их в меню окружения рабочего стола:

$ systemctl poweroff
$ systemctl reboot

Другие команды, такие как systemctl suspend и systemctl hibernate также могут быть использованы. Смотрите раздел System Commands в справочном руководстве systemctl(1).

Используя sudo

Установите sudo и добавьте текущего пользователя в список sudoers. После этого, текущий пользователь сможет вызывать команды sudo systemctl (например, sudo systemctl poweroff, sudo systemctl reboot, sudo systemctl suspend и sudo systemctl hibernate) через sudo из командной строки. Смотрите раздел System Commands в справочном руководстве systemctl(1).

Ограничение привилегий sudo

Если пользователю следует разрешить только, например, использовать команду выключения, добавьте следующее в конец файла /etc/sudoers, используя команду visudo:

имя_пользователя имя_хоста=NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot

Имя хоста вы можете не указывать (или указать localhost). Теперь пользователь сможет выключить компьютер используя sudo systemctl poweroff или sudo systemctl halt, и перезагрузить его с помощью sudo systemctl reboot без ввода пароля. Удалите NOPASSWD:, если вы хотите, чтобы у пользователя запрашивался его пароль перед продолжением.