我的解决方案(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/ttyAMA0
in 的任何引用/boot/cmdline.txt
,重新启动,/dev/ttyAMA0
现在具有适当的组权限(读+写),但是现在的组名称是uucp
。当然,将我的用户放入该组中没有什么问题。
如果我想更改所有权/dev/ttyAMA0
或权限,可以通过编辑/usr/lib/udev/rules.d
目录中的规则文件来完成。