não pode acessar o crontab com sudo depois de ser adicionado à lista / etc / sudoers

1

Meu usuário "craig" está no arquivo /etc/sudoers na minha VM CentOS 5.6, no entanto, quando eu tento acessar o crontab usando o comando abaixo, é apresentada uma mensagem de erro:

sudo crontab -e -u crmpicco-stock-dev
[sudo] password for craig:
Sorry, user craig is not allowed to execute '/usr/bin/crontab -e' as root on dev.localdomain.

Por que recebo esta mensagem, como posso ver no meu arquivo /etc/sudoers , que posso acessar o crontab solicitado.

Aqui está a entrada do meu arquivo /etc/sudoers :

craig   ALL=(crmpicco-stock-dev) /usr/bin/crontab, /var/spool/cron/crmpicco-stock-dev
    
por crmpicco 20.12.2012 / 17:39

3 respostas

1

A especificação ALL=(crmpicco-stock-dev) /usr/bin/crontab significa que, em ALL hosts, você tem permissão para executar /usr/bin/crontab como o usuário crmpicco-stock-dev . Isso não significa que sudo , sempre que você tentar executar /usr/bin/crontab , selecione automaticamente crmpicco-stock-dev - o padrão ainda é root , o que a configuração não permite, e a mensagem de erro fornece: Sorry, user craig is not allowed [...] as root .

Tente executar sudo -u crmpicco-stock-dev crontab -e . Isso dirá a sudo que você deseja ser crmpicco-stock-dev e invocar /usr/bin/crontab , o que deve ser permitido; Por padrão, crontab -e tentará editar o crontab do usuário atual, que será crmpicco-stock-dev , para que você não precise especificar isso novamente.

Colocando o -u crmpicco-stock-dev após a primeira não opção, sudo assumirá que é parte do comando que você deseja executar e o ignorará. A linha inteira parece semelhante, mas significa algo muito diferente.

    
por 02.05.2013 / 18:51
0

Você pode tentar fazer:

sudo crontab -u crmpicco-stock-dev -e

Na página man esta parece a ordem correta.

Atenciosamente

    
por 20.12.2012 / 17:51
0

Acredito que você precisará entrar em contato com o administrador do sistema para ajudá-lo a depurar o problema. Eu suspeito que é algum tipo de artefato de chamadas setuid () ou seteuid () no sudo eo fato de que você está chamando um programa SUID. Eu vi isso antes e é mais frustrante para consertar.

Como eu poderia começar a consertar isso é tentar colocar a chamada crontab em um programa wrapper executável sem perms especiais e usando o sudo para chamar o programa wrapper.

    
por 20.12.2012 / 18:31