我有一个Ubuntu 22.04环境。
我有一个运行 Web 服务器的 NodeJS 应用程序,需要访问证书才能启用 HTTPS。当我在 pm2(用户:brad)下运行该应用程序时,我收到EACCES:权限被拒绝,在此处打开“文件 url” 当我使用节点(cmd:node.)运行应用程序时,我没有收到此错误并且应用程序成功启动。
PM2 和 Node 都在同一用户 (brad) 下运行。我正在访问的文件受到保护(让加密证书的私钥),以便该组具有读取访问权限(用户 Brad 是该组的成员,该组称为“ssl”)。 chmod 740 应用于文件 (privkey1.pem),我引用 NodeJS 应用程序中的符号链接文件,该文件的权限开放给所有用户读取。
不确定为什么当 pm2 和 node 在同一用户下运行时 pm2 会遇到这样的困难。我缺少什么? pm2 有可能实际上在另一个用户下运行吗?我跑了辅助 | grep pm2也辅助 | grep 节点并且两者都显示在用户“brad”下运行