동일한 대상 디렉토리를 가리키는 두 개의 심볼릭 링크가 있습니다. ls
그 중 하나(잘못된 것)는 사용자 1001에 속하고 다른 하나는 루트에 속한다는 것을 보여줍니다. 1001(루트 포함)을 제외한 모든 사용자는 좋은 기호 링크를 사용하여 디렉토리를 나열할 수 있지만 나쁜 기호 링크는 사용할 수 없습니다.1001명의 사용자가 이들 중 하나를 사용할 수 있으며 모두 작동합니다.
# ls -ldn /opt
lrwxrwxrwx 1 0 0 12 Sep 27 12:54 good -> dir
lrwxrwxrwx 1 1001 100 12 Nov 7 2016 bad -> dir
drwxrwxr-x 9 1001 100 11 Jun 3 2016 dir
...
# id
uid=0(root) gid=0(root) groups=0(root)
# ls /opt/good
(directory entries...)
# ls /opt/bad
ls: cannot access /opt/bad: Permission denied
원인은 무엇일까요? 내 생각에는 Linux에서는 심볼릭 링크 자체의 권한이 중요하지 않다는 것입니다. 어떻게 해결할 수 있나요? 이 문제가 있는 모든 심볼릭 링크를 어떻게 찾을 수 있나요?
저는 커널 4.4.76 및 ZFS 0.6.5.9가 설치된 Debian Linux 시스템을 사용하고 있습니다. 이것은 커널 및/또는 ZFS의 버그입니까? 심볼릭 링크 자체에 대한 권한을 읽는 일부 손상된 Solaris 코드가 ZFS에 남아 있을 수 있습니까?
답변1
Solaris는 심볼릭 링크 권한에 관심이 없으므로 ZFS 코드가 원인일 수 있다고 생각합니다.
어쨌든 다음 해결 방법을 시도해 볼 수 있습니다.
chown -h 0:0 /opt/bad