我正在使用 Consul Template 项目,该项目负责将多个模板文件渲染到磁盘上的各个位置。这就提出了一个挑战,即如何在不以 root 身份运行 Consul 模板进程的情况下最好地管理目标文件的权限和所有权。
例如,consul-template 需要渲染模板字符串的内容并将其写入 /etc/default/ 等位置。它确实可以选择在渲染模板后执行命令,因此我可以写入 /tmp 然后执行 a sudo mv
,但是 sudoers 文件中允许这样做的合理设置是什么?
我正在使用配置管理构建服务器,并且在构建时知道所有目标文件,因此我可以在此时更改目标的所有权,但该过程还会在渲染期间创建位于目标目录中的临时文件,这使事情变得复杂一点点。
如果有人处理过类似的情况,需要向非 root 进程授予广泛的写入权限,并且有一个他们满意的解决方案,我将不胜感激。预先感谢您的帮助。
答案1
因此,在深入研究之后,我发现了 Linux ACL 系统,并且能够通过安装软件包acl
然后运行setfacl -m u:<username>:rwx /etc/default
.