56 votes

Comment puis-je permettre l'accès non-root à /ttyUSB0 ?

Depuis que j'ai mis à jour d'Ubuntu 10.04 (Lucid Lynx) à Ubuntu 12.04 (Precise Pangolin), je ne peux pas accéder au périphérique connecté en /ttyUSB0 si je n'ai pas les droits root.

Pour être plus précis, j'utilise un convertisseur de port com USB vers série pour accéder et configurer des équipements Cisco avec un logiciel appelé PuTTY. Il se trouve qu'à partir de la mise à jour vers 12.04, PuTTY ne voit le périphérique connecté que lorsque je le lance en tant que gksudo putty. Sinon, il affiche "impossible de se connecter au port /ttyUSB0".

J'ai réussi à modifier les permissions via chmod 666, et cela fonctionne, mais si je débranche le périphérique USB et le reconnecte, cela revient en mode root uniquement. Comment puis-je autoriser un accès sans les droits root de manière permanente? J'ai un indice que cela pourrait passer par des règles udev, mais je n'ai aucune idée de comment faire.

Remarque : Le fabricant et les pilotes sont "PROLIFIC"

130voto

Rinzwind Points 270388

Le périphérique est probablement attaché au groupe d'utilisateurs dialout. Il suffit d'ajouter votre utilisateur au groupe dialout pour disposer des permissions appropriées sur le périphérique.

sudo usermod -a -G dialout $USER

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

Plus besoin de manipuler les permissions ou les règles udev.

13voto

Ed. Points 146

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

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

Vous devez toujours être dans le groupe dialout cependant.

12voto

Mizage Points 21
sudo adduser  dialout
sudo reboot

La mention de "Try maintenant" a fonctionné pour moi. Vérifiez que vous avez le groupe dialout pour ttyUSB0:

ls -l /dev/ttyUSB0

dans mon cas, la sortie est la suivante :

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

3voto

user88742 Points 31

Cela a fonctionné pour moi. Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir le Terminal. Lorsqu'il s'ouvre, exécutez la commande ci-dessous.

sudo adduser  dialout
sudo reboot
id -Gn

Essayez maintenant.

3voto

Dor Points 31

Comme signalé par Rinzwind, commencez par taper :

sudo usermod -a -G dialout $USER

Mais cela ne représente qu'une partie de la solution, car vous devez ensuite redémarrer le système :

sudo reboot

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X