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.localchmod 777 /dev/TS0Ao 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/bashchmod 777 /dev/ttyTS0Aí 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