Definir diretório de trabalho de um comando executado via sudo?

1

Eu tenho um comando que eu executo via sudo. Esse comando precisa ter seu diretório de trabalho configurado para o diretório no qual o comando está instalado. O usuário que chama o sudo não tem permissões nesse diretório, portanto não posso cd .

Então basicamente o que eu gosto de poder incluir em / etc / sudoers é algo como:

appuser localhost = (appowner) NOPASSWD: cd /opt/app/bin \; ./binary

Eu sei que posso usar um script wrapper em torno de binary , mas eu prefiro não ... Alguma sugestão?

    
por Willem 02.01.2013 / 09:57

1 resposta

3

Você precisará usar um script de wrapper. Os parâmetros após o Runas Tag_Spec são interpretados como Cmnd_List, que é uma lista de comandos que podem ser executados pelo usuário especificado, etc.

A solução é, conforme você observa, usar um script de wrapper

appuser localhost = (appowner) NOPASSWD: /path/to/wrapper

Certifique-se de que o script wrapper tenha permissões adequadas e, especialmente, que não seja gravável.

    
por 02.01.2013 / 10:21

Tags