웹 루트에서 어떤 파일 권한을 설정해야합니까?


53

Ubuntu Server 10.10을 사용하고로 Nginx 웹 서버를 설치했습니다 apt-get install nginx. 기본 웹 페이지를 작성 /var/www/nginx-default/하고 해당 디렉토리에 권한이 drwxr-xr-x 2 root root있습니다.

기본 사이트에 액세스 http://localhost/하면 페이지에이 메시지가 표시 403 Forbidden됩니다.

웹 페이지에 안전하게 액세스하려면 www 루트에서 파일 권한을 어떻게 설정해야합니까? 아니면 내가 바꿔야 할 것이 있습니까?


참고 : 전체 전체 경로 최종 폴더에 액세스 할 수 있어야! 중간에 하나의 폴더조차 없습니다.
Lucio

답변:


33

나는 일반적으로 내 웹 루트에서 755(또는 rwxr-xr-x)를 고수 하지만 디렉토리가 이미 설정되어 있기 때문에 이것이 당신이 겪고있는 문제라고 생각하지 않습니다. nginx디렉토리에 액세스 할 수 있어야합니다. 그러면 질문은 액세스하려는 파일의 권한 (또는 존재)이됩니다. 사용자 nginx가 실행중인 디렉토리에서 파일을 읽을 수 있어야합니다 . 나는 보통이 파일들을 755(디렉토리와 같은)로 설정 한 채로 둔다 . 을 수행하여 전체 디렉토리를 변경할 수 있습니다 sudo chmod -R 755 /var/www/nginx-default/.

그러나 디렉토리에 색인 파일이없는 경우에도 여전히 동일한 오류가 발생합니다. 색인 파일은 디렉토리 목록이 활성화되지 않은 디렉토리를 요청할 때 사용됩니다. 가장 일반적인 색인 파일은 index.html입니다. 이 기본값은 다음과 같이 설정에서 편집 할 수 있습니다.

location / {
    index index.php;
}

당신이 원하는 경우에 nginx당신을 위해 그 디렉토리에있는 파일의 목록을 생성, 단순히 켜 디렉토리 인덱싱 , 그래서 같은 :

location  /  {
  autoindex  on;
}

해당 index.html디렉토리에 없습니다.
Jonas

그렇다면 어떤 권한이 index.html있습니까?
Jack M.

고맙게도, 확인 파일이 실제로 가리키고 /var/www/생성 된 파일 index.html에 배치 /var/www/nginx-default/되었으므로 cp /var/www/nginx-default/index.html /var/www/웹 브라우저로 사이트를 방문 할 수 있는 파일을 복사해야했습니다 .
Jonas

56

웹 루트 그룹을 www-datanginx에서 사용하는 사용자 및 php5-fpm으로 변경하는 것이 좋습니다 .

예를 들면 다음과 같습니다.

sudo chown -R "$USER":www-data /webdirectory
sudo chmod -R 0755 /webdirectory

여기서 my-user는 자신의 계정입니다 (sudo없이 웹 루트에 파일을 쉽게 넣을 수있게합니다).


고맙게도 명령은 아무런 문제없이 실행되었지만 403 Forbidden웹 브라우저 에서 명령을 사용할 때 여전히 얻 습니다.
Jonas

@Jonas, nginx 오류 로그를 확인하여 문제가 무엇인지 확인하십시오.
Peter Smit

감사합니다. 오류를 발견했습니다. 오류 로그에있었습니다. Jacks 답변에 대한 내 의견을 참조하십시오.
Jonas

3
새 파일은 어떻습니까?
mcont

@MatteoContrini 사용 chmod 2755 webdirectory/그들이 동일한 권한과 권리에 저장되도록
rhand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.