Em 01-11-2017 14:20, Luís Cláudio A. Gama escreveu:
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
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.
Porém estou pensando numa situação em que o SAT é desplugado da USB e
replugado novamente, e isso irá fazer com que as permissões sejam
perdidas.
Para não ter que reiniciar a máquina nessa situação, pesquisei a
respeito de executar um script para essas permissões como root.
Criei o scritp initsat.sh
#!/bin/bash
chmod 777 /dev/ttyTS0
Aí dei os comandos:
chown root:root initsat.sh
chmod 777 initsat.sh
e também chmod +s initsat.sh
As permissões ficaram assim:
-rwsrwsrwx 1 root root 34 Nov 1 14:00 initsat.sh
porém ao executar o script com meu user:
luis@hal9000:/mnt/midia4/prj/qt/scripts$ ./initsat.sh
chmod: alterando permissões de “/dev/ttyTS0”: Operação não permitida
luis@hal9000:/mnt/midia4/prj/qt/scripts$
Alguém pode me dar uma sugestão?
Olá!
Pelo que pude ver, /dev/ttyTS0 é uma ligação simbólica para
ttyACM0, o que significa que tudo que fizer sobre /dev/ttyTS0, exceto
excluir, reflete diretamente em ttyACM0. Dessa forma, o que você está
tentando alterar é o arquivo destino e não a ligação simbólica. Qual a
saída de "ls -al /dev/ttyACM0"?
Lendo seu script initsat.sh, o que ele está tentando fazer?
Qual a linha do chmod?
Na minha humilde opinião, o mais sensato seria adicionar o
usuário ao grupo que tem acesso ao /dev/ttyACM0.
--
[]'s
Junior Polegato