2014-02-10 6 views
2

Windows 7의 VMware Workstation에 fedora 20을 설치했습니다. 을 yum install nginx을 통해 설치할 때까지는 아무 문제가 없습니다. 편집 nginx.conf (만 변경된 위치/루트)페도라 20 systemctl nginx 권한이 거부되었습니다.

location/{ 
     root /mnt/hgfs/www; 
     index index.html index.htm; 
    } 

후 나는 systemctl start nginx를 통해 nginx를 시작하려고합니다. Nginx는 활성 상태이지만 루트 폴더에 액세스 할 수 없습니다. 로그에 13: Permission denied라고 표시되어 있습니다. nginx는 폴더에 액세스 할 수있는 권한이 있습니다.

처음에는 HGFS로 인한 것일 수 있다고 생각했습니다. 문제가 해결 된 것보다 루트를 /usr/share/nginx/html (으)로 변경했습니다. 하지만이 폴더를 내 루트로 사용하지 않겠습니다.

mount /dev/sdb1 /www (ext4로 포맷 됨)을 통해 새 디스크를 마운트하려면 777을 설정하고 nginx.conf를 변경하십시오. 그런 다음 문제가 다시 나타납니다.

내가 systemctl을 지정하는 이유는 바로 sudo nginx에 의해 nginx를 실행하려고합니다. 모든 것이 완벽 해지고 오류가 나타나지 않습니다.

systemctl은 다른 파일 시스템에서 문제가 있습니까? 하지만 sdb1은 원래 파일 시스템과 동일한 형식입니다.

이 문제를 해결하려면 어떻게해야합니까?

+0

nginx 루트를'/'로 변경하려고합니다. 그러면 이상한 일이 일어납니다. 'sudo nginx' 명령으로 nginx를 실행하면 모든 폴더가 표시되지만'systemctl nginx start' 명령으로 nginx를 실행하면'/ root'/lost + found'/www'라는 세 개의 폴더가 사라집니다. 이 두 가지 방법의 차이점은 무엇입니까? –

+0

'/ mnt/hgfs/www'에 대한 사용 권한은 무엇입니까? 이 디렉토리를'nginx'로 볼 수 있는지 확인하십시오 : # sudo -u nginx ls -l/mnt/hgfs/www /' – pferate

+0

@pferate 네, 알 수 있습니다. 나는이 폴더를 표시하지 못하게하는 chroot와 같은 것이있을 것이라고 생각합니다. –

답변

1

SELinux는 다른 방법으로 권한을 관리하기 때문에 발생합니다.