Ubuntu使用ttyS*(如mincom)时不需root权限的方法

本文介绍如何在Ubuntu中通过添加用户到dialout组来获取对串口设备的访问权限,以及在RHEL4及更高版本中通过编辑/etc/security/console.perms文件来设置串口设备权限的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu:

其实只要很简单的一步,就能够实现非root权限就能访问/dev/ttyS*设备了。

  首先我们来看看为什么普通账户会没有权限访问ttyS设备了:

ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64  8月 30 21:53 /dev/ttyS0

  从上面的输出,我们很容易看出来,ttyS设备的用户主是root,而所属的组是dialout,并且owner和group都是有相同的rw权限的,但others是没有任何权限的。

  使用groups命令,我们就明了了:我们在安装Ubuntu时,安装时使用的账户并不会默认加入dialout组,因此该用户就没有权限可以访问ttyS设备了。

  解决方法也非常简单:

sudo usermod -a -G dialout user_name

  这样,重启系统后,用户“user_name”就会加入dialout组了,之后我们就能自由自在地访问ttyS设备了,enjoy yourself!


RHEL 4 以上版本串口权限设置
在RHEL3包括3以下版本串口设备/dev/ttyS*的权限可以root用户
更改比如: chmod 0666 /dev/ttyS0, 更改后重启设备/dev/ttyS0不变,
但在4以上版本,做以上修改后,重启机器后设备/dev/ttyS0权限将改回
原来的0660, 为了解决以上问题,需做如下配置:
在 /etc/security/console.perms 文件里增加如下两行
<COMn>=/dev/ttyS*
<console> 0666 <COMn> 0666 root.uucp
若需设置单个设备则可将ttyS* 改为 ttyS0等。
完成后重启系统,然后查看设备权限,你会发现已经按你的要求设置
初始权限了!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值