您的位置:首页 > 其它

Ubuntu下usb设备读写权限设置

2015-10-21 17:03 405 查看
许多USB硬件第一次插入新电脑时,经常会出现读写权限的问题,提示为

/dev/bus/usb/001/00*: Permission denied

导致这一问题的原因就是设备所属用户和用户组为root而非当前的普通用户。

使用以下命令:

ls -all /dev/bus/usb/001

可以查看用户和用户组

crw-rw-r-- 1 root root 189, 0 2015-10-21 17:49 001

crw-rw-r-- 1 root root 189, 1
2015-10-21 17:49 002

在此可以发现,设备端口001的用户和用户组都为root。

解决方案通常为两种:

1. 读写权限修改:

sudo chmod 666 /dev/bus/usb/001/00*

sudo chown user /dev/bus/usb/001/00*

sudo chogrp user /dev/bus/usb/001/00*

对于有些硬件,由于每次连接时的端口号都不一样,所以以上方法不适用。

2. 端口分配

(1) 首先用lsusb命令查看厂家编码和产品编码

Bus 003 Device 002: ID 413c:2003 Dell Computer Corp. Keyboard

Bus 001 Device 007: ID 0403:cb48 Future Technology Devices International, Ltd

Bus 001 Device 006: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

其中ID后面的就是我们需要的,以第一行为例,产品编码是2003,厂家代码是413c。

然后编辑/etc/udev/rules.d/70-persistent-usb.rules (这个文件可能不存在,可以自己创建。最开始的70可以改,根据自己电脑上的其他文件一致即可), 添加以下文字:

SYSFS{idProduct}=="2003",SYSFS{idVendor}=="413c",MODE="666",OWNER=“username",GROUP="groupname"

保存后退出。 此文件需要sudoer privilege.

重新插入usb设备,并查看用户组和所属用户:

ls -all /dev/bus/usb/001

crw-rw-r-- 1 user user 189, 0
2015-10-21 17:49 001

crw-rw-r-- 1 root root 189, 1
2015-10-21 17:49 002

这样usb设备001就创建在user的用户和用户组里了。

从新试验读写功能,用户将在普通权限下读写该usb设备。

-------------------------附:查看用户和组的方法

groups 查看当前登录用户的组内成员

groups gliethttp 查看gliethttp用户所在的组,以及组内成员

whoami 查看当前登录用户名

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

设置动态库(*.so)文件的运行环境:

1.Create path /home/ubuntu/lib;

2.Copy the dynamic library files (SO files) into the path;

3.在/etc/ld.so.conf中加入/home/ubuntu/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: