我希望能够在 CodeDeploy 上设置“部署”用户,而不是以 root 身份执行所有操作。是否可以?
最佳答案
除了 CodeDeploy 服务或代理的 root 用户之外,没有任何选项可以以任何其他用户身份运行。安装软件通常需要 root 权限,并且至少需要像其他用户通常那样运行进程。
如果您想限制代理的有效权限,您可能需要研究 SElinux。您可以使用 SElinux 来限制主机代理可执行文件的访问。如果您选择一般使用 SElinux,则主机代理能够设置文件上下文。
毕竟,如果您确实想以其他用户身份运行 CodeDeploy 代理,请尝试以下操作:
- 正常安装主机代理。
- 停止主机代理。
- 删除更新程序 cron 选项卡文件,以便它不会以 root 身份重新启动代理。您必须手动检查并更新代理,因为所有出售的版本都假设您要以 root 身份运行。
- 将
/opt/codedeploy-agent/
中所有内容的所有权更改为您想要运行的用户。 - 运行
/opt/codedeploy-agent/bin/codedeploy-agent start
。
您还需要确保您不会尝试在应用程序规范中指定以用户身份运行或文件权限,因为代理可能无法执行这些操作,但它无论如何都会尝试这样做。
关于amazon-web-services - 我可以设置 AWS CodeDeploy 的用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29106835/