Permitir permissão para comando bash personalizado sem permitir permissão para comando subjacente

Permitir permissão para comando bash personalizado sem permitir permissão para comando subjacente

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 *

informação relacionada