Sequência de comandos específica com permissões sudo e de arquivo

2

Eu preciso permitir um certo acesso de usuário a esses comandos:

sudo sync
echo 3 | sudo tee /proc/sys/vm/drop_caches

(Este desenvolvedor em particular está fazendo alguns testes de desempenho de banco de dados e liberando o cache de fs dá-lhes números mais limpos, então por favor, abstenha-se de comentários sobre porque estamos usando este comando.)

Posso restringir o usuário a um comando muito específico com o sudo, por exemplo, %código%?

Pelo que entendi, só posso restringi-los ao comando tee /proc/sys/vm/drop_caches em si. Eu não quero permitir que o usuário possa usar tee como root em qualquer coisa que eles queiram, no entanto.

Eu acho que a outra opção é dar a eles acesso de escrita a esse arquivo em particular, mas essa conversa é louca, ou seja, dar acesso de gravação não administrativo a um arquivo em tee ?

Todos os ponteiros ou ideias sobre a melhor maneira de restringir isso são bem-vindos.

    
por Banjer 08.12.2011 / 20:33

1 resposta

3

Sudo aceita argumentos de linha de comando. Então, você pode muito bem ir em frente e fazer alterações no arquivo sudoers de tal forma que tee é permitido quando o argumento é / proc / sys / vm / drop_caches para todo o resto, o sudo irá negar a execução. Se você quiser uma execução mais apertada, coloque uma substituição de script shell limpa em algum lugar em / usr / bin ou / usr / local / bin com permissões mais apertadas e, em seguida, na configuração sudoers, permita que os usuários executem o script como root nesse particular hospedeiro.

    
por 08.12.2011 / 20:55