节点+ PM2 – 如何安全地读取非root用户的SSL私钥?

我正在寻找一种方法来通过PM2运行节点,同时读取放置在安全目录中的SSL私钥

详细信息:带节点的Bitnami LEMP堆栈

/ etc / ssl / private的权限:

drwx------ 2 root root 4096 private 

密钥文件的权限:

 -rw-r----- 1 root root 1704 my_key_file.key 

有了上面的权限,nginx和php都可以正常运行,而且没有任何问题(我猜这是因为nginx的进程是以root身份运行的),运行的节点也是sudo。

不过,我想以非root用户的身份运行这个节点代码,因为如果节点服务器受到危害,这样可以降低安全风险。

我在这里有什么select? 我理解它的方式就像这些选项:

  • 松开私钥文件夹/文件的权限(错误,涉及对/ etc / ssl / private的更改!)
  • 复制private_key并使其可读取,仅由运行pm2的安全用户读取(Bit messy,涉及跟踪复制文件的更新等)
  • 以root用户身份运行PM2 master ,然后以非root用户身份生成一个进程/实例(就像nginx的工作方式一样,不知道这是甚么可能)
  • 以root用户身份运行PM2,在以root身份执行某些操作之后,将代码更改为自己的特权级别(如此处所述 – 看起来有些杂乱,也可能存在安全风险)

任何forms的帮助,非常感谢! 谢谢