Ubuntu 22.04 환경이 있습니다.
HTTPS를 활성화하기 위해 액세스 인증서가 필요한 웹 서버를 실행하는 NodeJS 애플리케이션이 있습니다. pm2(사용자: brad)에서 애플리케이션을 실행하면 다음과 같은 메시지가 나타납니다.EACCES: 권한이 거부되었습니다. 여기서 '파일 URL'을 여세요. 노드(cmd: node.)를 사용하여 애플리케이션을 실행할 때 이 오류가 발생하지 않고 애플리케이션이 성공적으로 시작됩니다.
PM2와 Node는 모두 동일한 사용자(brad)로 실행됩니다. 내가 액세스하는 파일은 그룹이 읽기 액세스 권한을 갖도록 보호됩니다(인증서의 개인 키를 암호화). (사용자 Brad는 "ssl"이라고 하는 그룹의 구성원임) chmod 740은 파일(privkey1.pem)에 적용됩니다. 이 파일은 모든 사용자가 읽을 수 있는 권한이 있는 NodeJS 애플리케이션의 심볼릭 링크 파일을 참조합니다.
pm2와 노드가 동일한 사용자로 실행될 때 pm2가 왜 그렇게 어려운지 잘 모르겠습니다. 내가 무엇을 놓치고 있나요? pm2가 실제로 다른 사용자로 실행될 가능성이 있습니까? 나는 달렸다보조 | grep pm2또한보조 | grep 노드둘 다 사용자 "brad"로 실행되는 것으로 표시됩니다.