현재 디렉터리의 모든 파일과 폴더에 대한 폴더 및 파일 권한을 재귀적으로 변경하는 방법은 무엇입니까? 이유는 모르겠지만 명령이 실패했습니다.
output: chmod: missing operand after '644./components/path/path/path'
내 명령은 다음과 같습니다
find . * -type d -exec chmod 755{} \;
사용자로서푸퉈폴더 권한을 755로 변경하고 싶다고 지적했습니다.
답변1
644 뒤에 공백이 없습니다.
또한 644는 원하는 디렉토리가 아닐 수도 있습니다. 아마 755를 원하실 겁니다.
아래 의견의 답변을 포함하도록 편집되었습니다.
디렉토리의 경우:
find . -type d -exec chmod 755 {} \;
파일의 경우:
find . -type f -exec chmod 644 {} \;
이 작업을 수행하는 다른(아마도 더 짧은) 방법이 있을 가능성이 높지만 이것이 효과가 있습니다.
답변2
또 다른 방법은 다음과 같습니다.
chmod -R u=rwX,g=rX,o=rX /path/to/dir
대문자 X는 조건부 실행입니다. 파일이 디렉터리인 경우 실행 비트를 추가하고 파일이 이미 실행 가능한 경우 실행 비트를 그대로 둡니다.
이는 디렉터리가 아닌 파일에 권한을 추가하지만. 이는 이러한 권한이 허용되는 경우 폴더에 대한 액세스를 빠르게 추가하는 데 적합합니다.