2014-01-30 4 views
0

"sudo apt-get install php5 php5-curl"명령을 사용하여 데비안, 아파치 및 PHP와 함께 설치되는 전용 서버가 있습니다."/ var/www"폴더에있는 모든 파일의 강제 소유자는 사용자 www- 데이터입니다

생성 된 모든 파일을 폴더에 강제로 저장할 수 있으며 하위 디렉토리는 항상 사용자 www-data입니까?

sftp에 로그인하여 FTP의 파일로 보내면 root로 로그인했기 때문에 항상 root로 로그인 할 수 있습니다. 예를 들어 파일을 보내려는 경우와 같이 변경할 수도 있습니다. 루트로 로그인 한 서버는 자신의 소유자 인 www-data입니까?

+0

사용자 www-data로 생성하려면 사용자 www-data 여야하지만 사실 후에는 chown -R www-data : www-data/files/xx/yy /'와 같은 명령을 실행할 수 있습니다. –

+0

감사합니다. :)이 명령은 여기에서 사용했는데, www 폴더에서 모든 파일을 재귀 적으로 변경합니다. 그러나 명령 할 때만 가능합니다. 원하는 것은 무엇인가입니다. 가능합니까? – D3F4ULT

답변

1

웹 서버가 소유 한 www-data에있는 모든 파일은 기본적으로 쓰기 권한이 있다고 가정하면 스크립트 또는 웹 서버 자체의 버그가 소스 코드 삽입으로 이어질 수 있으므로 위험합니다.

/var/www 아래의 파일은 특정 웹 응용 프로그램에 실제로 폴더에 대한 쓰기 액세스가 필요한 경우가 아니면 웹 서버 소유가 아니어야합니다.

심지어 공유 호스트 환경에서 특히 웹 서버 소유자가 이러한 디렉토리를 소유하는 것보다 더 나은 해결책이 있습니다. 다른 모든 PHP 스크립트 (웹 서버에서 시작됨)가 해당 디렉토리에 쓸 수 있기 때문입니다.

+0

"/ var/www 아래의 파일은 특정 웹 응용 프로그램에 실제로 폴더에 대한 쓰기 액세스가 필요하지 않으면 웹 서버 소유가 아니어야합니다." /var/www에있는 파일은 다음과 같아야합니다. 나는 항상 당신이 www- 데이터라는 것을 알았습니다. – D3F4ULT

+0

하나의 어플리케이션 서버라면 파일들은'root'에 의해 소유 될 수도 있습니다. 아니면'website_owner' (더 나은 것)와 같은 것일 수도 있습니다. – hek2mgl