1

我想从连接到 USB 并被系统视为串行设备的 GPS 读取数据。我不想使用chmod u+snorsudo并且只为该过程提供最低限度的功能来做到这一点。

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

sudo cat /dev/ttyACM0

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

我试过了setcap cap_sys_rawio+pcap_sys_tty_config+p但没有成功。我的想法是赋予二进制文件完成其任务所需的最低权限。

4

1 回答 1

1

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

您可以使用的一件事(我也这样做)是将自己包含在dialup组中,因为您会看到未使用的 tty 对它们所属的所有者和组具有写权限。

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

笔记

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

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

于 2018-09-03T10:05:42.213 回答