Ubuntu系统中,如果要使用USB节点,必须获取使用权限,临时获取使用chmod 777 +节点路径即可。
sudo chmod 777 dev/bus/usb/005/002
但是每次关机权限就会恢复,如果是开发编程,使用这个方式获取权限太过复杂。
下面说一种永久获取权限的方式。
首先,在根目录下,使用lsusb指令查看usb的位置
可以看到拔插USB后,多了一个ID:0483:5760,位置在Bus001,Device047。
查看节点权限。
ls -all /dev/bus/usb/001
可以看到刚才的节点047,权限为root。
查看节点属性
udevadm info --attribute-walk --name=/dev/bus/usb/001/047
记住红色方框里的内容,下边需要用到。
添加roals规则。
sudo vim /etc/udev/rules.d/50-usb.rules
SUBSYSTEMS=="usb",ATTRS{idVendor}=="0483",ATTRS{idProduct}=="5760",MODE="0777",OWNER="jc",GROUP="jc"
其中SUBSYSTEM,ATTRS的属性通过上图写上对应的值,“==”表示匹配关系,匹配该节点信息,MODE赋值权限信息为777,OWNER和GROUP表示用户组,赋值给当前用户jc,这个根据自己用户名修改。
写完后保存退出。
sudo udevadm control --reload
输入指令重新加载,拔插usb设备,再次输入指令查看用户组
ls -all /dev/bus/usb/001
可以看到节点048(拔插导致节点变化,编号+1)的权限为jc,即当前用户组。
这样重启也可以继续保持USB的使用权限了。