Como permito acesso não raiz a / ttyUSB0?


35

Desde a atualização de 10.04 para 12.04, não consigo acessar o dispositivo conectado em / ttyUSB0 se não tiver acesso root. Para ser mais específico, eu uso um conversor de porta USB para serial para acessar e configurar o equipamento Cisco com um software chamado Putty. Acontece que, desde que atualizei para o 12.04, Puttysó vejo o dispositivo conectado quando o executo como gksudo putty. Caso contrário, ele diz "não é possível conectar à porta / ttyUSB0". Eu consegui mudar as permissões via chmod 666, e funciona, mas se eu desconectar o usb e reconectar, ele voltará apenas ao root. Como permito permanentemente o acesso não raiz? Eu tenho uma pista que pode ser através das regras do udev, mas não tenho idéia de como fazê-lo.

obs. Fabricante e drivers "PROLIFIC"

Respostas:


10

É possível que isso esteja relacionado ao modemmanager , conforme detalhado aqui .

Eu removi o ( sudo apt-get remove modemmanager) e resolveu o meu problema.

Você ainda precisa estar no dialoutgrupo.


1
E se eu não conseguir remover o modemmanager? Eu tenho um amigo que tem um modem 3G e parece que ele não pode remover o modemmanager por causa disso. Como ele pode acessar / ttyUSB0 no 12.04 sem root, mas sem remover o modemmanager?
Leonardo Montenegro

Você pode tentar pará-lo? sudo stop modemmanagerFuncionou para mim.
Aleks 12/08

Já faz alguns anos, mas este ainda é o caso no Ubuntu 17.10. Teve que fazer um sudo apt-get purge modemmanagerantes sudo usermod -a -G dialout $USERteve o efeito desejado.
Stéphane

95

O dispositivo provavelmente está conectado ao grupo de usuários dialout. Basta adicionar seu usuário ao grupo de discagem para ter as permissões apropriadas no dispositivo.

sudo usermod -a -G dialout $USER

(Pode ser necessário sair e fazer login novamente para que o novo grupo entre em vigor.)

Não há necessidade de mexer com permissões ou regras do udev.


3
Faço login para votar. A solução mais limpa.
precisa saber é o seguinte

1
@ Tom-hennen Acho que você deve adicioná-lo primeiro como um comentário, em vez de editá-lo diretamente.
MadMike 29/10

2
Isso não funciona para o Debian
Mike

1
Os elogios por incluir "podem precisar sair e fazer login novamente".
23418 Rob Robeckeckin

1
No Ubuntu (eu estou no 18.04), logout / login não funciona. precisamos reiniciar depois de fazer o usermod.
Sujay Phadke

7
sudo adduser <the user you want to add> dialout
sudo reboot

Mencionado por "Experimente agora" funcionou para mim. Verifique se você tem dialoutcomo grupo para ttyUSB0:

ls -l /dev/ttyUSB0

no meu caso, a saída é:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0

em Linux Mint 18 Cinnamon eu recebo este erro ao chamar 'ls -l / dev / ttyUSB0' ls: não é possível o acesso '/ dev / ttyUSB0': Nenhum tal lima ou diretório
flyingdrifter

2

Isso funcionou para mim. Basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o comando abaixo.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Tente agora.


2

Conforme relatado por Rinzwind , comece digitando:

sudo usermod -a -G dialout $USER

Mas isso é apenas parte da solução, pois você deve reiniciar o sistema:

sudo reboot

6
1) Por favor, não poste comentários como respostas. 2) Não há necessidade de reiniciar; apenas sair e fazer login novamente.
gertvdijk

Eu tive que reiniciar para que isso funcionasse. Um Logoff não propagou a alteração.
user1182988 3/06

2

Eu tentei ambos

sudo usermod -a -G dialout $USER #(worked perfectly)

E sudo chmod 666 /dev/ttyUSB0(funcionou, mas teve que digitar o comando novamente)

Também removi o gerenciador de modo, mas realmente não ajudou. Portanto, o melhor comando que funcionou para mim foi

sudo usermod -a -G dialout $USER

0

No Ubuntu 18.04, tive que me adicionar ao grupo tty.

Fui sugerido pela saída do comando minicom:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty


-1

Eu tive esse problema com / dev / ttyS0 no Mint Rosa. É necessário adicionar o usuário ao grupo de discagem, mas, no meu caso, o acesso ao dispositivo foi restrito e eu tive que expandi-lo para fornecer acesso r / w ao nível do grupo também.


1
Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas sobre Ask Ubuntu.)
David Foerster

-4

navegue até a pasta / etc / e edite o arquivo do grupo, adicione seu nome de usuário como este dialout:x:20:USER

funcionou perfeito para mim :)


4
É geralmente considerado uma prática ruim editar esses arquivos diretamente, pois alguns erros simples podem causar perda de acesso.
flickerfly
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.