linux下一切皆文件,对USB设备的访问权限也通过挂载usb设备后生成的一个设备文件的权限管理。

查询usb设备的标识符

lsusb -vvv

记录:设备的idVendor,idProduct两个值(往往是16进制的0x标识方式,仅需记下下0x后的16进制数)
例如:
idVendor 0x1d50 OpenMoko, Inc.
idProduct 0x614e

udev规则

详情请见在 Linux 中如何编写基本的 udev 规则————linux.cn
udev 规则是定义在一个以 .rules 为扩展名的文件中。那些文件主要放在两个位置:/usr/lib/udev/rules.d,这个目录用于存
放系统安装的规则;/etc/udev/rules.d/ 这个目录是保留给自定义规则的。
定义那些规则的文件的命名惯例是使用一个数字作为前缀(比如,50-udev-default.rules),并且以它们在目录中的词汇顺序进行处理的。在/etc/udev/rules.d 中安装的文件,会覆盖安装在系统默认路径中的同名文件。

编写自定义udev规则文件。

了解基本命名规范后,以一个rtl的usb网卡为例:
nano /etc/udev/rules.d/49-usb-rtl-net.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", GROUP="users", MODE="0666"

显而易见的,GROUP决定了文件所属用户组,MODE决定了文件的具体权限。

计算文件权限

如果你是连这个也不想得学,那就爬去用UNIX/Linux CHMOD权限数值计算器

Linux 系统中采用三位十进制数表示权限,如0755, 0775.
ABCD
A- 0, 表示十进制
B-用户
C-组用户
D-其他用户

--- -> 0 (no excute , no write ,no read)
--x -> 1 excute, (no write, no read)
-w- -> 2 write
-wx -> 3 write, excute
r-- -> 4 read
r-x -> 5 read, excute
rw- -> 6 read, write ,
rwx -> 7 read, write , excute

标签: none

添加新评论