Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Since I updated from 10.04 to 12.04, I am unable to access the device connected in /ttyUSB0 if I don't have root access. To be more specific, I use a usb-to-serial com port converter to access and configure Cisco equipment with a software called Putty. It happens that, since I upgraded to 12.04, Putty only sees the connected device when I run it as gksudo putty. If not, it says "unable to connect to port /ttyUSB0". I have managed to change the permissions via chmod 666, and it works, but if I disconnect the usb and reconnect, it goes back to root only. How do I permanently allow non-root access? I have a clue it might be via udev rules, but I have no idea how to do it.

obs. Manufacturer and drivers "PROLIFIC"

share|improve this question
up vote 2 down vote accepted

It's possible this is related to modemmanager, as detailed here.

I removed that (sudo apt-get remove modemmanager) and it fixed my problem.

You still need to be in the dialout group though.

share|improve this answer
What if I can't remove modemmanager? I have a friend that has a 3G modem, and it seems he can't remove modemmanager because of that. How can he access /ttyUSB0 on 12.04 without root, but without removing modemmanager? – Leonardo Montenegro Jul 19 '13 at 12:22
You can try by stopping it? sudo stop modemmanager It worked for me. – Aleks Aug 12 '14 at 9:19

The device is most likely attached to user group dialout. Just add your user to the dialout group so you have appropriate permissions on the device.

sudo usermod -a -G dialout $USER

(You may need to logout and back in for the new group to take effect.)

No need to mess around with permissions or udev rules.

share|improve this answer
no success... still no acces to ttyUSB0 without root... any other ideas??? – yurividal May 11 '12 at 16:16
I sign in to upvote. The cleanest solution. – 0x5f3759df Apr 10 '13 at 10:15
Great, works fine for me.. thanks! sudo usermod -a -G dialout pier – lppier Sep 2 '14 at 2:51
@tom-hennen I guess you should add it first as a comment rather than edit it directly. – MadMike Oct 29 '14 at 13:33
I'll keep that in mind for the future. Thanks. – Tom Hennen Oct 29 '14 at 13:47
sudo adduser <the user you want to add> dialout
sudo reboot

Mentioned by "Try now" worked for me. Check that You have dialout as group for ttyUSB0:

ls -l /dev/ttyUSB0

in my case the output is:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0
share|improve this answer

This worked for me. Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command below.

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

Try now.

share|improve this answer

As reported by Rinzwind, start by typing:

sudo usermod -a -G dialout $USER

But that is only part of the solution, as then you must reboot the system:

sudo reboot
share|improve this answer
1) Please don't post comments as answers. 2) No need to reboot; just log out and log back in. – gertvdijk Sep 11 '14 at 12:07

I tried both

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

And sudo chmod 666 /dev/ttyUSB0 (worked but had to type the command again)

I also removed the mode manager but did not really help. Therefore, the best command that worked for me was

sudo usermod -a -G dialout $USER
share|improve this answer

navigate to /etc/ folder and edit the group file add your username like this dialout:x:20:USER

worked perfect for me :)

share|improve this answer
It is generally considered bad practice to edit these files directly as some simple mistakes can cause loss of access. – flickerfly Apr 10 '15 at 20:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.