openSuse, linux, chmod는 링크의 권한을 변경합니다.

openSuse, linux, chmod는 링크의 권한을 변경합니다.

링크의 권한을 변경하려고 합니다. "기타" 엔터티에 읽기 권한만 부여하고 싶지만 명령을 실행하면 권한이 변경되지 않습니다. 제가 잘못하고 있는 것이 있나요? 아니면 링크의 권한을 변경하는 다른 방법이 있나요?

linux-gn77:~ # ls -l /usr/bin/startup.sh
lrwxrwxrwx 1 root dev 31 May  3 20:33 /usr/bin/startup.sh -> /usr/lib   /tomcat7/bin/startup.sh
linux-gn77:~ # chmod 770 /usr/bin/startup.sh
linux-gn77:~ # ls -l /usr/bin/startup.sh
lrwxrwxrwx 1 root dev 31 May  3 20:33 /usr/bin/startup.sh -> /usr/lib/tomcat7/bin/startup.sh
linux-gn77:~ # chmod o=r /usr/bin/startup.sh
linux-gn77:~ # ls -l /usr/bin/startup.sh
lrwxrwxrwx 1 root dev 31 May  3 20:33 /usr/bin/startup.sh -> /usr/lib/tomcat7/bin/startup.sh
linux-gn77:~ # chmod o-r /usr/bin/startup.sh
linux-gn77:~ # ls -l /usr/bin/startup.sh
lrwxrwxrwx 1 root dev 31 May  3 20:33 /usr/bin/startup.sh -> /usr/lib/tomcat7/bin/startup.sh

이를 달성하는 방법을 알려주십시오. 감사해요

답변1

링크의 권한은 변경할 수 없습니다. 대상의 권한을 변경해야 합니다. 이에 대한 문서는 다음과 같습니다 man 2 symlink.

   The permissions of a symbolic link are  irrelevant;  the  ownership  is
   ignored  when following the link, but is checked when removal or renam‐
   ing of the link is requested and the link is in a  directory  with  the
   sticky bit (S_ISVTX) set.

따라서 원하는 것을 달성하려면 실행해야 합니다.

 chmod 770 /usr/lib/tomcat7/bin/startup.sh

관련 정보