gpt4 book ai didi

php - Exec ("adduser myownuser") 无法在 CentOS 服务器上工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:36 24 4
gpt4 key购买 nike

我有 CentOS 7,带有 PHPFPMNginx(两者都是从源代码安装的,而不是 yum)。 NginxPHPwww-data 用户和组上运行。现在我创建一个包含以下内容的 PHP 文件:

exec("adduser myownuser");

如果我以 root 身份在 CentOS 控制台中运行此 PHP 文件,它就会成功运行。但是当我想在我的网络服务器根目录中运行它时,没有任何反应,并且脚本以 www-data 运行..

问题是什么?

最佳答案

您需要将 apache 添加到 sudoers,无需密码。您还需要通过一行脚本执行 adduser,否则您无法设置它的密码。

这是我的实现

$ccmd = "nohup sudo useradd -d /home/user -p $(openssl passwd -1 " . $thepassword . ") username &";
exec($ccmd);

我将其添加到我的 sudoers 文件中

apache ALL=(全部) NOPASSWD: 全部

根据您的发行版,您的 apache 用户可能会有所不同。要找出 apache 的用户名是什么,您可以 echo exec("whoami");

在人们开始对我大喊大叫之前,最好只允许 apache sudo 访问您需要的一个命令。或者将 apache 添加到一个组并将该组分配给该命令。这里我就不解释怎么做了,你可以搜索一下,因为到处都有这方面的帖子

关于php - Exec ("adduser myownuser") 无法在 CentOS 服务器上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com