2012-09-28 28 views
5

Estoy tratando de hacer una implementación de Rails/Capistrano sin complicaciones en un servidor remoto. Lamentablemente, no puedo obtener sudo para que se ejecute correctamente de fábrica. Debo implementar aquí:Capistrano con solo 'sudo su - user' permitido

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

y sudoers se ha establecido para permitir que corra sudo su - user y eso es todo.

algunos intentos de convencer a esto en trabajar desde 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, '' 

tengo entendido que las mejores opciones son o bien:

  1. Habilitar sin contraseña sudo (recomendado here)
  2. Habilitar sudo -u user, que debería funcionar con set :sudo, 'sudo -u user'

¿Alguna forma de hacer que esto funcione como es?

+1

@whoever es la votación para cerrar como "fuera de tema": desde el FAQ, los tipos pertinentes de las preguntas incluyen "herramientas de software utilizadas por los programadores". Eso incluiría a Capistrano. El código con 'set: sudo's es ruby ​​code. – jordanpg

Respuesta

1

¿Está su usuario que está tratando de usar agregado a sudoers cfg en el servidor? Prueba este

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

source

Cuestiones relacionadas