Criei um usuário chamado intelmq
que possui permissões para executar um programa chamado intelmqctl
. Então criei um usuário chamado apache
e gostaria apache
de executar intelmqctl
como usuário intelmq
. Adicionei as seguintes linhas ao sudoers
arquivo:
Defaults:apache !requiretty
apache ALL=(intelmq) NOPASSWD: /usr/bin/intelmqctl
No entanto, sempre que tento executar o seguinte comando como usuário, apache
ele retorna isto:
comando:sudo -u apache sudo -u intelmq /usr/bin/intelmqctl --type json stop abusech-ip-parser
saída:
Sorry, user apache is not allowed to execute '/bin/sudo -u intelmq /usr/bin/intelmqctl --type json stop abusech-ip-parser' as apache on localhost.localdomain.
Estou usando um CentOS 7.
Aqui estão os passos que fiz para instalar intelmqctl
e o problema em si explicado melhor, talvez tenha falhado alguma coisa durante a instalação:https://github.com/certtools/intelmq/issues/981
Se eu tentar executar sudo -iu apache
como root
, ele mudará para o apache
usuário, então se eu executar o comando sudo -u intelmq /usr/bin/intelmqctl
, ele funciona, mostra todas as opções para executar intelmqctl
.
No entanto, se eu executar o comando sudo -iu apache
como apache
usuário, ele retornará:Sorry, user apache is not allowed to execute '/bin/bash' as apache on localhost.localdomain.
Responder1
Você pode adicionar permissão setuid a esse binário e alterar a propriedade para intelmq.
chmod u+s /usr/bin/intelmqctl
chown intelmq /usr/bin/intelmqctl
Então você pode executar este executável com a propriedade do processo intelmq.