如何在 chroot PHP-FPM 中执行程序


How to execute program in chrooted PHP-FPM?

我现在正在编写一个小脚本来执行gpgPHP (FPM)但不知何故,PHP 不允许我执行任何二进制/shell 脚本并返回退出代码 127。但是如果我在 php-cli 中执行这些,它可以正常工作。

PHP 配置:

PHP: php-fpm

网络服务器:nginx

克鲁特/user/home/php-root

CHDIR /

安全模式Off

禁用exec*?:否

我尝试了ff:

  1. 我尝试执行exec('whoami')ls全部返回 NULL 并给出退出代码 127
  2. shell_exec()所有命令都返回 NULL
  3. system()也返回 NULL
  4. 使用完整路径
  5. 使用2>&1返回 NULL
  6. 复制gpgwhoami chrooted-root/bin
  7. chrooted-root/bin执行二进制文件

据我尝试,没有任何效果。

有没有人能够让PHP-FPM在chroot环境中执行shell/二进制?

谢谢!

我发现将/bin/sh复制到chrooted-root/bin是有效的。还需要依赖项:

$ ldd /bin/sh
    linux-vdso.so.1 (0x00007ffc098c6000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2e92d52000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f2e9331e000)

所以我不得不在我的 chroot 目录下复制/lib/x86_64-linux-gnu/libc.so.6/lib64/ld-linux-x86-64.so.2

我不确定它是否在所有发行版下都/bin/sh,可能是/bin/bash或其他什么。