Я хочу запустить monit как другой пользователь в Ubuntu 16.04, но он продолжает запрашивать пароль. Кажется, policykit является новым на Ubuntu 16.04. Как я могу поместить эту службу в список игнорирования аутентификации?
Моя цель заключается в том, что user1 сможет запускать service monit start и service monit stop без получения подсказки для пароля.
Выполнение его как root не является опцией
user1@serverabc.uk:~$ service monit start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'monit.service'.
Authenticating as: root
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to start monit.service: Access denied
See system logs and 'systemctl status monit.service' for details.
user1@serverabc.uk:~$
user1@serverabc.uk:~$ systemctl status monit.service
* monit.service - LSB: service and resource monitoring daemon
Loaded: loaded (/etc/init.d/monit; bad; vendor preset: enabled)
Active: active (exited) since Fri 2017-06-30 11:30:51 GMT; 6h ago
Docs: man:systemd-sysv-generator(8)
Загружено: загружено (/etc/init.d/monit; bad; preset: enabled) & lt; - эта строка показывает, что используется init.d old вместо нового типа служебного файла, поэтому я не могу просто отредактировать служебный файл и указать его конкретному пользователю.
Я нашел решение!
Добавить файл, /etc/polkit-1/localauthority/50-local.d/monit.pkla с этим содержимым
[monit service]
Identity=unix-user:user1
Action=org.freedesktop.systemd1.manage-units
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Теперь пользователь1 может запустить monit без проблем
Я нашел решение!
Добавить файл, /etc/polkit-1/localauthority/50-local.d/monit.pkla с этим содержимым
[monit service]
Identity=unix-user:user1
Action=org.freedesktop.systemd1.manage-units
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Теперь пользователь1 может запустить monit без проблем