gpt4 book ai didi

php - 通过 PHP 创建 FTP 用户

转载 作者:行者123 更新时间:2023-12-04 18:53:36 25 4
gpt4 key购买 nike

这个任务可以在 ubuntu 上完成吗?

我已经设法通过 php 创建 vhost,我需要通过 php 创建 ftp 用户。我们正在尝试将特定目录分配给通过 Web 注册创建帐户的内部用户。

我通过使用filezilla服务器在windows上完成了这项工作,可以在其中编辑xml并通过php调用刷新。我需要为 linux 复制这个。

谢谢

更新:joe:$1$LX/3.F60$bYdYwsQOYIaWq.Ko.hfI3.:500:101::/home/ftpusers/joe/./::::::1000:10485760::::::
这是文件密码,我尝试按照上述格式添加另一个用户,它可以工作,但是相同的密码哈希不适用于第二个帐户。

我需要能够按照他们指定的方式设置密码或不使用任何密码。我将如何实现其中任何一个?

最佳答案

通过从命令行运行来安装 PureFTPD:

sudo apt-get install pure-ftpd

然后按照 Ubuntu 文档页面上的说明设置组、文件夹等:
  • https://help.ubuntu.com/community/PureFTP

  • 这是将创建一个新用户的命令,但是很难将密码传递到命令行:
    sudo pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe

    因此,最好创建一个起始用户来生成位于/etc/pure-ftpd/中的用户配置文件,因为您说这是供内部使用并且您并不真正关心安全性,您可以更改文件的权限所以您可以使用 PHP 对其进行编辑。检查它的格式,然后让 PHP 用适当的值向它添加一个新的用户部分。如果我记得它是一个 XML 文件,那么使用 PHP 的 XML 或 DOM 函数会很好用。

    更新以下评论:

    根据 PureFTPD:

    Passwords are hashed with the best one-way hash function your system supports. Hashes are tried in this order: Blowfish, MD5, multiple DES, simple DES.



    由于您的字符串以 $1 开头,它用于 crypt() 使用 MD5,这就是它最终使用的。要加密密码,请执行以下操作:
    echo crypt('YOUR_PASSWORD', '$1$LX/3.F60$');

    $1 指定使用 MD5 哈希,因为这是您的系统默认使用的,$ 中的 $LX/3.F60$ 部分是您的盐。

    关于php - 通过 PHP 创建 FTP 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13926275/

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