Temos um script automático em um de nossos servidores, executado pelo usuário observador. Ele precisa informar outro script, executado pelo usuário principal, para atualizar um arquivo de log.
O código para isso ésudo kill -UPDATE_LOG pid
Obviamente, o usuário observador precisa ter permissões para executar este comando. No entanto, não quero dar permissão a esse script automático para encerrar processos, por razões óbvias.
Eu gostaria de fazer algo comoalias update_log='kill -UPDATE_LOG; grant update_log on observing_user
Responder1
provavelmente usando
sudo pkill -UPDATE_LOG <process-name>
em vez de matar será restritivo o suficiente para atender sua necessidade?
Outra maneira de resolver isso é incorporar o comando que você deseja oferecer com sudo em um script ou executivo personalizado para executar esta ação.
Responder2
Tudo bem, encontrei uma resposta depois de alterar minhas palavras-chave.
Veja também: Como evitar que usuários sudo executem comandos específicos?
Passo 1:
sudo visudo
A sintaxe é assim:
user host=command
Isso concede acesso sudo a um determinado comando. Você também pode fazer grupos como
%group host=command
Você pode usar ALL em qualquer uma das 3 'colunas' para aplicar isso a qualquer host, qualquer comando ou qualquer usuário.
Minha solução foi
observing_user ALL=kill -USR1 *