sudo: Desculpe, usuário root não tem permissão para executar

7

Este comando falha no OpenSuSE 11.4:

root@host# sudo -S -u "coreapp_customer1_d" -g "coreapp_customer1_d"  /bin/bash -l -c "mkdir -p /home/coreapp_customer1_d/.ssh"

com esta mensagem:

Sorry, user root is not allowed to execute 
'/bin/bash -l -c mkdir -p /home/coreapp_customer1_d/.ssh' 
as coreapp_customer1_d:coreapp_customer1_d
on workdevel114.

mas funciona no OpenSuSE 12.3.

Eu comparei o arquivo / etc / sudoers de ambos os sistemas e (exceto para linhas de comentários) eles são os mesmos.

    
por guettli 11.10.2013 / 09:19

2 respostas

7

Eu mesmo tive esse problema e consegui resolvê-lo com

root    ALL=(ALL:ALL) ALL

em visudo . A parte importante é :ALL . A página man sudoers diz o seguinte:

In the following example, user tcm may run commands that access a modem device file with the dialer group.

tcm boulder = (:dialer) /usr/bin/tip, /usr/bin/cu,\ /usr/local/bin/minicom

Note that in this example only the group will be set, the command still runs as user tcm. E.g.

$ sudo -g dialer /usr/bin/cu

No meu contexto, usar -g foi o ponto principal, pois eu queria saber com o que um grupo pode escrever:

sudo -u nobody -g some_group find . -writable 2> /dev/null > /tmp/some_group_writable.txt
    
por 06.02.2014 / 04:50
1

Eu encontrei um trabalho em torno de mim:

No meu contexto, a opção -g (group) não é necessária. Se o comando for chamado sem ele, ele funcionará na distribuição antiga.

    
por 11.10.2013 / 09:30