Мой пользователь - peaagent. я пытался visudo -f /etc/sudoers.d/peaagent
со следующим:
peaagent ALL = (root) NOPASSWD: /bin/systemctl stop postgresql.service
Когда я пытаюсь остановить Postgresql как peaagent, он запрашивает пароль:
peaagent@myserver:~$ /bin/systemctl stop postgresql.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to stop 'postgresql.service'.
Authenticating as: root
Password:
Кто-нибудь знает, почему это не работает? Tx.
Ваша проблема в том, что вы не добавляете к своей команде префикс sudo
. Когда вы пытаетесь запустить команду systemd без достаточных прав, systemd запрашивает пароль (через systemd-ask-password) для учетной записи с соответствующими привилегиями.
sudo /bin/systemctl stop postgresql.service
должен делать то, что хочешь.