폴더 권한을 555로, 파일 권한을 554로 설정하고 싶어서 다음을 시도했습니다 chmod
.
sudo chmod -R -v ug=rx,o=r,a+X mydir/
user
이렇게 하면 및 권한이 및 권한 group
으로 설정 될 것이라고 생각했는데 폴더 만 해당 권한을 받게 되므로 파일은 그대로 유지됩니다 .r-x
others
r--
a+X
r-x
others
r--
x
이전 에 어디에도 권한이 없는지 확인하기 위해 모든 폴더와 파일을 444로 설정했지만 이것은 작동하지 않습니다. 모든 파일과 폴더를 555로 설정합니다.
이 chmod
명령이 예상대로 작동하지 않는 이유는 무엇입니까?
답변1
알았어 답을 찾았어위키피디아에서:
옵션 을 설명하는 경우 X
:
...현재 권한에 관계없이 디렉터리에 실행 권한을 적용하고 이미 가지고 있는 파일에는 실행 권한을 적용합니다.하나 이상의 실행 권한 비트가 설정되었습니다.(소유자, 그룹 또는 기타)...
다른 사용자가 이미 이 권한을 가지고 있는 경우 누군가가 모든 사용자(소유자, 그룹 또는 기타)에게 권한을 적용하려는 이유를 정말로 이해하지 못합니다 x
. 즉, 그렇다면 others
실행 권한을 부여하지만 누군가가 그것을 보았습니다. owner
이것이 최선의 기본 동작이고 그것이 작동하는 방식입니다. 생각해 보십시오.
코드를 다음과 같이 변경했습니다.
chmod -R ugo=r,a+X,ug+x
순서가 중요하므로 이제 예상대로 작동합니다.