폴더 권한 문제

폴더 권한 문제

현재 Ubuntu 14 Linux 서버를 실행하고 있습니다. 이 서버는 내 웹사이트의 부동산 이미지에 대한 CDN 역할을 합니다. PHP 이미지 배치 스크립트를 재생성하는 스크립트를 생성하기 위해 upstart를 사용했습니다. 이미지 배치 스크립트와 모든 것이 잘 실행되고 있습니다. 데이터베이스에 연결하고, 새 속성을 선택하고, 이미지용 디렉터리를 만들고, 예상대로 이미지를 다운로드합니다.

내가 겪고 있는 문제는 PHP 파일이 기본적으로 루트에 의해 호출되기 때문에(서비스로 실행되기 때문에) 생성된 모든 새 이미지 디렉터리는 내 ApacheUser:ApacheGroup이 아닌 루트에 의해 소유된다는 것입니다.

가장 큰 문제는 어떤 이유로 이미지 다운로드가 중간에 중지되고 모든 이미지를 가져오지 못하는 경우 폴더가 루트 Apache가 아닌 루트에 소유되어 있기 때문에 돌아가서 나머지 이미지를 다운로드할 수 없다는 것입니다. 사용자.

내가 이미 수행한 작업:

  1. chown -R $user:www-data /var/www/images.domain.com/
  2. chmod g+s /var/www/images.domain.com
  3. setfacl -Rdm d:www-data:rx /var/www/images.domain.com/

내가 가진 모든 것에서 스크립트로 생성된 모든 새 파일/폴더가 내 Apache 사용자 및 그룹의 소유가 되어야 합니다.

그러나 내가 아는 한 그것은 사실이 아니다. /var/www/images.domain.com 아래의 폴더에 모든 유형의 파일을 업로드하면 해당 파일은 FTP 사용자가 소유하고 그룹도 FTP 사용자로 설정됩니다. 내 FTP 사용자 및 그룹은 기본적으로 Apache와 동일합니다.

기본적으로 루트로 실행될 수 있는 스크립트의 경우에도 기본적으로 /var/www/images.domain.com 디렉토리 아래의 모든 파일/폴더를 $user:www-data가 소유하게 되기를 원합니다.

답변1

좋아요 그래서 나는 내 문제를 해결했다고 생각합니다.

Upstart 스크립트를 사용하여 PHP 스크립트를 트리거하고 재생성하는 경우 Upstart 스크립트에 다음을 추가하여 특정 사용자/그룹으로 실행할 수 있습니다.

setuid $user setgid $group

여기서 $user 및 $group은 스크립트를 실행하려는 특정 사용자 및 그룹의 이름입니다.

이제 내 이미지 디렉토리가 적절한 소유권으로 생성되고 있습니다.

관련 정보