如何从 PHP 脚本 scp 来自远程服务器的文件?
我已经尝试过shell_exec("scp remote:file dir")
,但这不起作用,因为用户apaache
在远程服务器上没有关联的 shell,因此不能执行 ssh。
我试图创建一个Copy.sh
setuid 脚本,创建为user1
并使用shell_exec("Copy.sh file dir")
. Copy.sh
然而,尽管有 setuid 标志,Apache 服务器(或 PHP?)在执行时并未更改 uid 。
本文
https://serverfault.com/questions/7589/how-do-you-run-a-php-script-as-the-files-owner-rather-than-as-the-webserver-us
建议安装suPHP
,我似乎没有安装。这是要走的路吗?我已经mod_suexec
安装了,但是这个模块似乎只能更改 PHP 脚本本身的 uid。它可以(ab)用来做我想做的事吗?
也许有一种方法可以user1
为 PHP 脚本提供 ssh 密钥,所以它可以进行复制?