Olá, comutação do ubuntu,
Eu fiz minha pesquisa e acabei postando uma pergunta porque não encontrei uma resposta específica sobre como permitir um acesso de usuário específico a um serviço específico Ubuntu 16.04 (somente linha de comando, sem GUI). O único resultado de pesquisa relevante que encontrei é de 8 anos em outro fórum, mas sei que as coisas mudaram desde /etc/init.d
.
Eu tenho 2 máquinas, um trabalhador e um 'capataz' que monitoram o trabalhador. User 'foreman' se conecta ao trabalhador via ssh usando uma chave privada.
No trabalhador, o contramestre tem seu próprio conjunto de scripts. Alguns desses scripts precisam ser iniciados no momento da inicialização, por isso criei arquivos de serviço com a diretiva para executá-los como encarregados: (trabalhando conforme necessário e esperado)
...
[Service]
...
ExecStart="/home/foreman/scritps/monitor.sh"
User=foreman
...
Eu também adicionei o usuário ao arquivo sudoer com visudo
para que ele possa SOMENTE reiniciar / desligar a máquina, se necessário, - sem uma senha. (trabalhando conforme necessário e esperado)
#Allow foreman to reboot
foreman ALL=NOPASSWD:/sbin/reboot
foreman ALL=NOPASSWD:/sbin/shutdown
Como o serviço é inicial sob o nome do encarregado, ele deve poder iniciar o serviço?
$ systemctl restart monitor
Authentication is required to restart 'monitor.service'.
Authenticating as: root
Password:
e se eu sudo o comando ele pede a senha (e o contramestre não é um sudoer)
$ sudo systemctl restart monitor
[sudo] password for foreman:
Por motivos técnicos de segurança e produção:
Obrigado antecipadamente, regars,