파일에 영향을주지 않고 재귀 적으로 chmod 디렉토리를 적용하는 방법은 무엇입니까?


18

chmod -R디렉토리에 적용한 후 모든 파일 (파일 및 디렉토리)에 대한 권한이 변경됩니다. x파일을 수정하지 않고 디렉토리 에 실행 / 검색 ( ) 권한을 추가하려면 어떻게 해야합니까?

답변:


13

find 를 사용할 있습니다.

find ./ -type d -execdir chmod 750 {} +

여기서 750은 적용 할 모드이고 "./"는 재귀 적으로 검색 할 디렉토리입니다.

편집 : @Gilles 및 find (1) 덕분 에 추가 보안 및 성능을 위해이를 수정했습니다.


@Gilles 감사합니다. Unix 도구에 대해 새로운 것을 배우는 것은 너무 자주 발생하지 않습니다. :-) 대단합니다. 또한 찾기 문서를 읽으면 실제로 -execdir을 대신 사용해야합니다.
ewindisch

7

이 특별한 경우에는 일부 사용자 (예 :)에 대해 이미 실행 가능 비트가 설정된 디렉토리 나 파일에 비트 만 추가하는 X대신 사용할 수 있습니다 .xchmod -R +X my_dir

(예를 들어, 사용자가 파일에 영향을주지 않고 모든 디렉토리를 읽을 수 있도록 원하는 경우) 일반적으로, 수 중 하나를 사용하기 find-type d또는 zsh을 (또는과 bash는 4 사용하는 경우 shopt -s globstar)에 **/(통과하지 않고 모두 글로브을 -R플래그를 chmod).


@Gilles : 좋은 지적은 대답에 추가했습니다.
sepp2k

1
"일부 사용자에 대해 이미 실행 가능한 비트가 설정된 디렉토리 나 파일에만 비트를 추가하는 x 대신 X를 사용하십시오"-감사합니다! 나는 이것을 많이 놓쳤다!
Ivan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.