디렉토리에서만 재귀 chmod를 수행하려면 어떻게해야합니까? Centos 4의

Centos 4의 트리에 대한 권한을 변경하여 디렉토리에서 모든 디렉토리에 대한 실행 권한을 반복적으로 추가하고 싶습니다. 일반 chmod를 사용하면 디렉토리 이외의 파일도 수정됩니다.

chmod -R o+x /my/path/here

디렉토리에만 영향을 줄 수있는 방법은 무엇입니까?



답변

실행 find-type d( 디렉토리 와) -exec수행하는 주요 chmod폴더에 만 :

find /your/path/here -type d -exec chmod o+x {} \;

원하는 객체에서만 수행되도록하려면 find /your/path/here -type d먼저 실행하면됩니다 . 찾은 디렉토리를 인쇄합니다.


답변

Wikipedia의 명령 행 예제-chmod 를 참조하십시오 .

chmod -R a-x+X directory    remove the execute permission on all files in
                            a directory tree, while allowing for directory browsing.

Daniel이 추가 한 것처럼 : 이것은 귀하의 경우에 작동해야합니다.

chmod -R o+X directory

답변

find /home/mydir -type d | xargs chmod ugo+rx

이것은 위의 find -exec가 아닌 CentOS6에서 작동합니다. 기본적으로 디렉토리 목록을 xargs 명령으로 파이프하여 chmod로 보냅니다. 그런 다음 chmod는 디렉토리에서 범용 읽기 및 실행 (검색)을 설정합니다. 가정에서 사용하는 모든 사용자에 대해 이렇게하려면 sudo :

sudo sh -c "find /home/ -type d | xargs chmod ugo+rx"