erro ao executar o script bash como root

0

Eu tenho um script de desligamento simples que eu quero executar como root

shutdown -h +30;
echo "succesfull";

Eu segui essas respostas 1 , 2 para criar minha raiz de script.

primeiro eu executo este comando

sudo chown root.root $HOME/test/test.sh
sudo chmod 4755 $HOME/test/test.sh

e, em seguida, fez alterações nos sudoers

sudo visudo

adicionou este comando depois desta linha %sudo ALL=(ALL:ALL) ALL

eka ALL=(ALL) NOPASSWD: $HOME/test/test.sh

Mas quando eu executei meu script, ele mostra esse erro

shutdown: Need to be root
succesfull
    
por Eka 22.05.2015 / 11:03

1 resposta

4

Don Não use scripts de shell setuid, o bit SUID não é respeitado em scripts shell de qualquer maneira nos sistemas atuais. Use sudo , como você tentou de qualquer maneira:

eka   ALL=NOPASSWD: /home/eka/test/test.sh

E então:

eka$ sudo ~/test/test.sh

Com isso, test.sh será executado como "root". Não há necessidade de usar setuid aqui.

    
por ckujau 22.05.2015 / 11:57