偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.
全部博文(1748)
分类: Android平台
2015-07-01 09:06:10
许多USB硬件第一次插入新电脑时,经常会出现读写权限的问题,提示为
/dev/bus/usb/001/00*: Permission denied
导致这一问题的原因就是设备所属用户和用户组为root而非当前的普通用户。
使用以下命令:
ls -all /dev/bus/usb/001
可以查看用户和用户组
crw-rw-r--
crw-rw-r--
在此可以发现,设备端口001的用户和用户组都为root。
解决方案通常为两种:
1. 读写权限修改:
对于有些硬件,由于每次连接时的端口号都不一样,所以以上方法不适用。
2. 端口分配
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=“user",GROUP="user"
保存后退出。 此文件需要sudoer privilege.
重新插入usb设备,并查看用户组和所属用户:
ls -all /dev/bus/usb/001
crw-rw-r--
crw-rw-r--
这样usb设备001就创建在user的用户和用户组里了。
从新试验读写功能,用户将在普通权限下读写该usb设备。