PTY 可通过组成员身份访问无法通过符号链接访问?

PTY 可通过组成员身份访问无法通过符号链接访问?

我正在设置一个 Linux 应用程序,该应用程序与旨在与串行端口通信的程序交互。奇怪的是,如果我是所有者用户 ( klipper),我可以通过符号链接访问 pty,但如果我不是所有者用户,我就不能访问 pty,即使其他用户 ( octoprint) 属于 pty 的所有者组。

对于上下文,符号链接是 at /tmp/printer,pty 是 at /dev/pts/1。 SELinux 未安装,安装选项为tmpfs on /tmp type tmpfs (rw,nosuid,nodev)

$ ls -l /tmp/printer
lrwxrwxrwx 1 klipper klipper 10 Oct 19 21:30 /tmp/printer -> /dev/pts/1

$ ls -l /dev/pts/1
crw-rw---- 1 klipper tty 136, 1 Oct 19 22:41 /dev/pts/1

$ groups klipper
network tty uucp klipper

$ sudo -u octoprint picocom /tmp/printer
<...>
FATAL: cannot open /tmp/printer: Permission denied

$ sudo -u octoprint picocom /dev/pts/1
<...>
Terminal ready

答案1

我相信这是由于通常设置在 上的粘性位造成的/tmp。如果您查看 的权限/tmp,您会发现最后一位是t这意味着访问 内部的符号链接/tmp仅限于它的所有者。您的解决方案可能是在另一个位置创建符号链接。

相关内容