![Apache에는 설치된 디렉터리에서 파일을 복사할 수 있는 권한이 없습니다.](https://linux55.com/image/88342/Apache%EC%97%90%EB%8A%94%20%EC%84%A4%EC%B9%98%EB%90%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B3%B5%EC%82%AC%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
서버의 내 애플리케이션은 sshfs 마운트 원격 디렉터리에서 로컬 디렉터리로 파일을 복사하려고 합니다. 애플리케이션 코드:
shutil.copy('/data/somdir/somefile.txt','/var/www/App/localfolder' )
/data의 권한은 다음과 같습니다.
drwxrwxrwx 1 1027 root 4096 May 6 10:16 data
따라서 Apache를 포함한 모든 사용자는 폴더에 액세스할 수 있어야 하지만 로그 파일에는 다음과 같은 내용이 표시됩니다.
IOError: [Errno 13] Permission denied
내 질문에 대한 일부 편집 및 업데이트:
SSHFS를 통해 마운트할 때 Allow_other를 설정했으며 소스 파일 경로의 모든 디렉터리에는 최소 755의 권한이 있습니다. 따라서 어떤 용도로든 이에 대한 읽기 액세스 권한을 가질 수 있습니다.
답변1
옵션을 사용하여 설치합니다 allow_other
.
이러한 권한에 의존하는 경우억지로 시키다, 옵션을 추가하세요 default_permissions
.