SystemdDoctor
служба не работает права polkit

Interactive authentication required при управлении службой

Сообщение об необходимости интерактивной аутентификации приходит от polkit: непривилегированный пользователь пытается управлять системной службой. В неинтерактивном сеансе спросить пароль негде, и команда завершается отказом.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Команда выполняется без прав и без возможности спросить пароль

    В скрипте, задании по расписанию или по ssh без терминала polkit не может запросить пароль и отказывает.

  2. Нужно разрешить конкретную операцию конкретной группе

    polkit позволяет описать правило: кто и какими unit может управлять. Это точнее, чем выдавать полный доступ через sudo.

  3. Служба пользователя управляется как системная

    Для служб пользователя нужен ключ пользователя: тогда аутентификация не требуется вовсе.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

От кого выполняется команда.

id

Записи polkit о запросах и отказах.

journalctl -u polkit -n 20 --no-pager

Действующие правила.

sudo ls -l /etc/polkit-1/rules.d/

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Команда выполняется без прав и без возможности спросить пароль
Почему происходит
В скрипте, задании по расписанию или по ssh без терминала polkit не может запросить пароль и отказывает.
Как проверить
Посмотрите, от кого выполняется команда.
id
systemctl status myapp.service 2>&1 | tail -3
Как исправить
Выполняйте управление службами от root или через sudo с настроенным правилом. Для автоматизации это надёжнее интерактивного пути.
2. Нужно разрешить конкретную операцию конкретной группе
Почему происходит
polkit позволяет описать правило: кто и какими unit может управлять. Это точнее, чем выдавать полный доступ через sudo.
Как проверить
Посмотрите существующие правила.
sudo ls -l /etc/polkit-1/rules.d/ 2>/dev/null
Как исправить
Добавьте правило, разрешающее нужной группе управлять конкретной службой. Правило пишется на языке правил polkit и проверяется без перезагрузки.
3. Служба пользователя управляется как системная
Почему происходит
Для служб пользователя нужен ключ пользователя: тогда аутентификация не требуется вовсе.
Как проверить
Посмотрите, где находится unit.
systemctl --user list-unit-files "myapp*" 2>/dev/null
systemctl list-unit-files "myapp*"
Как исправить
Используйте команды с ключом пользователя для своих служб: они не требуют прав root.

Пример вывода

Непривилегированный пользователь пытается перезапустить службу. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

$ systemctl restart nginx
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to restart 'nginx.service'.
Failed to restart nginx.service: Interactive authentication required.

Связанные ошибки

Источники

  • polkit(8)
    Правила и авторизация действий.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено перезапуском службы от непривилегированного пользователя без терминала.
    собственная проверка, systemd 255
    сверено 15 сентября 2026