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"