2014-02-28 101 views
0

我有以下deploy.rb我啓用Capistrano的項目:Capistrano的,儘管它被關閉執行使用sudo命令

# config valid only for Capistrano 3.1 
lock '3.1.0' 

# Default value for :pty is false 
# forward password prompts 
set :pty, true 

set :use_sudo, false 

namespace :setup do 

    desc 'installs required libraries' 
    task :libraries do 

    on roles(:app), in: :sequence do 
     execute :sudo, 'whoami' 
     execute :sudo, "apt-get install mplayer" 
    end 
    end 
end 

我可能無法真正掌握的:use_sudo的概念和execute :sudo, 'command'部分,但奇怪的whoami返回根,即使:use_sudo已關閉。

Documentation of v.2狀態這也太:

集:use_sudo,假的。默認情況下,Capistrano會嘗試使用sudo來執行某些操作(設置服務器,重新啓動應用程序等)。如果您在共享主機上,sudo可能對您無效,或者您只是想避免使用sudo。

那麼什麼是:use_sudo如果sudo執行無論如何。

回答

2

你明確地在sudo中運行一個命令:execute :sudo, 'whoami',你爲什麼驚訝它使用sudo?

正如您所引用的文檔中所解釋的,將:use_sudo選項設置爲false會告訴Capistrano在執行某些操作時不使用sudo。如果您執行sudo whoami,但它不會修改您的命令。

相關問題