使用capistrano进行部署会忽略组设置

Pas*_*rbo 7 capistrano chmod rvm rvm-capistrano

在我的部署文件中,我将组设置为www-data:

set :user,            "root"
set :group,           "www-data"
Run Code Online (Sandbox Code Playgroud)

因此,当使用上限时:我希望capistrano用root:www-data chown文件夹

但是所有文件夹和文件都是root:root.

这个问题可能来自何方?

信息:我正在使用system-wide-rvm.

mpa*_*pis 9

至于我的理解你应该手动完成,设置做的是使用用户登录,而不是设置目录的权限.

我没有找到capistrano的组设置,也许你正在使用一些扩展名呢?

你可以做些什么来改变它可能是:

after "deploy:setup", :setup_group
task :setup_group do
  run "chown -R :#{group} #{deploy_to} && chmod -R g+s #{deploy_to}"
end
Run Code Online (Sandbox Code Playgroud)

但首先你不应该使用root进行部署,因为@Julian在评论中提到更好的做法是使用单独的用户执行此任务并将他的组设置为正确的组,然后它将不需要上述任务并且将自动工作.