You are here: Re: remote file transfer through http using exec « PHP Programming Language « IT news, forums, messages
Re: remote file transfer through http using exec

Posted by Tom on 02/01/07 06:52

On Jan 31, 11:30 pm, Curtis <dyers...@verizon.net> wrote:
> On Wed, 31 Jan 2007 11:25:46 -0800, Tom <bie...@gmail.com> wrote:
> > I have a script which allows a user to upload a file. The script does
> > some filename editing, mimetype checking, etc., and it's then supposed
> > to send the file to a remote server, without any username/password
> > prompt ( I have root access to both servers ).
>
> > I'm trying to run an exec/passthru command using scp or rsync, but
> > there's one fundamental question that I can't answer. When exec is
> > called from the command line, e.g. `php some_script.php`, the user
> > executing the php script will be whatever user is currently logged
> > into the shell. Which user executes php when it's called from http?
> > In order to use scp and rsync without being prompted for username/
> > password on every command, you need to set the .ssh/authorized_keys on
> > the remote server to accept your login, but without a username I can't
> > do that...
>
> > Here's the section that doesn't work:
>
> > <?php
> > $filename = "test.txt" ;
> > $dest = "/home/user/htdocs/upload/" . $filename ;
> > exec("scp $filename remoteu...@some.remove.server:$dest", $output) ;
> > print_r($output) ;
> > ?>
>
> > Now when run from the shell, you can add your specific login to the
> > authorized_keys to circumvent manually entering user/pass, but when
> > called from http, the script hangs and fails since authorized_keys is
> > not set for whatever user executes PHP.
>
> > So which user executes php from http? And is there a better way to do
> > this??
>
> Apache should be running as nobody, and thus, so should your scripts.
> petersprc's ideas also look helpful, if you're not sure.
>
> --
> Curtis,http://dyersweb.com

Thanks for the help. I don't believe you can make an id_rsa.pub file
with user `nobody', although it would be interesting to see if you can
manually edit those rsa keys :-)

After all my searching I've found that the PECL extension libssh2 is
really what I'm looking for here:
http://us2.php.net/manual/en/ref.ssh2.php

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация