Como executar o script de formulário de comando 'chmod' com permissões sudo?

2

Eu quero alterar as permissões de /dev/ttyACM0 de um script.

Eu tentei este comando:

su -c "chmod -R 777 /dev/ttyACM*" -m "$user".

Quando executo o script, ele pede uma senha. Eu quero executar isso sem ser solicitado por senha.

Eu tentei adicionar um usuário em /etc/sudoers , mas não funciona.

É um script CGI. Não está funcionando solicitações externas (ou seja, de outros IPs).

user ALL= (user)  NOPASSWD: /usr/lib/cgi-bin/test.cgi

Como posso alterar as permissões para que qualquer pessoa possa executar o script de outros endereços IP?

    
por user459369 09.10.2015 / 15:39

1 resposta

0

Você não disse por que a solução sudo não funciona, mas a solução de problemas do sudo é bastante onerosa. Esta linha de teste em /etc/sudoers funcionou para mim

cgiuser ALL = (root) NOPASSWD: /bin/chmod -R 777 /tmp/xxx*

então experimente. Sua linha /etc/sudoers seria

user ALL = (root) NOPASSWD: /bin/chmod -R 777 /dev/ttyACM*

e seu script teria

/usr/bin/sudo /bin/chmod -R 777 /dev/ttyACM*

Apenas certifique-se de que o script seja executado como user , para um script cgi é provavelmente apache ou www-data .

PS: A resposta anterior está errada. Desde que você pertença ao grupo sudo ou tenha os privilégios, sudo su - funciona perfeitamente para se tornar root, mesmo que nenhuma senha root esteja definida. sudo -s é provavelmente melhor, no entanto. YMMV

    
por nortally 09.10.2015 / 20:00