Bom dia,Em primeiro lugar, gostaria de agradecer todas as sugestões....estou tentando entender tudo e aprender mais com isso.Na inicialização da máquina, eu coloquei em /etc/rc.localchmod 777 /dev/tty/TS0e isso faz que na inicialização da máquina tudo esteja funcionando, já que o Linux cria o /dev/ACM0 e também é criado o link para TS0.Porém minha preocupação é com algum funcionário ( usuário normal não root )xereta, dê uma fuçada na máquina e desplugue o SAT e replugue novamente...aí o sistema deixa de funcionar, pois o Linux cria um novo ACM1 apontando para TS0.Seguem minhas observações com suas sugestões:Junior Polegato:O conteúdo do script initsat contém somente a linha chmodscript initsat.sh*******#!/bin/bashchmod 777 /dev/ttyTS0*****De acordo com sua sugestão, coloquei o grupo tty para o meu usuário e diz:luis@hal9000:/mnt/midia4/prj/qt/scripts$ ./initsat.sh chmod: alterando permissões de “/dev/ttyTS0”: Operação não permitidaluis@hal9000:/mnt/midia4/prj/qt/scripts$ Paulo K. Sato:Coloquei o grupo dialout pra esse usuário...o tty já estava ( seguindo a sugestão anterior ) e ainda não permite essa operação.Sim, o dispositivo TS0 é criado por udev.... pois de acordo com o fabricante do sat, eu coloquei o arquivo que eles forneceram em /etc/udev/rulesinstruções recebidas do fabricante:********2. Arquivo de configuração para o serviço udev do Linux:99-SAT.rulesConteúdo:SUBSYSTEM=="tty", ACTION="" KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="0525", SYMLINK+="ttyTS0"SUBSYSTEM=="tty", ACTION="" KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="0525", SYMLINK-="ttyTS0"Deve ser copiado no diretório: /etc/udev/rulesA função desta configuração é alterar o nome do dispositivo reconhecido pelo Linux pelapresença do SAT TANCA, que é /dev/ttyACMx, para /dev/ttyTSx.Recomendamos esta alteração para previnir conflitos com outros dispositivos.
********Eu fiz algumas testes sem essa regra udev...o device criado na inicialização é o ACM0, sendo incrementado a cada replugue de USB.Com essa regra udev, mesmo incrementando o ACMx, permanece o link simbólico ttyTS0, por isso estou mirando alterar as permissões nesse link simbólico.Eduardo KlosowskiO setuid foi minha primeira tentativa, tanto é que mudei o user e grupo do script para rootchown root:root initsat.shechmod +s initsat.shMas continua dizendo "operação não permitida"saída do scriptchmod: alterando permissões de “/dev/ttyTS0”: Operação não permitidaAntonio TerceiroTambém mudei a regra 777 para 660 e cessou a comunicação com o SAT.Agradeço fortemente a ajuda de todos.Luís Cláudio A. Gama
Fones: TIM: 11 9 7765-1735 Res: 11-4602-3400
|""""""""""""""""""""""""""""|\|_
| Voto Distrital ! |||"'|""\__
|______________________|||_|____|)
!(@)'(@)""""*********!(@)(@)*****!(@) Em 1 de novembro de 2017 16:21, Antonio Terceiro <terceiro@debian.org> escreveu:On Wed, Nov 01, 2017 at 02:20:18PM -0200, Luís Cláudio A. Gama wrote:
> 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 se tudo que que você precisa é configurar as permissões do dispositivo
>
> 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?
quando ele for plugado, sugiro escrever e instalar uma regra do udev.
tem documentação disso na internet.
e ao invés de usar 777, eu sugiro usar 660 e configurar o dono/grupo do
dispositivo pra o usuario/grupo que roda a sua aplicação.
Sent with Mailtrack