¿Cómo permito el acceso no root a / ttyUSB0?


35

Desde que actualicé de 10.04 a 12.04, no puedo acceder al dispositivo conectado en / ttyUSB0 si no tengo acceso de root. Para ser más específico, utilizo un convertidor de puerto com de USB a serie para acceder y configurar el equipo de Cisco con un software llamado Putty. Sucede que, desde que actualicé a 12.04, Puttysolo veo el dispositivo conectado cuando lo ejecuto como gksudo putty. Si no, dice "no se puede conectar al puerto / ttyUSB0". Me las arreglé para cambiar los permisos a través de chmod 666, y funciona, pero si desconecto el usb y vuelvo a conectar, solo vuelve a la raíz. ¿Cómo permito permanentemente el acceso no root? Tengo una idea de que podría ser a través de las reglas de udev, pero no tengo idea de cómo hacerlo.

obs. Fabricante y conductores "PROLIFIC"

Respuestas:


10

Es posible que esto esté relacionado con modemmanager , como se detalla aquí .

Eliminé eso ( sudo apt-get remove modemmanager) y solucionó mi problema.

Sin embargo, aún debes estar en el dialoutgrupo.


1
¿Qué pasa si no puedo eliminar modemmanager? Tengo un amigo que tiene un módem 3G, y parece que no puede eliminar el modemmanager por eso. ¿Cómo puede acceder / ttyUSB0 en 12.04 sin root, pero sin eliminar modemmanager?
Leonardo Montenegro

¿Puedes intentar deteniéndolo? sudo stop modemmanagerFuncionó para mi.
Aleks

Han pasado algunos años, pero este sigue siendo el caso en Ubuntu 17.10. Tenía que hacer un sudo apt-get purge modemmanagerantes sudo usermod -a -G dialout $USERtenía el efecto deseado.
Stéphane

95

Lo más probable es que el dispositivo esté conectado al grupo de usuarios dialout. Simplemente agregue su usuario al grupo de marcado para que tenga los permisos apropiados en el dispositivo.

sudo usermod -a -G dialout $USER

(Es posible que deba cerrar sesión y volver a iniciar sesión para que el nuevo grupo surta efecto).

No es necesario perder el tiempo con los permisos o las reglas de udev.


3
Me inscribo para votar. La solución más limpia.
yildirimyigit

1
@ tom-hennen Supongo que deberías agregarlo primero como un comentario en lugar de editarlo directamente.
MadMike

2
Esto no funciona para Debian
Mike

1
Felicitaciones por incluir "puede que tenga que cerrar sesión y volver a iniciar sesión".
Rob Stoecklein

1
En Ubuntu (estoy en 18.04), cerrar sesión / iniciar sesión no funciona. Tenemos que reiniciar después de hacer usermod.
Sujay Phadke

7
sudo adduser <the user you want to add> dialout
sudo reboot

Mencionado por "Probar ahora" funcionó para mí. Comprueba que tienes dialoutcomo grupo para ttyUSB0:

ls -l /dev/ttyUSB0

en mi caso el resultado es:

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

en Linux Mint 18 Cinnamon me sale este error cuando llamo 'ls -l / dev / ttyUSB0' ls: no se puede acceder '/ dev / ttyUSB0': No existe tal archivo o directorio
flyingdrifter

2

Esto funcionó para mí. Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute el siguiente comando.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Probar ahora.


2

Según lo informado por Rinzwind , comience escribiendo:

sudo usermod -a -G dialout $USER

Pero eso es solo una parte de la solución, ya que debe reiniciar el sistema:

sudo reboot

66
1) No publique comentarios como respuestas. 2) No es necesario reiniciar; acaba de cerrar la sesión y volver a iniciarla.
gertvdijk

Tuve que reiniciar para que esto funcione. Un cierre de sesión no propagó el cambio.
user1182988

2

Probé ambos

sudo usermod -a -G dialout $USER #(worked perfectly)

Y sudo chmod 666 /dev/ttyUSB0(funcionó pero tuve que volver a escribir el comando)

También eliminé el administrador de modo, pero realmente no ayudó. Por lo tanto, el mejor comando que funcionó para mí fue

sudo usermod -a -G dialout $USER

0

En Ubuntu 18.04 tuve que agregarme al grupo tty.

Me dio a entender la salida del comando minicom:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty

0

En Ubuntu 18.04:

  1. sudo adduser <user> dialout
  2. Reinicio completo , por alguna razón el simple cierre de sesión / inicio de sesión no es suficiente ( informe de error ).

-1

Tuve este problema con / dev / ttyS0 en Mint Rosa. Se requiere agregar al usuario al grupo de marcado, pero en mi caso el acceso al dispositivo estaba restringido y tuve que expandirlo para dar acceso r / w al nivel del grupo también.


1
Bienvenido a Ask Ubuntu! Recomiendo editar esta respuesta para expandirla con detalles específicos sobre cómo hacerlo. (Consulte también ¿Cómo escribo una buena respuesta? Para obtener consejos generales sobre qué tipos de respuestas se consideran más valiosas en Ask Ubuntu.)
David Foerster,

-4

navegue a la carpeta / etc / y edite el archivo de grupo agregue su nombre de usuario como este dialout:x:20:USER

funcionó perfecto para mí :)


44
Generalmente se considera una mala práctica editar estos archivos directamente, ya que algunos errores simples pueden causar la pérdida de acceso.
flickerfly
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.