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).

3 Comments on “Accès refusé à /dev/ttyUSB0 sous Linux Mint / Ubuntu

  1. 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,

  2. 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.