그룹 멤버십을 통해 PTY에 액세스할 수 있지만 심볼릭 링크를 통해서는 액세스할 수 없습니까?

그룹 멤버십을 통해 PTY에 액세스할 수 있지만 심볼릭 링크를 통해서는 액세스할 수 없습니까?

직렬 포트와 통신하도록 설계된 프로그램과 상호 작용하는 Linux 응용 프로그램을 설정하고 있습니다. 이상한 점은 내가 소유자 사용자( klipper)라면 심볼릭 링크를 통해 pty에 접근할 수 있지만, 소유자 사용자가 아니면 다른 사용자( octoprint)가 pty의 소유자 그룹에 속해 있어도 pty에 접근할 수 없다는 점이다. .

문맥상 심볼릭 링크는 에 있고 /tmp/printerpty는 에 있습니다 /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

관련 정보