小编Pat*_*Hes的帖子

如何从 Apache 上启动的 PHP 运行 su?

我尝试使用 PHP shell_exec 函数运行 su 命令。起初我试过:

<?php
echo(shell_exec('echo \'password\' | su user -c \'whoami\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

我得到了:

su: must be run from a terminal
Run Code Online (Sandbox Code Playgroud)

然后我阅读了有关使用 python 的 pty 生成终端并将其放入 shell 代码的内容:

<?php
echo(shell_exec('echo "if [ -t 1 ] ; then echo "terminal found"; fi; echo \'password\' | su user -c \'whoami\';  exit" | python -c \'import pty; pty.spawn("/bin/bash")\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

这是输出:

if [ -t 1 ] ; then echo terminal found; fi; echo 'password' | su user -c 'whoami';  exit …
Run Code Online (Sandbox Code Playgroud)

php su terminal

1
推荐指数
1
解决办法
9172
查看次数

标签 统计

php ×1

su ×1

terminal ×1