현재 이 폴더에 액세스할 수 있는 권한이 없습니다.

현재 이 폴더에 액세스할 수 있는 권한이 없습니다.

다음 코드를 사용하여 기존 구성 요소 폴더의 html 파일만 포함된 빌드 폴더에 폴더(이름: 구성 요소)를 빌드하려고 합니다.

find components -iname "*.html" -exec rsync -R {} ./build/ ';'

구성요소 폴더 빌드

완벽하게 실행되고 구성 요소가 빌드 폴더에 빌드되지만 구성 요소 폴더에 액세스하면 다음 오류가 발생합니다.

에러 발생됨

폴더에 대한 액세스 권한을 반복적으로 부여할 필요가 없도록 영구적인 솔루션을 찾고 있습니다.

지정된 코드에 추가하여 폴더를 자동으로 인증할 수 있습니다.

답변1

rsync복사된 파일/디렉터리의 속성을 보존하는 것이 목적인 많은 옵션이 있습니다 . 소스 파일에 원하는 권한이 있다고 가정하면 권한 보존 플래그( --perms또는 -p)를 사용하세요.

소스 파일에 필요한 권한이 없으면 이 --chmod플래그를 사용하여 대상 파일/디렉토리에 대한 권한을 원하는 대로 설정할 수 있습니다. 이렇게 하려면 --perms.chmod 플래그도 chmod(1)명령과 유사한 인수를 사용하지만 디렉터리나 파일에 대해서만 권한을 지정할 수 있도록 확장해야 합니다. 예를 들어, 소유자에게만 파일에 대한 쓰기 권한을 부여합니다: rsync --perms --chmod Fu+w. (적어도) 디렉토리에 대한 실행 권한이 없는 것 같으므로 --chmod D+x초보자를 시도해 볼 수 있습니다.

(복사한 파일의 소유자가 올바르게 설정되었다고 가정합니다. 그렇지 않은 경우 --chown=USER:GROUP사용 가능한 플래그가 있습니다.)

참고: 저는 귀하가 제공한 제한된 정보로 작업하고 있습니다. 위에서 알아낼 수 없는 경우 ls -la대상 디렉터리 중 하나에 대해 실행하고 결과를 질문에 게시하세요.

관련 정보