自从我从 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
答案4
这对我来说很管用。只需按下键盘上的Ctrl+ Alt+T即可打开终端。打开后,运行以下命令。
sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn
现在试试。