gpt4 book ai didi

deployment - 普通用户的 Capistrano 部署

转载 作者:行者123 更新时间:2023-12-04 09:41:55 25 4
gpt4 key购买 nike

我正在尝试设置 Capistrano 来进行我们的部署,但我现在偶然发现了 capistrano 用户的一个常见假设:您通过 SSH 连接到远程主机的用户将有权写入部署目录。

在这里,管理员是普通用户,只有一个区别:他们可以 sudo。起初,我认为这样就足够了,因为有一些与 sudo 相关的配置,但最终似乎并非如此。

有没有解决的办法?创建由进行部署的每个人共享的用户不是一个可接受的解决方案。

编辑:为了清楚起见,不调用 sudo 就不会发生任何部署操作——这是检查用户是否被允许部署的网关点,它应该是一个强制性的检查点。

目前接受的答案不符合该标准。它通过向用户授予额外权限来绕过 sudo。无论如何我都接受它,因为我得出的结论是 Capistrano 在这方面从根本上被打破了。

最佳答案

我假设您正在部署到 Linux 发行版。解决您的问题的最简单方法是创建一个组,例如部署者,并添加每个应该有权部署到该组的用户。创建组并且用户在组中后,更改部署路径的所有权和权限。

根据发行版的不同,语法会略有不同。这是针对 ubuntu/debian 的:

创建组:
$ sudo groupadd deployers
将用户添加到组:
$ sudo usermod -a -G deployers daniel
最后一个参数是用户名。

接下来,更新部署路径的所有权:
$ sudo chown -R root:deployers /deploy/to/path/
的语法是:。这里我假设当前拥有该路径的用户是 root。更新到哪个用户应该拥有该目录。

最后,更改部署路径的权限:
$ sudo chmod -R 0766 /deploy/to/path/
这将允许 deployers 组中的用户读取和写入 /deploy/to/path 下的所有文件和目录。

关于deployment - 普通用户的 Capistrano 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10217626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com