우분투 20.04
fifo 파이프는 사용자의 bash 스크립트를 통해 생성됩니다 A
.[[ ! -p $fifopath ]] && mkfifo $fifopath -m0777
이렇게 하면 다음이 생성됩니다.prwxrwxrwx 1 A A 0 May 25 00:40 /tmp/somefifo
그런 다음 사용자가 B
FIFO에 쓰려고 하면 권한이 거부됩니다. fifo의 그룹을 사용자 B
의 그룹 으로 변경해도 권한이 여전히 거부됩니다. 소유자를 FIFO로 변경하거나 FIFO에 쓸 수 있는 경우에만 B
가능 합니다 root
.B
18.04 업데이트 후 문제
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
이번 패치(우분투 19.10에 도입되었을 수도 있나요?):
전역적으로 쓰기 가능한 고정 디렉터리에서 사용자가 소유하지 않은 FIFO 또는 일반 파일을 여는 것은 소유자가 디렉터리의 소유자와 동일하거나 파일이 O_CREAT 플래그 없이 열리지 않는 한 금지됩니다.
비활성화하기 위해 다음 단계를 수행했습니다.자세한 내용은 여기:
/etc/sysctl.d/protect-links.conf
콘텐츠를 사용하여 생성:fs.protected_fifos = 0
그런 다음 procps를 다시 시작하십시오.
sudo systemctl restart procps.service