Não é possível limitar os comandos que o usuário pode executar como root no shell habilitado para devtoolset-3

Não é possível limitar os comandos que o usuário pode executar como root no shell habilitado para devtoolset-3

Estamos usando devtoolset-3 no RHEL6.6. Os usuários executam scl enable devtoolset-3 bash para acessar um ambiente com todas as ferramentas devtoolset-3.

Gostaria de permitir que os usuários executassem um subconjunto de comandos como root. A maneira normal de fazer isso é usar sudo com um arquivo sudoers contendo um alias de comando com uma lista de comandos que você deseja que o usuário possa executar como root.

Tentei várias combinações, mas não consigo encontrar a receita certa.

Abaixo estão algumas das coisas que tentei:

Tentativa 1:

Eu crio um alias de comando:

Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/pkill <process name>

e então permitir que membros do myGroup executem esses comandos sem uma senha

%myGroup  ALL=(ALL) NOPASSWD:SETENT: ALLOWEDCOMMANDS

Com essa configuração, se eu tentar executar sudo pkill, recebo:

Desculpe, o usuário não tem permissão para executar '/usr/bin/scl enable devtoolset-3 'pkill' ''' como root

Tentativa 2:

Modifiquei o arquivo sudoers para ter o comando completo:

Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/scl enable devtoolset-3 pkill <some_process_name>

mas ainda recebo o mesmo erro.

Tentativa 3:

Se eu listar /usr/bin/sclcomo um comando permitido, o usuário poderá executar qualquer comando como root em um ambiente habilitado para scl.

Alguém pode encontrar uma maneira confiável de permitir que os usuários executem uma determinada lista de comandos em um shell habilitado para scl?

Responder1

Caso alguém tenha esse problema, pensei em postar a resposta que recebi do suporte da Red Hat aqui.

Acontece que a versão devtoolset-3 do sudo não reproduz bem o formato dos alias de comando que você pode especificar em/etc/sudoers.

Em seu shell habilitado para devtoolset-3 você pode usar o alias sudo=/usr/bin/sudo. Em seguida, seus usuários executarão o sudo padrão, que manipula os aliases de comando corretamente.

Com esse alias instalado, tudo funciona conforme o esperado.

informação relacionada