Capistrano只允许'sudo su - user'

时间:2012-09-28 23:35:19

标签: ruby-on-rails capistrano sudo

我正在尝试对远程服务器进行简单的Rails / Capistrano部署。不幸的是,我无法让sudo正确地运行。我需要在这里部署:

drwxr-xr-x 2 user   www       4096 Sep 28 15:05 my_app_dir

和sudoers已设置为允许我运行sudo su - user,就是这样。

有些尝试从deploy.rb:

中哄骗这个
set :use_sudo, true
set :sudo, 'sudo su - user'  # fails due to bad su syntax, -c is inserted after user
set :sudo, 'sudo -u user'  # fails because it's not set up
set :sudo, 'sudo su - user -c' # also bad syntax
set :sudo_prompt, ''

我认为最好的选择之一是:

  1. 启用无密码sudo(推荐here
  2. 启用sudo -u user,该版本应与set :sudo, 'sudo -u user'
  3. 一起使用

    任何使这项工作正常的方法?

1 个答案:

答案 0 :(得分:1)

您尝试使用的用户是否已添加到服务器上的sudoers cfg? 试试这个

run "#{sudo :as => 'bob'} mkdir /path/to/dir"

source