Como conceder direitos de sudo apenas a arquivos de script específicos?

15

Eu gostaria que um usuário tivesse direitos sudo (sem verificação de senha) em alguns scripts de shell em um diretório específico (no meu caso, /usr/local/tomcat7/bin ) e em nenhum outro lugar. Qual é a maneira mais simples de conseguir isso?

Algo como isso em /etc/sudoers parece não funcionar:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin
    
por Jonik 27.07.2011 / 17:49

2 respostas

20

Eu acho que você está quase lá. coloque um / no final da sua especificação de diretório

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

Da página de manual do sudoers

A directory is a fully qualified path name ending in a '/'. When you specify a directory in a Cmnd_List, the user will be able to run any file within that directory (but not in any subdirectories therein).

    
por 27.07.2011 / 17:59
6

Adicione uma barra '/' ao final do caminho.

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
    
por 27.07.2011 / 17:58