어리석은 질문일 수도 있지만 심볼릭 링크는 어떻게 권한을 보존합니까?
$ls -ld /proc/1/exe
ls: cannot read symbolic link '/proc/1/exe': Permission denied
그래서 링크가 가리키는 것이 무엇인지 찾습니다 sudo
.
$sudo readlink -f /proc/1/exe
/usr/lib/systemd/systemd
$ls -ld /usr/lib/systemd #check if r+x for the dir to traverse it
drwxr-xr-x 14 root root 4.0K May 18 19:34 /usr/lib/systemd/ #yes I do
그래서 다른 사람에 대한 rx 권한이 있지만 /proc/1/exe
그렇지 않은 경우 심볼릭 링크를 사용하는 sudo
이유는 무엇입니까?
답변1
여기서 요구되는 것(전체가 아닌 디렉토리 내용(메타데이터)의 일부만 표시)을 달성하기 위한 "좋은"(즉, 모든 관련 표준을 준수하는) 방법은 없습니다.
그러나 요청하면 커널은 이 개체에 대한 권한이 없다고 알려줍니다.
$ test -r /proc/2072/exe ; echo $?
1
$ test -w /proc/2072/exe ; echo $?
1
$ test -x /proc/2072/exe ; echo $?
1