启动时更改 /dev/tty* 权限

启动时更改 /dev/tty* 权限

我的解决方案(RaspberryPi 上的 ArchLinux ARM)要求非特权用户必须有权访问该/dev/ttyAMA0端口。在最终实现中,用户将自动登录并启动启动脚本,但这与主题无关。

问题在于/dev/ttyAMA0端口(由 root:tty 拥有)具有 0620 权限,尽管非特权用户被放入 tty 组,但文件权限并没有赋予他读取权限,这还不够好。

在这个线程中我被告知我应该使用/etc/tmpfiles.d功能来修复权限。但是,添加一行 /etc/tmpfiles.d/solution.conf 文件

F /dev/ttyAMA0 0660 root tty

不会改变任何事情。也许我没有正确使用 tmpfiles.d 功能。

答案1

事实证明,这个问题是 RaspberryPi 特有的,因为/dev/ttyAMA0默认情况下链接到硬件 GPIO 引脚的串行端口已初始化为虚拟控制台访问。

我必须删除对/dev/ttyAMA0in 的任何引用/boot/cmdline.txt,重新启动,/dev/ttyAMA0现在具有适当的组权限(读+写),但是现在的组名称是uucp。当然,将我的用户放入该组中没有什么问题。

如果我想更改所有权/dev/ttyAMA0或权限,可以通过编辑/usr/lib/udev/rules.d目录中的规则文件来完成。

相关内容