2009-12-25 5 views
0

나는 스크립트를하고 난 리눅스 환경에서 사용자의 홈 디렉토리에 접근하고 싶습니다.PHP를 액세스하는 홈 디렉토리는

웹 루트 :의/var/www/html/ 와 같은 사용자 디렉토리가 있습니다 :/홈/존 /홈/데이비드 등

사용자 홈 디렉토리에있는 파일이 있습니다. 사용자 주택의 권한은 사용자에게 속합니다. 예 : /home/david/file.txt 사용자 : david 그룹 : david

이 파일에 액세스 할 수 있습니까? 나는

방법이 주위에 있는가, 그렇지 때문에 권한의이야 같은데요?

즉, /var/www/html/index.php에서 내 PHP 프로그램은 /home/david/foo.txt

방법이 작업이 완료 내가 얻을 수있는 아래의 파일을 acccess 수 있습니까? 감사.

답변

2

가장 좋은 방법은 사용자가 pub 디렉토리에 특정 필요한 파일을 넣은 다음 해당 디렉토리 chmod 777을 넣는 것입니다.

홈 디렉토리의 임의의 파일에 액세스하려면 아파치를 루트로 실행해야합니다. 즉, 보안 위험이 있습니다. (홈 디렉토리의 권한을 변경할 수는 있지만 내 경험상 많은 프로그램을 엉망으로 만들 수 있습니다.)

+1

그는 또한 개별 파일에 777을 설정하고 * 액세스가있는 경우 등 변경 그룹없이 – dusoft

+2

를 액세스 할 수 있습니다 * 당신은 * 644이 충분하다, * 읽고 의미 - 필요가 아파치가 해당 파일에 쓸 수 없습니다. 또한 파일에 대한 모든 디렉토리에 최소한 월드 실행 권한 (711)이 있는지 확인하십시오. – Wim

+0

둘 다 좋은 지적입니다. –

0

아마도 이러한 것들에 관해서 약간 편집증이 있지만 제 의견에는 뭔가가 있습니다. 여기 개념적으로 잘못 :

스크립트가, 그가 웹에 노출되어 사용자의 홈 디렉토리에 대한 액세스 권한을 부여해서는 안됩니다. 그 이유 중 하나는 웹 서버가 손상되어 홈 디렉토리의 파일이 웹 서버에 액세스 할 수있는 모든 사람에게 노출 될 수 있다는 것입니다. 또 다른 이유는 홈 디렉토리에있는 파일이 사용자가 최소한 다른 개인/사적인 파일을 다른 사용자가 사용할 수 없도록 유지하는 장소라고 생각합니다. 그렇지 않으면 공개 디렉토리에 배치했을 것입니다. 내가 사용 사례가 무엇인지 확실하지 오전하지만

, 나는 아파치가 첫 번째 장소에서 다른 사용자의 홈 디렉토리에 대한 액세스를 필요로하지 않는 경우는 다른 개념을 사용하는 것이 더 좋을 수도 좋습니다.

관련 문제