Executa comandos como outro usuário

3

Eu criei um usuário chamado intelmq , que tem permissões para executar um programa chamado intelmqctl . Em seguida, criei um usuário chamado apache e gostaria que apache executasse intelmqctl como o usuário intelmq . Eu adicionei as seguintes linhas ao arquivo sudoers :

Defaults:apache !requiretty
apache ALL=(intelmq) NOPASSWD: /usr/bin/intelmqctl

No entanto, toda vez que eu tento executar o seguinte comando como usuário apache o retorna isso:

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 o CentOS 7 e sou muito novo neste sistema.

Eu não sei se isso ajuda, mas aqui estão os passos que eu fiz para instalar intelmqctl e o problema em si melhor explicado, talvez eu tenha falhado algo durante a instalação: link

Se eu tentar executar sudo -iu apache como root , ele será alterado para apache user e, se eu executar o comando sudo -u intelmq /usr/bin/intelmqctl , ele funcionar, ele mostrará todas as opções para executar intelmqctl .

No entanto, se eu executar o comando sudo -iu apache como o usuário apache , ele retornará: Sorry, user apache is not allowed to execute '/bin/bash' as apache on localhost.localdomain.

    
por mf370 01.06.2017 / 12:43

1 resposta

-1

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

Em seguida, você pode executar esse executável com a propriedade de processo do intelmq.

    
por 01.06.2017 / 13:19