有读取串口的特定功能吗?

时间:2018-08-31 21:11:37

标签: linux serial-port capability

我想从连接到USB的GPS读取数据,系统将其视为串行设备。我不想使用chmod u+ssudo,而不会给流程仅提供执行此操作所需的最低功能。

为了测试,我使用了cat命令:

sudo cat /dev/ttyACM0

这可行,但是我可以赋予cat特定的读取串行端口的能力吗?

我尝试了setcap cap_sys_rawio+pcap_sys_tty_config+p,但没有成功。 我的想法是为二进制文件提供执行其任务所需的最低权限。

1 个答案:

答案 0 :(得分:1)

通常ttys属于一个类似于dialup的组。这主要用于旧的cu程序。

您可以使用(而且我愿意)做的一件事就是将自己包含在dialup组中,因为您会看到未使用的ttys对其拥有者和所属组具有写许可权。

测试时不要忘记注销并重新登录,因为要获得属于您的组列表中的dialup组的组ID,需要通过login(1)程序。

注意

在我的系统(FreeBSD 11.x)上,gps属于组operator,而我(我的帐户)属于该组。我可以打开gps(带有伪终端的伪终端的蓝牙设备)

在Linux中,我使用/dev/rfcomm0(蓝牙)串行设备。在debian中,/dev/ttyS0[0-3]属于dialout组。您可以使用该组。