내 chmod가 예상대로 작동하지 않는 이유는 무엇입니까? [복사]

내 chmod가 예상대로 작동하지 않는 이유는 무엇입니까? [복사]

폴더 권한을 555로, 파일 권한을 554로 설정하고 싶어서 다음을 시도했습니다 chmod.

sudo chmod -R -v ug=rx,o=r,a+X mydir/

user이렇게 하면 및 권한이 및 권한 group으로 설정 될 것이라고 생각했는데 폴더 만 해당 권한을 받게 되므로 파일은 그대로 유지됩니다 .r-xothersr--a+Xr-xothersr--

x이전 에 어디에도 권한이 없는지 확인하기 위해 모든 폴더와 파일을 444로 설정했지만 이것은 작동하지 않습니다. 모든 파일과 폴더를 555로 설정합니다.

chmod명령이 예상대로 작동하지 않는 이유는 무엇입니까?

답변1

알았어 답을 찾았어위키피디아에서:

옵션 을 설명하는 경우 X:

...현재 권한에 관계없이 디렉터리에 실행 권한을 적용하고 이미 가지고 있는 파일에는 실행 권한을 적용합니다.하나 이상의 실행 권한 비트가 설정되었습니다.(소유자, 그룹 또는 기타)...

다른 사용자가 이미 이 권한을 가지고 있는 경우 누군가가 모든 사용자(소유자, 그룹 또는 기타)에게 권한을 적용하려는 이유를 정말로 이해하지 못합니다 x. 즉, 그렇다면 others실행 권한을 부여하지만 누군가가 그것을 보았습니다. owner이것이 최선의 기본 동작이고 그것이 작동하는 방식입니다. 생각해 보십시오.

코드를 다음과 같이 변경했습니다.

chmod -R ugo=r,a+X,ug+x

순서가 중요하므로 이제 예상대로 작동합니다.

관련 정보