gpt4 book ai didi

php - 使用 php 创建 linux 用户?

转载 作者:IT王子 更新时间:2023-10-29 01:27:18 25 4
gpt4 key购买 nike

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

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

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

截至目前,从我一直用来在 linux(或至少我的 Ubuntu 版本)上创建用户的内容来看,它是:

useradd [username] -p [password] -d [/path_to_home_directory] -s [/bin/false]

当然没有括号。

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

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

据我所知,我可以让 www-data 访问服务器上的脚本,然后将用户创建为 root,但是我不知道如何将存储在 php 中的变量传输到脚本。

如果您需要更多详细信息来帮助,请直接询问。这是我完成我过去 2 个月的项目的最后一件事,其中包括一个桌面应用程序等等。它是如此接近,但我似乎无法得到它。

最佳答案

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

proFTP with MySQL

关于php - 使用 php 创建 linux 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14985780/

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