使用php创建linux用户?

5 php linux variables

我目前正在为我的 FTP 服务器创建一个会员系统,以便我想要访问该服务器的亲密朋友,但是我正在使用的 FTP 服务器(proFTPd)使用 Linux 用户作为每个会员的帐户。所以我需要使用带有 php 的 html 表单,当然它可以访问服务器并能够在系统上创建用户。

现在我已经完全设置了表单,它验证电子邮件/用户名/密码并将其保存到我的 SQL 数据库中。我唯一缺少的是创建新用户来完成它。

我知道这并不总是最安全的事情,但我确实想这样做,而且我确实知道其中的危险,所以任何帮助都会很好......

截至目前,我一直用来在 linux(或至少我的 Ubuntu 版本)上创建用户的方法是:

useradd [username] -p [password] -d [/path_to_home_directory] -s [/bin/false]
Run Code Online (Sandbox Code Playgroud)

当然没有括号。

我也知道 php 命令:shell_exec、exec、system() 但是我已经尝试了其中的每一个命令来在其中创建用户,但没有任何效果。

我做了更多研究,注意到网络服务器正在 www-data 上运行(它应该是),并且它无法访问 useradd 命令。所以我“viduso”它,但仍然没有任何变化。

据我所知,我可以向服务器上的脚本授予 www-data 访问权限,然后该脚本将以 root 身份创建用户,但是我不知道如何将 php 中存储的变量传输到脚本。

如果您需要更多详细信息来帮助您,请询问。这是我最后两个月完成项目所需的最后一件事,该项目包括桌面应用程序等。距离如此之近,但我似乎无法理解。

Sat*_*ish 2

您不应该为 FTP 服务创建 Unix 用户帐户,您应该集成您的proFTP服务器以用于MySQL身份验证(在 MySQL 中存储帐户),因此在这种情况下您不需要创建 Unix 帐户,这将是更好、更安全的解决方案:

proFTP 与 MySQL