Whitelisting comandos que um usuário pode usar com o sudo

3

Eu tenho tentado configurar uma lista branca de comandos que um usuário pode executar no meu sistema. O servidor que estou usando está executando o CentOS 7. Qual é a sintaxe que deve ser usada para permitir que apenas um determinado grupo de comandos e argumentos seja executado como sudo para um usuário? Eu também gostaria que o sudo não exigisse uma senha ao chamar esses comandos.

Eu tentei:

  1. usuário ALL = / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: TODOS

  2. usuário ALL = (usuário: grupo) / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: TODOS

  3. usuário ALL = (usuário) / bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2 NOPASSWD: TODOS

  4. usuário ALL = (/ bin / cmd1 arg1 arg2, / bin / cmd2 arg1 arg2, / bin / cmd3 arg1 arg2) NOPASSWD: TODOS

Todas essas tentativas resultaram em um erro de sintaxe no arquivo / etc / sudoers.

Eu olhei para esta pergunta: usuários sudo de executar comandos específicos? e também ler este guia: link . A questão parece indicar que a primeira tentativa deveria ter funcionado, enquanto o guia parece indicar que a segunda tentativa deveria ter funcionado. Então, o que funciona?

    
por edrw 19.11.2015 / 19:11

1 resposta

2

Tente adicionar algo assim:

user ALL = (root) NOPASSWD: /bin/cmd1 args, /bin/cmd2 args

Na linha acima:

  • usuário é o usuário que precisa acessar os comandos
  • / bin / cmd1 args, / bin / cmd2 args são os comandos
  • root é o usuário sob o qual os comandos serão executados
por 21.11.2015 / 19:21