Como posso substituir um padrão de rootpw em sudoers

1

Eu tenho um arquivo sudoers com muitas entradas

.

Na parte superior, há uma configuração padrão:

# default sudo password is the ROOT password (not the invoking user's password)
Defaults rootpw

No entanto, há um comando em particular que eu quero permitir que os usuários executem como root, desde que eles digitem sua própria senha .

Como eu posso especificar um comando em particular requer a invocação da senha do usuário - assim, sobrescrevendo o conjunto de "Padrões"?

por exemplo. como modificar o comando abaixo para exigir a senha do usuário invocante ( não a senha do root):

markus ALL = PASSWD: /usr/sbin/tcpdump -p -i eth2 host 192.168.14.15
    
por PP. 13.02.2014 / 16:55

1 resposta

2

Use

Defaults!/usr/sbin/tcpdump !rootpw

para desativar rootpw para um único comando. Consulte esta resposta e / ou man 5 sudoers para obter mais informações.

Como alternativa, a opção NOPASSWD desabilita o prompt de senha, por exemplo

markus ALL = NOPASSWD: /usr/sbin/tcpdump -p -i eth2 host 192.168.14.15

finalmente, você pode desabilitar rootpw de um único usuário com

Defaults:markus !rootpw

Se você quiser substituir rootpw para um usuário específico e um comando específico, pelo menos a seguinte alternativa pode ser usada: criar um script de wrapper, por exemplo, /usr/local/bin/special_tcpdump.sh

 #!/bin/sh
 /usr/sbin/tcpdump $*

Em seguida, configure sudoers :

 Defaults!/usr/local/bin/special_tcpdump.sh !rootpw
 markus ALL = PASSWD: /usr/local/bin/special_tcpdump.sh -p -i eth2 host 192.168.14.15
    
por 13.02.2014 / 17:15

Tags