概述
系统 Ubuntu 16.04 LTS
Linux下的设备使用都需要使用sudo或root用户才能打开,为了能让普通用户也能使用串口,有以下两种方法:
1、可以增加udev规则来实现,具体方法如下:
sudo vim /etc/udev/rules.d/70-ttyusb.rules
增加如下内容:KERNEL==”ttyUSB[0-9]*”,MODE=”0666”
保存,重新插入USB转串口,就可以了。
2、添加用户 (该方法未实践)
a.由于tty属于“dialout”组别,比如你的用户名是muyangren,
先命令查看下用户隶属的组别
groups muyangren
b.如果没有隶属“dialout”,那么把用户加入进去
sudo gpasswd –add muyangren dialout
c.logout 再登录系统激活功能
运行sudo gpasswd –add muyangren dialout
关于udev规则:
1、udev规则文件目录
/etc/udev/rules.d : 用户自定义的udev规则文件一般存放在这里
/lib/udev/rules.d : 系统自带的udev规则文件
2、udev主配置文件
/etc/udev/udev.conf : 在配置文件中查找规则文件所在目录,规则文件默认放在/etc/udev/rules.d/下。
3、udev规则文件命名
例如10-dm.rules,60-persistent-storage.rules,执行规则文件,是根据开头的数字大小,数字大小相等,
根据字母顺序执行,且后面的规则文件会覆盖前面的规则(‘NAME’动作除外,因为’NAME’只能操作一次,
后续NAME操作无用)。
4、部分规则
a.udev从头到尾逐行解析每个规则文件,每行代表一个规则,每个规则由若干”键-值”(key-value)对组成。
b.键分为两种:匹配键(match key)、赋值键(assignment key)。
c.每个规则必须至少有一个匹配键和一个赋值键。
d.每个规则一行,不可换行。
e.不可在一行规则中混合匹配两个不同父设备的属性。
f.创建的设备节点的mode默认值为0666
操作符 匹配或赋值 解释
---------------------------------
== 匹配 相等比较
!= 匹配 不等比较
= 赋值 分配一个特定的值给该键,他可以覆盖之前的赋值.
+= 赋值 追加特定的值给已经存在的键
:= 赋值 分配一个特定的值给该键,后面的规则不可能覆盖它.
键 含义
---------------------------------
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调用返回的标准输出.
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://www.douban.com/note/542148407/
http://blog.csdn.net/xiaoliu5396/article/details/46531893
最后
以上就是兴奋斑马为你收集整理的Udev规则及Linux下非root用户使用串口的权限设置的全部内容,希望文章能够帮你解决Udev规则及Linux下非root用户使用串口的权限设置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复