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é dans /ttyUSB0 si je n'ai pas accès en root.

Pour être plus précis, j'utilise un convertisseur de port USB en série pour accéder et configurer l'équipement Cisco avec un logiciel appelé PuTTY. Il se trouve que, depuis que j'ai mis à niveau vers 12.04, PuTTY ne voit le périphérique connecté que lorsque je le lance en tant que gksudo putty. Sinon, il indique "impossible de se connecter au port /ttyUSB0".

J'ai réussi à modifier les permissions via chmod 666, et ça fonctionne, mais si je débranche le périphérique USB et le rebranche, il revient en root seulement. Comment puis-je autoriser un accès non root de manière permanente ? J'ai une idée que cela pourrait se faire via des règles udev, mais je n'ai aucune idée de comment le faire.

Remarque : Le fabricant et les pilotes sont "PROLIFIC"

130voto

Rinzwind Points 270388

Le périphérique est très probablement attaché au groupe d'utilisateurs dialout. Ajoutez simplement votre utilisateur au groupe dialout pour disposer des autorisations 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.)

Pas besoin de s'embêter avec 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 supprimé 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

Mentionné par "Essayez maintenant" a fonctionné pour moi. Assurez-vous d'avoir le groupe dialout pour ttyUSB0:

ls -l /dev/ttyUSB0

dans mon cas, la sortie est :

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

3voto

user88742 Points 31

Cela a fonctionné pour moi. Il vous suffit d'appuyer 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 constitue 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