[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: como executar script em user normal com "poderes" de root



Ola,

2017-11-01 14:20 GMT-02:00 Luís Cláudio A. Gama <luisgama@gmail.com>:
Boa tarde a todos,

Vou instalar um SAT fiscal plugado em USB na máquina.

Esse SAT cria:

lrwxrwxrwx 1 root root          7 Nov  1 13:52 /dev/ttyTS0 -> ttyACM0


Isso e um symlink, link para o dispositivo real. Que eo /dev/ttyACM0

 
E eu preciso dar permissões nesse ttyTS0 para que o usuário possa executar minha aplicacaçao e acessar o SAT.

já coloquei em /etc/rc.local
chmod 777 /dev/TS0

Ao inicializar a máquina tudo funciona ok.

Nos sistemas atuais, o /dev  e montado em memoria ram (devtmpfs), tudo e perdido no reboot.

Se esse for o único dispositivo ttyACM0, re plugar o USB em condições normais não deveria trazer problemas.

A forma correta de lidar com permissões no /dev e colocar o usuário no grupo adequado. No caso do ttyACM* e o grupo dialout (assim como outros dispositivos seriais)
# addgroup usuario dialout

Se for necessário que, ao plugar um dispositivo, seja necessário executar alguma ação, esse deve ser realizado pelo udev (systemd-udevd.service). O link ttyTS0 inclusive deve estar sendo criado por um script disparado pelo udev.

Não estou familiarizado com systemd, portando não poderei dar maiores explicações.

Lembre-se, se uma programa precisa de permissões de root, algo esta errado. Nos que realmente precisam, isso já esta sendo feito de forma transparente ao usuário.


--
Paulino Kenji Sato

Reply to: