Possibilita a permissão de serviço para um usuário em particular iniciar sem solicitar senha no Ubuntu 16.04

0

Eu quero rodar o monit como outro usuário no Ubuntu 16.04, mas ele continua solicitando uma senha. Parece policykit é novo no Ubuntu 16.04. Como eu poderia colocar este serviço na lista de autenticação de ignorar?

Meu objetivo é que o user1 possa executar service monit start e service monit stop sem solicitar uma senha.

Rodá-lo como root não é uma opção

[email protected]:~$ 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.
[email protected]:~$ 
[email protected]:~$ 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)

Carregada: carregada (/etc/init.d/monit; ruim; predefinição do fornecedor: ativada) < - esta linha mostrando que está usando o arquivo init.d antigo em vez do novo tipo de arquivo de serviço, por isso não posso edite o arquivo de serviço e aponte-o para um usuário específico.

    
por Thomas G. Lau 30.06.2017 / 12:27

1 resposta

1

Eu encontrei a solução!

Adicione um arquivo, /etc/polkit-1/localauthority/50-local.d/monit.pkla com esses conteúdos

[monit service]
Identity=unix-user:user1
Action=org.freedesktop.systemd1.manage-units
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Agora o user1 pode começar a monitorar sem problemas

    
por Thomas G. Lau 30.06.2017 / 13:00