ubuntu串口权限修改

一、确认串口设备名称

首先,我们需要确认串口设备的名称。在Ubuntu系统中,串口设备通常位于/dev/ttyS*/dev/ttyUSB*目录下。通过以下命令可以查看系统中的串口设备名称:
ls /dev/ttyS*


ls /dev/ttyUSB*

根据命令输出结果,我们可以确定串口设备的名称,例如/dev/ttyS0/dev/ttyUSB0

二、修改串口权限

在Ubuntu系统中,串口设备的权限通常由dialout组管理。为了确保普通用户能够访问串口设备,我们可以选择以下两种方法修改串口权限:

方法一:临时修改权限

通过chmod命令,我们可以临时修改串口设备的权限,使其对所有用户开放。例如,要赋予所有用户对/dev/ttyUSB0设备的读写权限,可以使用以下命令:
sudo chmod a+rw /dev/ttyUSB0

这种方法适用于临时测试或调试场景,但需要注意,重启系统后权限设置会失效。

方法二:永久修改权限(推荐)

为了永久修改串口权限,我们可以将当前用户添加到dialout组中。这样,属于dialout组的用户将能够访问所有由该组管理的串口设备。以下是具体步骤:
添加用户到dialout组
使用sudo adduser命令将当前用户添加到dialout组。例如,要将当前用户(假设用户名为yourusername)添加到dialout组,可以使用以下命令:
或者,使用sudo usermod命令,通过-aG选项将用户添加到dialout组:
其中,-a选项表示追加用户到附加组,而不是替换原有附加组;-G选项后面跟要添加的组名。
验证用户组添加是否成功
使用groups命令查看当前用户所属的用户组,确认是否已包含dialout组:
重启系统或重新登录
为了使更改生效,用户需要注销并重新登录,或者重启系统。之后,属于dialout组的用户将能够访问所有由该组管理的串口设备。
sudo adduser yourusername dialout

sudo usermod -aG dialout yourusername

groups yourusername

三、通过udev规则修改权限(高级)

对于需要管理多个串口设备或希望实现更精细权限控制的场景,可以通过编写udev规则来修改串口权限。以下是具体步骤:
创建udev规则文件
/etc/udev/rules.d/目录下创建一个新的规则文件,例如70-ttyusb.rules
添加规则内容
在文件中添加一行规则,指定串口设备的访问权限。例如,要为所有以ttyUSB开头的串口设备设置0666权限(即对所有用户开放读写权限),可以添加以下行:
保存并关闭文件
保存规则文件并关闭编辑器。之后,udev将自动应用这些规则,修改相应串口设备的权限。
sudo gedit /etc/udev/rules.d/70-ttyusb.rules

KERNEL==“ttyUSB[0-9]*”, MODE=“0666”

11-13 01:14