2012-09-28 147 views
5

我正在嘗試將簡單的Rails/Capistrano部署到遠程服務器。不幸的是,我無法讓sudo正確運行。我要在這裏部署:Capistrano只允許'sudo su - user'允許

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'

任何方式使這項工作是?

+1

@whoever投票被關閉的「題外話」:從常見問題,相關類型的問題,包括「程序員常用的軟件工具」。這將包括Capistrano。帶'set:sudo's的代碼是ruby代碼。 – jordanpg

回答

1

您嘗試使用的用戶是否添加到服務器上的sudoers cfg中? 試試這個

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

source