我正在用 PHP 开发一个控制面板,我安装了 PHPsecLib 库并使用它向远程服务器发出命令。
例如;
$ssh->exec("cd /home/{$user}/{$id}; screen -S {$id} -A -d -m java -Xmx768M -jar minecraft_server.jar nogui -nojline;");
现在我的问题是,因为我以 root 身份发出命令,这是否是一种安全威胁,即使所有运行的命令都是预制/硬编码的,而不是来自用户输入。
如果这是一个问题,有人可以建议最好的方法吗?
谢谢, 哈利
最佳答案
您不想以 root 身份运行。相反,如果您使用 sudo,可以稍微加固平台:
username ALL = NOPASSWD: /bin/screen, PASSWD: ALL
这将允许您的用户:用户名
无需 sudo/密码即可运行屏幕,但仍需要对平台上的其余可执行文件进行身份验证。
关于php - 在 SSH2 上通过 root 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341505/