如何允许非root用户访问/ ttyUSB0?


35

因为我从10.04更新到12.04,所以如果我没有root用户访问权限,则无法访问/ ttyUSB0中连接的设备。更具体地说,我使用USB到串行com端口转换器通过名为的软件访问和配置Cisco设备Putty。碰巧,由于我升级到12.04,Putty所以当我以方式运行该设备时,只会看到已连接的设备gksudo putty。如果不是,则显示“无法连接到端口/ ttyUSB0”。我设法通过chmod 666更改了权限,并且可以使用,但是如果我断开USB并重新连接,则它只能返回到root用户。如何永久允许非root用户访问?我有一个线索,可能是通过udev规则,但是我不知道该怎么做。

肥胖 制造商和驱动程序“ PROLIFIC”

Answers:


10

这是可能的,这是关系到modemmanager这里详述

我删除了(sudo apt-get remove modemmanager),从而解决了我的问题。

您仍然需要加入dialout小组。


1
如果我无法删除modemmanager,该怎么办?我有一个拥有3G调制解调器的朋友,因此他似乎无法删除Modemmanager。他如何在没有root的情况下但不删除modemmanager的情况下访问12.04上的/ ttyUSB0?
莱昂纳多·蒙特内哥罗

您可以尝试停止吗?sudo stop modemmanager它为我工作。
Aleks 2014年

已经过了几年,但是在Ubuntu 17.10中仍然如此。不得不做sudo apt-get purge modemmanager之前sudo usermod -a -G dialout $USER有预期的效果。
斯特凡

95

该设备很可能已连接到用户组dialout。只需将您的用户添加到拨出组中,即可对设备拥有适当的权限。

sudo usermod -a -G dialout $USER

(您可能需要注销并重新登录,以使新组生效。)

无需弄乱权限或udev规则。


3
我登录以投票。最干净的解决方案。
yildirimyigit

1
@ tom-hennen我想您应该首先将其添加为注释,而不是直接对其进行编辑。
MadMike 2014年

2
这不适用于Debian
Mike

1
包括“可能需要注销并重新登录”的荣誉。
Rob Stoecklein

1
在Ubuntu(我使用18.04)中,注销/登录不起作用。我们必须在执行usermod之后重新启动。
Sujay Phadke

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

提到“立即尝试”为我工作。检查您是否dialout属于ttyUSB0

ls -l /dev/ttyUSB0

在我的情况下,输出为:

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

在Linux Mint 18 Cinnamon中,当我调用'ls -l / dev / ttyUSB0'时遇到此错误:ls无法访问'/ dev / ttyUSB0':没有这样的文件或目录
flyingdrifter

2

这对我有用。只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令。

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

现在试试。


2

根据Rinzwind的报道,首先输入:

sudo usermod -a -G dialout $USER

但这只是解决方案的一部分,因为您必须重新引导系统:

sudo reboot

6
1)请不要发表评论作为答案。2)无需重启;只是注销并重新登录。
gertvdijk

我必须重新启动才能使其正常工作。注销未传播更改。
user1182988

2

我都尝试过

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

sudo chmod 666 /dev/ttyUSB0(工作,但必须再次键入命令)

我也删除了模式管理器,但并没有真正帮助。因此,最适合我的命令是

sudo usermod -a -G dialout $USER

0

在Ubuntu 18.04上,我必须将自己添加到tty组。

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


-1

我在Mint Rosa中用/ dev / ttyS0遇到了这个问题。将用户添加到拨出组是必需的,但是在我的情况下,设备访问受到限制,因此我不得不扩展它以将r / w访问权限也授予组级别。


1
欢迎来到Ask Ubuntu!我建议编辑此答案以将其扩展为有关如何执行此操作的特定详细信息。(另请参阅“我如何编写一个好的答案?”,以获取有关在Ask Ask Ubuntu上认为哪种答案最有价值的一般建议。)
David Foerster

-4

导航到/ etc /文件夹并编辑组文件,添加用户名,如下所示 dialout:x:20:USER

对我来说很完美:)


4
直接编辑这些文件通常被认为是不好的做法,因为一些简单的错误可能会导致访问权限丢失。
flickerfly 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.