Hi Jeff and All,
 
Thanks for the NameError, you right that I am new to Python - I am learning 
 
As to the permission issue, I am using a workaround - I created an account with 
the same name on my Windows (where Fabric sits) as that in Linux (remote box). 
My question is, is this required? I can see the objections that we should have 
different account names on Windows and Linux no matter which one has Fabric. 
 
Then I found another interesting thing, 'cd' seems eat up the last layer of the 
directory from input. For example, 
 
...
env.remote_push_dest = '/home/test1/test2/'
...
run("cd %s/" % env.remote_push_dest)
output = run('pwd')
print output
 
The print out is "/home/test1", what's wrong with it?
 
Next I will try to setup a Windows remote machine and install SSH2 server on 
it. I posted to ask a good (free and easy to setup and use) candidate for that, 
and Kevin replied with CopSSH: http://www.itefix.no/i2/node/27, are there any 
other suggestions?
 

Thanks,
Peter
--- On Mon, 8/16/10, Jeff Forcier <j...@bitprophet.org> wrote:


From: Jeff Forcier <j...@bitprophet.org>
Subject: Re: [Fab-user] First Fabric connected but got 'Permission denied' error
To: "Peter Bee" <yb...@yahoo.com>
Cc: fab-user@nongnu.org
Date: Monday, August 16, 2010, 10:37 AM


On Mon, Aug 16, 2010 at 1:21 PM, Peter Bee <yb...@yahoo.com> 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 = ['f...@10.0.0.1']

(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 <j...@bitprophet.org> wrote:
>
> From: Jeff Forcier <j...@bitprophet.org>
> Subject: Re: [Fab-user] First Fabric connected but got 'Permission denied' 
> error
> To: "Peter Bee" <yb...@yahoo.com>
> Cc: fab-user@nongnu.org
> Date: Sunday, August 15, 2010, 5:42 AM
>
> On Sun, Aug 15, 2010 at 12:48 AM, Peter Bee <yb...@yahoo.com> 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 <j...@bitprophet.org> wrote:
> >
> > From: Jeff Forcier <j...@bitprophet.org>
> > Subject: Re: [Fab-user] First Fabric connected but got 'Permission denied' 
> > error
> > To: "Peter Bee" <yb...@yahoo.com>
> > Cc: fab-user@nongnu.org
> > Date: Saturday, August 14, 2010, 5:44 AM
> >
> > Hi Peter,
> >
> > On Sat, Aug 14, 2010 at 4:04 AM, Peter Bee <yb...@yahoo.com> 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



      
_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to