Configurar permisos para /dev/ttyUSB0

Configurar permisos para /dev/ttyUSB0

Estoy intentando comunicarme con un Arduino desde Ubuntu 12.04. Al conectar el cable USB, el puerto serie del arduino aparece como /dev/ttyUSB0. Cuando intento conectarme usandomoserial, aparece el error "No se pudo abrir el dispositivo /dev/ttyUSB0", pero no cuando iniciomoserialusandosudo. ¿Qué tengo que configurar para que el dispositivo serie sea accesible como usuario normal no root?

Respuesta1

Tienes varias opciones:

Asignación automática de ACL

Lo más probable es que tenga systemd-logind o ConsoleKit ejecutándose en Ubuntu, que pueden configurar automáticamente las ACL en los nodos del dispositivo según la cuenta de usuario que haya iniciado sesión actualmente en la consola. Estas ACL otorgan acceso adicional a los permisos habituales y se pueden ver usando getfacl.

Para usar esto, agregue lo siguiente a /etc/udev/rules.d/60-extra-acl.rules1 :

KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess"

( 1 Sí, cree el archivo. No existe de forma predeterminada; todo el directorio es para personalizaciones del administrador).

Acceso basado en grupos

Los dispositivos tty generalmente son legibles/escribibles por un usuario específico.grupocomo "dialout" o "uucp". Agréguese a ese grupo para obtener acceso atodopuertos seriales:

# gpasswd -a YourUsername dialout

No olvide cerrar sesión e iniciar sesión nuevamente para que se apliquen los cambios del grupo.

Cambios de permiso o propiedad

Las reglas de udev similares a las anteriores también se pueden usar para configurar el propietario y el grupo "principal", así como los permisos (que es como se configuró el grupo predeterminado en primer lugar). Por ejemplo:

     KERNEL=="ttyUSB[0-9]*", OWNER="YourUsername"
or:  KERNEL=="ttyUSB[0-9]*", GROUP="users", MODE="0660"
or:  KERNEL=="ttyUSB[0-9]*", MODE="0666"

Puede asignar parámetros de PROPIETARIO, GRUPO y MODO.

Cambio manual temporal

Para hacer ununa vezcambie, simplemente use chmody/o chowncomo lo haría normalmente.

     # chown YourUsername /dev/ttyUSB0
or:  # chmod a+rw /dev/ttyUSB0

información relacionada