Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP创建FTP用户_Php_Bash_Ubuntu - Fatal编程技术网

通过PHP创建FTP用户

通过PHP创建FTP用户,php,bash,ubuntu,Php,Bash,Ubuntu,这个任务在ubuntu上可能吗 我已经设法通过php创建vhost,我需要通过php创建ftp用户。我们正在尝试将特定目录分配给通过web注册创建帐户的内部用户 我在windows上使用filezilla服务器完成了这项工作,在这里可以编辑xml,并可以通过php调用刷新。我需要在linux上复制这个 谢谢 更新: joe:$1$LX/3.F60$bYdYwsQOYIaWq.Ko.hfI3:500:101::/home/ftpusers/joe/::1000:10485760: 这是passwd

这个任务在ubuntu上可能吗

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

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

谢谢

更新: joe:$1$LX/3.F60$bYdYwsQOYIaWq.Ko.hfI3:500:101::/home/ftpusers/joe/::1000:10485760:

这是passwd文件,我尝试按照上面的格式添加另一个用户,它可以工作,但是相同的密码哈希对第二个帐户不起作用


我需要能够设置它的密码,因为他们指定或没有任何密码。我将如何实现这两个目标之一

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

sudo apt-get install pure-ftpd
sudo pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe
然后按照Ubuntu文档页面上的说明设置组、文件夹等:

这是将创建新用户的命令,但是很难将密码传递到命令行:

sudo apt-get install pure-ftpd
sudo pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe
因此,最好创建一个起始用户来生成位于/etc/pure-ftpd/中的用户配置文件,因为您说过这是供内部使用的,并且您并不真正关心安全性,您可以更改文件的权限,以便使用PHP对其进行编辑。检查一下它的格式,让PHP用适当的值向它添加一个新的用户部分。如果我记得它是一个XML文件,那么使用PHP的XML或DOM函数将非常适合它

关于以下评论的更新:

根据PureFTPD:

密码使用系统中最好的单向散列函数进行散列 支持。哈希按以下顺序尝试:河豚、MD5、多个DES、, 简单DES

因为您的字符串以$1开头,这是用于使用MD5的crypt的,所以它最终使用的是$1。要加密密码,请执行以下操作:

echo crypt('YOUR_PASSWORD', '$1$LX/3.F60$');

$1指定使用MD5散列,因为系统默认使用MD5散列,$中的$LX/3.F60$部分是您的salt。

如果您的FTP服务器支持命令行添加用户,您只需使用其中一个PHP exec函数即可。您是否知道linux中有任何一个支持命令行的部分?您当前运行的FTP服务器是什么?我不想推荐任何东西,因为您不应该仅仅基于服务器支持命令行的事实来选择服务器,您需要考虑速度、安全性等。这实际上不是一个问题,因为它仅用于内部使用,并且只有少数人需要它。所以,任何ftp都足够了。谢谢,sudo pure pw useradd joe-u ftpuser-d/home/ftpusers/joe必须是sudo吗?如果root需要密码,我如何向php提供root密码?请参阅我的答案,关于创建一个起始用户,这样你就可以看到XML文件格式,然后让PHP像你之前对Filezilla所说的那样编辑文件。嘿,你对如何插入密码或创建没有密码的用户有什么建议吗?在你的问题中以更新的形式发布你的XML:在底部,敏感信息用X'ed标出。您是在问如何使用PHP添加密码,还是使用PHP将整个用户部分添加到文件中?另外,如果没有密码,这与允许匿名访问差不多。更新了问题,非常感谢您的帮助。我需要使它工作没有密码或正确的密码,因为他们指定。当我使用php作为格式创建另一个用户时,用户名可以登录,但密码不起作用