
내 프로젝트에 있는 모든 파일과 디렉터리의 권한을 반복적으로 변경하려고 합니다.
나는 찾았다magento 포럼에 게시다음 명령을 사용할 수 있다고 말합니다.
find ./ -type f | xargs chmod 644
find ./ -type d | xargs chmod 755
chmod -Rf 777 var
chmod -Rf 777 media
.find ./ -type d | xargs chmod 755
이 명령은 find ./ -type f
많은 파일을 반환 chmod: access to 'fileXY.html' not possible: file or directory not found
했지만 find ./ -type f | xargs chmod 644
.
이 문제를 어떻게 해결할 수 있나요?
PS: 그가 내 var 및 media 폴더에 대해 보안 위험이 있는 777 권한을 사용하도록 권장했다는 것을 알고 있지만, 또 무엇을 사용해야 합니까?
답변1
xargs
이름에 문자가 포함되어 파일이 분리되는 파일이 실행되고 있는 것 같습니다 .예를 들어공백. 이 문제를 해결하려면 적절한 옵션(GNU 변형에서 시작되었으며 POSIX에서 지정되지 않음)의 버전을 사용하고 find
있으며 xargs
해당 옵션을 지원한다고 가정하면 대신 다음 명령을 사용해야 합니다.
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
아니면 더 나은,
chmod -R a-x,a=rX,u+w .
이는 더 짧고, 하나의 프로세스만 사용하며,POSIXchmod
(보다이 답변자세한 내용은).
귀하의 질문은 다소 광범위 media
합니다 var
. 특정 답변에 관심이 있다면 디렉토리 사용에 대한 자세한 정보가 포함된 별도의 질문으로 질문하는 것이 좋습니다.
답변2
어떻습니까:
find ./ -type d -exec chmod 755 {} +
이것은 파일 이름의 개행 문자까지 처리하는 정식 이식 가능한 솔루션입니다.