chmod -R은 어떤 이유로 하위 폴더의 파일을 읽을 수 없게 만듭니다.


22

일부 WordPress 테마를 설정할 때 권한을 조정하고 실행 chmod 664 -R theme-dir/*하여 디렉토리 루트의 파일에서 제대로 작동했지만 하위 디렉토리의 모든 파일은 다음과 같이 읽습니다 ls -l.

?---------  ? ? ? ?            ? core_functions.php
?---------  ? ? ? ?            ? css
?---------  ? ? ? ?            ? custom_functions.php
?---------  ? ? ? ?            ? images
?---------  ? ? ? ?            ? import_settings.php
?---------  ? ? ? ?            ? js
?---------  ? ? ? ?            ? options_trim.php
?---------  ? ? ? ?            ? page_templates
?---------  ? ? ? ?            ? post_thumbnails_trim.php
?---------+ ? ? ? ?            ? shortcodes

하위 디렉토리로 CD를 넣을 수 없으며 삭제할 수도 없습니다. 나는 이런 것을 본 적이 없다.



1
실행chmod -R u+rwX,go+rX,go-w theme-dir/*
Dusan Bajic

@ dusan.bajic 감사합니다. 그래도 왜 처음에 그런 일이 있었는지 전혀 모른다.
Sal

5
@alexus 부패 없음, 단지 파마
병아리

나는 644 (혹은 무엇이든) 대 chmod를했을 때와 비슷한 것을 보았지만 실제로는 작업 시스템에서 다시 테스트하고 싶지는 않습니다.
Foon

답변:


49

디렉토리의 내용 (또는 파일 이름을 제외한 파일 메타 데이터)에 액세스하려면 디렉토리에 실행 비트 세트가 있어야합니다.

재귀 chmod가 해당 권한을 제거하여 해당 액세스 권한을 잃었습니다. 의 -R옵션을 chmod사용하는 경우 숫자 버전의 권한을 사용하지 않고 대신 원하는 상태를 예로 사용하여 실행하는 것이 좋습니다 chmod -R ug=rwX,o=rX. 대문자 X는 하나 이상의 x세트 가있는 디렉토리 또는 파일에서만 X 비트를 설정 함을 의미 합니다. 또한 u=rwX,go=rX실제로 그룹 사용자가 필요하지 않은 경우 644 ( ) 를 사용할 수 있습니다 .


6
X 디렉토리에 설정 X 의미 이미 일부 사용자에 대해 실행 권한이 파일 (당신이 원하는 보통이다)
tomclegg

1
@tomclegg : 그렇습니다. 나는 대답을 적절하게 업데이트했다. 그들이 진정한 디렉토리 특정 버전을 추가하지 않았거나 디렉토리에만이 변경 사항을 적용하는 사전 작업 편지 (u, g, o 또는 a와 같은)를 더 잘 추가 한 것은 이상한 것처럼 보입니다.
Kevin Cathcart

13

로부터 워드 프레스 문서 :

서버에 대한 쉘 액세스 권한이있는 경우 다음 명령을 사용하여 파일 권한을 재귀 적으로 변경할 수 있습니다.

디렉토리의 경우 :

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

파일의 경우 :

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

이 특정 문제에 대한 과잉이지만 다른 경우에 매우 유용합니다 :)
nurchi

1
보다 보안에 민감한 환경 (최근 Magento 및 Health Care Systems)에서 공급 업체와 오픈 소스 시스템은 위의 조건에 대한 세부적인 제어를 제공하고 파일 시스템을 세밀하게 제어 할 수 있기 때문에 파일 방법을 사용하는 것만 권장하고 있습니다. setuid, setgid 및 악명 높은 "sticky bit"의 적용. 이 유스 케이스에 대해 이것을 매핑하는 것이 더 많은 작업 일지 모르지만 베팅 답변은 항상 원하는 결과를 얻는 가장 안전한 방법입니다. 가능한 한 보안이 항상 기능 # 1이어야한다고 생각합니다.
Bryan 'BJ'Hoffpauir Jr.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.