remove especificando o caminho completo em sudoers

0

Estou tentando adicionar uma entrada NOPASSWD para 'sudotest.sh' (ou qualquer script / binário que exija sudo) no meu arquivo / etc / sudoers (redhat), mas para que isso funcione, devo especificar o arquivo completo caminho. A entrada a seguir funciona bem:

%jenkins ALL=(ALL)NOPASSWD:/home/vts_share/test/sudotest.sh

O problema é que o script pode ser movido para um diretório diferente. Eu tentei dar /home/*/sudotest.sh mas não funcionou para mim quando tentei executar o sudo ./sudotest.sh, isso me deu que você não tem permissão de root

Nota: Eu não posso ter permissão para o diretório / bin / sh também.

    
por sijo jose 14.02.2014 / 09:25

2 respostas

1

Isso não é uma boa ideia, já que o usuário pode criar um arquivo sh próprio com o mesmo nome e inserir seus próprios comandos.
Ele não deve ter permissão para alterar o conteúdo inicial do arquivo, ele deve ser colocado em uma pasta onde ele não possa gravar.

    
por 14.02.2014 / 12:07
0

Isso não é possível. O que você poderia fazer é symlink sudotest.sh para um local estático que é especificado em sudoers.

Exemplo:

arquivo real: /home/vts_share/test/sudotest.sh
link simbólico: /usr/bin/sudotest.sh

Entrada do SUDOERS:

% jenkins ALL = (TODOS) NOPASSWD: /usr/bin/sudotest.sh

Se o arquivo for movido, simplesmente reconfigure-o para /usr/bin/sudotest.sh - não é necessário alterar o SUDOERS novamente. Você pode fazer o script também ... updatedb, localize sudotest.sh, ln -s, que você pode colocar no cron ... feio hack, mas vai funcionar

    
por 14.02.2014 / 12:05