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

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

From ArchWiki
Jump to navigation Jump to search

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

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

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

Если вы используете systemd и установили 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`. После этого, текущий пользователь сможет вызывать systemctl через sudo из командной строки или меню окружения рабочего стола:

    $ sudo systemctl poweroff
    $ sudo systemctl reboot

Другие команды, такие как `systemctl suspend` и `systemctl hibernate` также могут быть использованы. Смотрите раздел 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:`, если вы хотите, чтобы у пользователя запрашивался его пароль перед продолжением.

## Создание псевдонимов

Для удобства, вы можете добавить эти псевдонимы в пользовательский `~/.bashrc` или системный `/etc/bash.bashrc` файл инициализации командной оболочки:

    alias reboot="sudo systemctl reboot"
    alias poweroff="sudo systemctl poweroff"
    alias halt="sudo systemctl halt"

То же самое вы можете сделать, установив systemd-sysvcompat, который создаст символические ссылки на systemctl с соответствующими именами.

Category:

- System administration (Русский)