Accès refusé à /dev/ttyUSB0 sous Linux Mint / Ubuntu
Lorsqu’on souhaite configurer un équipement Cisco en passant par le port console et que l’on ne dispose pas de port série sur sa machine, il faut faire appel à un adaptateur USB-Série qui supporte la norme RS232.
Normalement les distributions Linux actuelles reconnaissent sans aucun souci l’adaptateur… Lorsqu’il est pluggé un nouveau périphérique doit apparaître dans « /dev »… dans mon cas il se nomme « ttyUSB0 », voici l’extrait de la commande « ls -al /dev »:
crw-rw---- 1 root dialout 188, 0 aoû 28 09:52 ttyUSB0
En regardant de plus près un souci peut apparaître. Le périphérique est installé mais seul le root et les utilisateurs du groupe dialout ont accès en lecture/écriture.
Au lancement de la session sur /dev/ttyUSB0 j’obtenais un message d’erreur disant que /dev/ttyUSB0 était introuvable … message qui n’est en fait pas symptomatique du problème.
La commande « tail /dev/ttyUSB0 » donnait le résultat « Permission Denied » … voilà donc où se situait le souci …
Afin de corriger cela, il faut ajouter une règle au service « udev » qui se charge du chargement des périphériques afin qu’il mette d’autres permissions.
Pour cela il suffit de créer un nouveau fichier de règles dans « /etc/udev/rules.d » qui doit avoir un nom se terminant en « .rules ».
J’ai donc créé le fichier « /etc/udev/rules.d/10-usbserial.rules » dans lequel j’ai ajouté la règle suivante:
KERNEL=="ttyUSB0", GROUP="dialout", MODE="0666"
quand UDEV chargera le périphérique ttyUSB0, il l’associera au groupe dialout (comme à l’origine) mais il lui attribuera les permissions de lecture et écriture à tout le monde.
Il suffit ensuite de recharger les règles du service udev:
user@workstation$ sudo udevadm control --reload-rules
Dés lors, lorsque l’adaptateur est pluggé ses permissions sont définies en lecture/écriture pour le root, pour le groupe dialout ainsi que pour tous les utilisateurs.
crw-rw-rw- 1 root dialout 188, 0 aoû 28 09:52 ttyUSB0
Notez que dans le fichier de règles, il faut adapter le nom du périphérique KERNEL= »xxx » ainsi que le nom du groupe (il doit exister).
Bonjour,
Confronté à ce même problème, j’ai choisi une autre solution : ajouter votre utilisateur au groupe dialout
~ $ sudo usermod -a -G dialout VOTREUSER
[sudo] password for VOTREUSER:
~ $
Fermer votre session en cours et reconnectez vous
Ça devrait fonctionner
Cordialement,
Merci beaucoup pour cette astuces, je commençais à me tirer les cheveux sur ce problème !
Astuce sympa pour les utilisateurs d’Ubuntu comme moi. J’avais rencontré un problème différent en utilisant un adaptateur USB-Serie.
Je dois mettre ma distribution à jour très prochainement, peut être que cette astuce me sera utile.
Merci Steve.