【问题标题】:Executing RSH command using exec() in PHP在 PHP 中使用 exec() 执行 RSH 命令
【发布时间】:2011-08-01 14:53:34
【问题描述】:

我在 PHP exec() 命令中使用 rsh 时遇到问题。我得到的错误是:Could not create directory '/nonexistent/.ssh'

这似乎是因为 Apache 以没有主目录的用户 nobody 运行,因此它无法找到/创建 .ssh 目录。我会从终端做的是类似于:

sudo su - user_with_home_directory
/usr/bin/rsh -n -l username myserver.com /path/to/my/script.sh

但我不知道如何使用 PHP 的 exec() 命令来执行此操作。我不想(也不能)给nobody用户一个主目录只是为了让问题消失。

非常感谢任何帮助我弄清楚如何让它工作。

【问题讨论】:

    标签: php rsh


    【解决方案1】:

    因此,我使用的服务器上的rsh 似乎启用了 Kerberos,而 Kerberos 又使用 SSH 进行身份验证。这就是导致搜索.ssh 目录的原因。

    为了解决这个问题,我创建了一个 SSH 密钥并将其存储在文件系统中除.ssh 目录之外的不同位置,再次防止为nobody 用户创建主目录。然后使用 SSH,我指定了指向我生成的 SSH 密钥的 -i 选项,允许我远程执行脚本而无需使用密码登录。

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 1970-01-01
      • 2013-09-07
      • 2017-05-06
      • 2013-07-28
      • 2015-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多