2012-09-28 12 views
5

Próbuję wykonać nieskomplikowane wdrożenie Rails/Capistrano na zdalny serwer. Niestety nie mogę uzyskać sudo, aby działał poprawnie po wyjęciu z pudełka. Muszę wdrożyć tutaj:Capistrano z jedynym "sudo su - user" allowed

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

sudoers i został ustanowiony w celu umożliwienia mi uruchomić sudo su - user i to wszystko.

Niektóre próby coax to do pracy z 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, '' 

wnoszę niż najlepsze opcje są albo:

  1. Włącz hasłem mniej sudo (zalecane here)
  2. Włącz sudo -u user, który powinien działać z set :sudo, 'sudo -u user'

Jakieś sposoby, aby to działało jak jest?

+1

@whoever głosuje zamknąć jako „off topic”: z FAQ, odpowiednie rodzaje pytań obejmować „narzędzi programowych powszechnie używane przez programistów”. To obejmuje Capistrano. Kod z 'set: sudo's jest kodem ruby. – jordanpg

Odpowiedz

1

Czy Twój użytkownik, którego próbujesz użyć, został dodany do sudoers cfg na serwerze? Spróbuj

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

source

Powiązane problemy