logo       

Re: Using Capistrano to sudo su as another user: msg#00109

lang.ruby.capistrano.general

Subject: Re: Using Capistrano to sudo su as another user


I think the problem might be that the line sudo "su - svcuser" will
result in an interactive shell, it's waiting for an input, and
capistrano is waiting for it to exit before it runs the next command
("whoami").

BTW, you shouldn't need to combine su and sudo, they both do roughly
the same thing. Instead of using su, you could just use sudo to run
the command, su is redundant in this case. I think what you want might
be:

run "sudo -u svcuser whoami"

This will run the command whoami as the user svcuser. Ensure that
/etc/sudoers allows the whoami command to run.

Paul

On 12/18/07, Tony Davis <tony.davis-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx>
wrote:
>
> I have the same problem, any solutions?
>
> On Dec 7, 1:45 pm, David Adams
> <davead...-Re5JQEeQqe8AvxtiuMwx3w@xxxxxxxxxxxxxxxx> wrote:
> > I love the idea of Capistrano, but it's not working for me in my
> > environment. I hope there's something simple I'm missing, but I'm not
> > sure. Here's the situation:
> >
> > I don't have root on the app servers I need to automate. For each
> > application, we have a Unix user for which I don't have the password,
> > but which owns all the appropriate application files. To administer an
> > app, I log in with my personal account, and then I "sudo su - svcuser"
> > to become the service account, run whatever commands I need, then
> > logout twice.
> >
> > Unfortunately, my limited understanding of Capistrano has failed me at
> > this point. eg:
> >
> > task :sudo_test do
> > sudo "su - svcuser"
> > run "whoami"
> > end
> >
> > I get prompted for my password, but then I get the shell prompt of the
> > svcuser's shell as output and everything hangs.
> >
> > Any ideas? Let me know if you need more information. I appreciate the
> > help.
> >
> > David Adams
> >
>


--
http://pauldowman.com



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise