我如何允许非 root 访问 /ttyUSB0?

我如何允许非 root 访问 /ttyUSB0?

自从我从 Ubuntu 10.04(Lucid Lynx)更新到 Ubuntu 12.04(Precise Pangolin)后,如果我没有 root 权限,我就无法访问 /ttyUSB0 中连接的设备。

更具体地说,我使用 USB 转串行端口转换器来访问和配置思科设备,其软件名为油灰。碰巧的是,自从我升级到 12.04 以来,当我以 身份运行 PuTTY 时,它只能看到连接的设备gksudo putty。如果没有,它会显示“无法连接到端口 /ttyUSB0”。

我已设法通过 更改权限chmod 666,并且成功了,但如果我断开 USB 设备并重新连接,它会返回到仅限 root 权限。如何永久允许非 root 访问?我有一个线索,可能是通过udev规则,但我有不知道怎么做。

注意:制造商和司机都是“多产的”

答案1

该设备很可能已附属于用户组dialout

要找出设备所属的用户组:

stat /dev/ttyUSB0

这应该会产生类似

Gid: (   20/ dialout)

只需将您的用户添加到拨出组,这样您在设备上就拥有适当的权限。

sudo usermod -a -G dialout $USER

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

不需要处理权限或 udev 规则。

答案2

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

答案3

这可能与调制解调器管理器详细信息

我删除了那个(sudo apt-get remove modemmanager)并且它解决了我的问题。

dialout但你仍然需要加入该小组。

答案4

这对我来说很管用。只需按下键盘上的Ctrl+ Alt+T即可打开终端。打开后,运行以下命令。

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

现在试试。

相关内容