Como impedir que usuários normais executem comandos sudo apenas como usuários normais e grupos normais

0

Como o usuário normal foobar no grupo users , desejo executar os comandos sudo como qualquer outro usuário não administrador (por exemplo, raboof:users ), desde que o usuário foobar conheça o run-as senha do usuário. Por exemplo, o seguinte deve ser possível:

$ sudo -u raboof echo Hello World!
[sudo] Password for raboof:
$ sudo -g users echo Hello World!
$ sudo -u raboof -g users Hello World!

Mas sudo nega executar echo Hello World! no caso da segunda e terceira variante acima.

Eu configurei o sudo padrão plug-in sudoers da seguinte forma:

User_Alias USER_ADMIN = #0, %#0, %wheel
Runas_Alias RUNAS_ADMIN = #0, %#0, %wheel

User_Alias USER_USER = ALL, !USER_ADMIN
Runas_Alias RUNAS_USER = ALL, !RUNAS_ADMIN

Defaults:USER_USER targetpw

USER_ADMIN ALL = (ALL:ALL) ALL

USER_USER ALL = (RUNAS_USER:RUNAS_USER) ALL

Como devo configurar o sudo plug-in sudoers para que ele funcione da maneira que eu quero?

    
por Tim Friske 02.06.2017 / 10:38

1 resposta

0

Depois de muita confusão com as expressões das definições acima de Runas_Alias , desenvolvi a seguinte configuração que funciona para todas as três combinações de invocação de sudo como usuário não administrador (por exemplo, raboof:users ):

User_Alias USER_USER = ALL, !#0, !%#0, !%wheel
Runas_Alias RUNAS_USER_USER = ALL, !#0, !%#0, !%wheel
Runas_Alias RUNAS_USER_GROUP = ALL, !#0, !wheel

Defaults:USER_USER targetpw

USER_USER ALL = (RUNAS_USER_USER:RUNAS_USER_GROUP) ALL

foobar $ sudo -u raboof id
uid=1000(raboof) gid=100(users) groups=100(users)
foobar $ sudo -g users id
uid=1000(foobar) gid=100(users) groups=100(users)
foobar $ sudo -u raboof -g users id
uid=1000(raboof) gid=100(users) groups=100(users)

Aninhar e negar as definições definidas anteriormente de Runas_Alias da seguinte forma não funcionou por algum motivo desconhecido:

Runas_Alias RUNAS_ADMIN_USER = #0, %#0, %wheel
Runas_Alias RUNAS_ADMIN_GROUP = #0, wheel
Runas_Alias RUNAS_USER_USER = ALL, !RUNAS_ADMIN_USER
Runas_Alias RUNAS_USER_GROUP = ALL, !RUNAS_ADMIN_GROUP
    
por 06.06.2017 / 00:48

Tags