저는 Ubuntu Lucid에서 Trusty로 마이그레이션 할 웹 응용 프로그램이 있습니다. 응용 프로그램은 유닉스 도메인 소켓을 통해 Nginx와 통신합니다 (000
의 umask로 생성됨). Lucid에서는이 설정에 아무런 문제가 없었습니다. 명쾌한에Ubuntu Lucid와 Trusty 사이의 Unix 도메인 소켓 권한
: :이 참조
*51 connect() to unix:/opt/run/skyhook/skyhook.socket failed (13: Permission denied) while connecting to upstream, client
두 서버 모두에 대한 사용 권한을 검사 : 그러나, 트러스티에, 동일한 사용 권한 설정을 사용하여, Nginx에 나에게 다음과 같은 오류를 제공
$ sudo ls -lh /opt/run/skyhook/skyhook.socket
srwxrwxrwx 1 skyhook skyhook 0 2014-08-21 17:09 /opt/run/skyhook/skyhook.socket
$ sudo sudo -u www-data ls -lh /opt/run/skyhook/skyhook.socket
srwxrwxrwx 1 skyhook skyhook 0 2014-08-21 17:09 /opt/run/skyhook/skyhook.socket
신뢰할 수있는 경우 :
두 서버 모두 동일한 사용 권한입니다. Nginx는 우분투에서 www 데이터로 실행됩니다. 777
권한을 사용하면 www- 데이터가 소켓과 상호 작용할 수는 있지만 예상 할 수는 없습니다. 무슨 일 이니?
UPDATE :
/opt/run/skyhook
의 권한 명쾌한하고 신뢰할 수 모두에서 동일합니다
/opt/run
를 들어
$ sudo ls -lhd /opt/run/skyhook
drwxrwx--- 2 skyhook skyhook 4.0K Nov 4 15:36 /opt/run/skyhook
. 명쾌한에 : 믿을에
$ sudo ls -lhd /opt/run/
drwxrwxr-x 4 www-data www-data 4.0K 2014-01-27 18:11 /opt/run/
: /opt
모두 들어
$ sudo ls -lhd /opt/run/
drwxr-xr-x 4 root root 4.0K Nov 4 09:33 /opt/run/
은 동일합니다 :
$ sudo ls -lhd /opt/
drwxr-xr-x 7 root root 4.0K 2013-06-07 17:15 /opt/
그러나, 나는 상위 디렉토리를 벗어나는 조상이 영향을 표시되지 않습니다 이?
'/ opt/run/skyhook /'에 대한 사용 권한은 무엇입니까? 'www-data'가 접근 권한을 가지고 있습니까? – Kevin
비슷하게,'/ opt/run'과'/ opt' 자체. – twalberg
상위 디렉터리 사용 권한을 반영하도록 질문을 업데이트했습니다. –