Comment autoriser l'accès non root à / ttyUSB0?

35

Depuis que j'ai mis à jour du 10.04 au 12.04, je ne peux pas accéder au périphérique connecté dans / ttyUSB0 si je n'ai pas d'accès root. Pour être plus précis, j’utilise un convertisseur de port com usb-to-serial pour accéder à un équipement Cisco et le configurer à l’aide d’un logiciel appelé Putty. Il se trouve que, depuis ma mise à niveau vers 12.04, Puttyne voit le périphérique connecté que lorsque je l'exécute en tant que gksudo putty. Sinon, le message "Impossible de se connecter au port / ttyUSB0". J'ai réussi à changer les permissions via chmod 666, et ça marche, mais si je déconnecte le port USB et que je me reconnecte, il ne retourne qu'à la racine. Comment puis-je autoriser de manière permanente un accès non root? J'ai la moindre idée que ce soit via les règles udev, mais je ne sais pas comment le faire.

obs. Fabricant et pilotes "PROLIFIC"

yurividal
la source

Réponses:

10

Il est possible que cela soit lié à modemmanager , comme détaillé ici .

J'ai enlevé that ( sudo apt-get remove modemmanager) et cela a résolu mon problème.

Vous devez quand même être dans le dialoutgroupe.

Ed.
la source
1
Que faire si je ne peux pas supprimer modemmanager? J'ai un ami qui a un modem 3G, et il semble qu'il ne peut pas supprimer modemmanager à cause de cela. Comment peut-il accéder à / ttyUSB0 sur 12.04 sans root, mais sans supprimer modemmanager?
Leonardo Montenegro
Vous pouvez essayer en l'arrêtant? sudo stop modemmanagerCela a fonctionné pour moi.
Aleks
Cela fait quelques années, mais c'est toujours le cas dans Ubuntu 17.10. Dû faire un sudo apt-get purge modemmanageravant a sudo usermod -a -G dialout $USEReu l'effet désiré.
Stéphane
95

Le périphérique est probablement lié au groupe d'utilisateurs dialout. Ajoutez simplement votre utilisateur au groupe de connexion afin de disposer des autorisations appropriées sur le périphérique.

sudo usermod -a -G dialout $USER

(Vous devrez peut-être vous déconnecter puis vous reconnecter pour que le nouveau groupe prenne effet.)

Pas besoin de perdre son temps avec des permissions ou des règles udev.

Rinzwind
la source
3
Je me connecte pour voter. La solution la plus propre.
Yildirimyigit
1
@ tom-hennen Je suppose que vous devriez d'abord l'ajouter sous forme de commentaire plutôt que de le modifier directement.
MadMike
2
Cela ne marche pas pour Debian
Mike
1
Félicitations pour avoir inclus "peut-être besoin de vous déconnecter et de revenir".
Rob Stoecklein
1
Dans Ubuntu (je suis sur 18.04), la déconnexion / connexion ne fonctionne pas. nous devons redémarrer après avoir fait usermod.
Sujay Phadke
7
sudo adduser <the user you want to add> dialout
sudo reboot

Mentionné par "Essayez maintenant" a fonctionné pour moi. Vérifiez que vous avez dialoutcomme groupe pour ttyUSB0:

ls -l /dev/ttyUSB0

dans mon cas la sortie est:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0
utilisateur130451
la source
dans Linux Mint 18 Cinnamon J'obtiens cette erreur en appelant 'ls -l / dev / ttyUSB0' ls: impossible d'accéder à '/ dev / ttyUSB0': aucun fichier ou répertoire de ce type
flyingdrifter
2

Cela a fonctionné pour moi. Appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Quand il s'ouvre, lancez la commande ci-dessous.

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

Essayez maintenant.

utilisateur88742
la source
2

Comme rapporté par Rinzwind , commencez par taper:

sudo usermod -a -G dialout $USER

Mais ce n’est qu’une partie de la solution, car vous devez ensuite redémarrer le système:

sudo reboot
lboz
la source
6
1) S'il vous plaît ne postez pas de commentaires comme réponses. 2) pas besoin de redémarrer; déconnectez-vous puis
reconnectez
Je devais redémarrer pour que cela fonctionne. Une fermeture de session n'a pas propagé le changement.
user1182988
2

J'ai essayé les deux

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

Et sudo chmod 666 /dev/ttyUSB0(travaillé mais a dû taper à nouveau la commande)

J'ai également supprimé le gestionnaire de mode, mais je n'ai pas vraiment aidé. Par conséquent, la meilleure commande qui a fonctionné pour moi était

sudo usermod -a -G dialout $USER
Salah Amean
la source
0

Sur Ubuntu 18.04, je devais me joindre au groupe tty.

La sortie de la commande minicom m'a laissé entendre:

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
Laurent
la source
0

Sur Ubuntu 18.04:

  1. sudo adduser <user> dialout
  2. Un redémarrage complet , pour quelque raison que ce soit, une simple déconnexion / connexion n'est pas suffisant ( rapport de bogue. ).
Eero Aaltonen
la source
-1

J'ai eu ce problème avec / dev / ttyS0 dans Mint Rosa. L'ajout de l'utilisateur au groupe de connexion est obligatoire, mais dans mon cas, l'accès au périphérique était limité et j'ai dû le développer pour permettre également à r / w d'accéder au niveau du groupe.

LesA
la source
1
Bienvenue sur Ask Ubuntu! Je recommande de modifier cette réponse pour la développer avec des détails spécifiques sur la manière de procéder. (Voir aussi Comment rédiger une bonne réponse? Pour des conseils généraux sur les types de réponses considérés comme les plus utiles sur Ask Ubuntu.)
David Foerster
-4

accédez au dossier / etc / et modifiez le fichier de groupe, ajoutez votre nom d'utilisateur de la manière suivante dialout:x:20:USER

a travaillé parfaitement pour moi :)

Fléau
la source
4
Il est généralement considéré comme une mauvaise pratique d’éditer ces fichiers directement car de simples erreurs peuvent entraîner une perte d’accès.
papillotement