Obter comandos que um usuário pode executar em / etc / sudoers?

2

Eu preciso de um script shell (ksh) que possa ser executado localmente em uma caixa que retornará uma lista de usuários que têm sudo de acesso a um servidor e quais comandos eles podem executar.

Por exemplo, eu quero saber que o usuário "mfly" pode executar /etc/init.d/mysqld .

Estou tentando tornar o sistema o mais agnóstico possível, já que estou trabalhando com tudo, do Solaris 9 ao HP / UX, assim como sistemas baseados no Debian. Se eu conseguir colocar a liderança na direção certa em qual sistema, tenho certeza de que posso torná-lo portátil embora.

    
por ehime 03.12.2014 / 01:07

1 resposta

4

Quando um usuário chama sudo -l , ele lista o que o sudo permite, então você pode ter um script como root , que passa por / etc / passwd e sudo para cada usuário, invocar o sudo -l , direcionando a saída para /tmp/${USER}_sudo_i_can_do.txt

Mas se você não tiver acesso root, não poderá fazer o que deseja fazer; a lista de permissões é legível apenas por root. E um usuário pode ver apenas suas próprias permissões.

    
por 03.12.2014 / 01:39