多个守护程序应用程序想要访问相同的 TLS 证书(或链,或私有)密钥。
- NGINX 想要访问 /etc/letsencrypt/live/example.org/privkey.pem
- 阿帕奇也是如此。
- 和绑定。
- 还有我最喜欢的 [sftdyn] Github 包。
他们都使用不同的 GID 和组名运行他们的守护进程。
我尝试以安全的方式保护私钥,但通过以下各种方法(以及后来被取消的一些方法)在不同的守护进程(拥有自己的 GID)之间共享它:
将文件权限设置为“荣耀之光”
chmod a+rwx。这被否决了,因为它向整个文件系统揭示了秘密 privkey.pem 文件。创建一个新组
keys并将nginx,apache,named(或bind)和sftdyngroup 添加到keys/etc/group 中的组(或使用adduser nginx keys)。keys在 PEM 文件上使用新组。然后用 .cap 限制 PEM 文件的权限chmod 0640。使用
setfacl.
2 或 3 中哪一个最适合解决这个棘手的问题?