On Mon, Aug 16, 2010 at 1:21 PM, Peter Bee <
address@hidden> wrote:
>
> I also tried to use 'upload_template()', but got errors as following.
> If I used 'fabric.contrib.files.upload_template()', I got NameError on 'fabric' as below.
You must be new to Python :D What you want to do is:
from fabric.contrib.files import upload_template
# then, elsewhere...
upload_template(arguments here)
Regarding the permissions issue, what is your local computer's login
username? I.e. what you've logged in as. Does that username also exist
on the remote server? I'm guessing that Fab may not be properly using
your env.user value. You might want to try sticking it into the hosts
declaration, as that's a bit more solid.
So
instead of:
env.user = "foo"
env.hosts = ['10.0.0.1']
You would do:
env.hosts = ['address@hidden']
(See
http://docs.fabfile.org/0.9.1/usage/execution.html#hosts [as well
as the rest of that page] for details.)
That should eliminate any possibility of the username being the problem.
-Jeff
>
> Thanks
>
> --- On Sun, 8/15/10, Jeff Forcier <
address@hidden> wrote:
>
> From: Jeff Forcier <
address@hidden>
> Subject: Re: [Fab-user] First Fabric connected but got 'Permission denied' error
>
To: "Peter Bee" <
address@hidden>
> Cc:
address@hidden> Date: Sunday, August 15, 2010, 5:42 AM
>
> On Sun, Aug 15, 2010 at 12:48 AM, Peter Bee <
address@hidden> wrote:
> >
> > I used my account credentials in the fabric file. Using the credentials, I can log on and do almost all the operations (wget, mkdir, create file, cp, and so on) without 'sudo'.
>
> Try printing out env.host_string immediately before your put() call,
> and see what its value is. If your env.user isn't the same as your
> local account name, then you should see "<the value
you put in
> env.user>@<the IP address in your hosts list>".
>
> If you only see the IP address, then it may be that it's connecting
> with your local user's username, which (if it exists on the remote end
> as a legit user) might not have the right permissions. This is a long
> shot but something to check anyways.
>
> > What special rights does 'put' require? Also, how can I use 'sudo' on the remote system in the fabric file? For example, what's the code for 'put' with a 'sudo'?
>
> Right now put() can't do sudo things, but there's a contrib method
> that can be used as a workaround until we upgrade put():
> fabric.contrib.files.upload_template(). It has a "use_sudo" Boolean
> kwarg. Check the API docs for details.
>
> -Jeff
>
> >
> > --- On Sat, 8/14/10, Jeff Forcier <
address@hidden> wrote:
> >
> > From: Jeff Forcier <
address@hidden>
> > Subject: Re: [Fab-user] First Fabric connected but got 'Permission denied' error
> > To: "Peter Bee" <
address@hidden>
> > Cc:
address@hidden> > Date: Saturday, August 14, 2010, 5:44 AM
> >
> > Hi Peter,
> >
> > On Sat, Aug 14, 2010 at 4:04 AM, Peter Bee <
address@hidden> wrote:
> >
> > > Underlying exception message:
> > > Permission denied
> >
> > This usually means exactly what it says: the user you're connecting as
> > does not have permission to write files to the destination directory
> > you specified. You'll want to double check that on the remote server
> > to see what's up.
> >
> > Best,
> > Jeff
> >
> >
> > --
> > Jeff Forcier
> > Unix sysadmin; Python/Ruby developer
> >
http://bitprophet.org> >
>
>
>
> --
> Jeff Forcier
> Unix sysadmin; Python/Ruby developer
>
http://bitprophet.org>
--
Jeff Forcier
Unix sysadmin; Python/Ruby developer
http://bitprophet.org