ubuntu16.04中永久修改 USB 设备权限

前端之家收集整理的这篇文章主要介绍了ubuntu16.04中永久修改 USB 设备权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


最近使用 USB转串口比较多,但是发展每次使用的时候都需要 手动修改一下 ttyUSB 读写权限,  电脑重启后就无效了



古寻找一种可以永久更改USB权限的办法:


1,查看USB转串口端口号

dmesg | grep ttyS*




2, 查看ttyUSB0的权限

 ls -al /dev/ttyUSB0


当然你还可以手动用chmod命令改变 USB 设备的权限,但是手动的权限改变只是暂时的。USB 设备会在下次重启时恢复它的默认权限。


3,作为一个永久的方式,需要创建一个基于 udev 的 USB 权限规则,它可以根据你的选择分配任何权限模式。

首先,你需要找出 USB 设备的 vendorID 和 productID。使用lsusb命令。

lsusb -vvv



USB0的:



USB1的:



上面lsusb输出中,找出你的 USB 设备,并找出"idVendor"和"idProduct"字段,创建一个新的udev规




重新加载 udev 规则,然后重启电脑:

 sudo  udevadm control --reload



附: udev 规则的匹配键:

键          含义

----------------------------------------

ACTION      事件(uevent)的行为,例如:add(添加设备)、remove(删除设备)。

KERNEL      在内核里看到的设备名字,比如sd*表示任意SCSI磁盘设备

DEVPATH      内核设备录进,比如/devices/*

SUBSYSTEM   子系统名字,例如:sda的子系统为block。

BUS        总线的名字,比如IDE,USB

DRIVER      设备驱动的名字,比如ide-cdrom

ID          独立于内核名字的设备名字

SYSFS{ value}    sysfs属性值,他可以表示任意

ENV{ key}     环境变量,可以表示任意

PROGRAM     可执行的外部程序,如果程序返回0值,该键则认为为真(true)

RESULT      上一个PROGRAM@R_403_231@的标准输出

NAME       根据这个规则创建的设备文件文件名。

          注意:仅仅第一行的NAME描述是有效的,后面的均忽略。

         如果你想使用使用两个以上的名字来访问一个设备的话,可以考虑SYMLINK键。

SYMLINK     为/dev/下的设备文件产生符号链接。由于udev只能为某个设备产生一个设备文件

          所以为了不覆盖系统默认的udev规则所产生的文件,推荐使用符号链接

OWNER     设备文件的属组

GROUP      设备文件所在的组。

MODE       设备文件的权限,采用8进制

RUN       为设备而执行的程序列表

LABEL      在配置文件里为内部控制而采用的名字标签(下下面的GOTO服务)

GOTO       跳到匹配的规则(通过LABEL来标识),有点类似程序语言中的GOTO

IMPORT{ type}    导入一个文件或者一个程序执行后而生成的规则集到当前文件

WAIT_FOR_SYSFS等待一个特定的设备文件的创建。主要是用作时序和依赖问题。

PTIONS      特定的选项:

last_rule       对这类设备终端规则执行;

ignore_device     忽略当前规则;

ignore_remove     忽略接下来的并移走请求。

all_partitions      为所有的磁盘分区创建设备文件




参考:https://linux.cn/article-6449-1.html?utm_source=weixin

   http://blog.csdn.net/u013776495/article/details/50978993

原文链接:/ubuntu/351959.html

猜你在找的Ubuntu相关文章