是否可以创建ftp用户并使用php为他们分配选择文件夹的权限?

时间:2010-11-07 13:47:14

标签: php ftp

我只需要知道在php中可以创建一个ftp用户,然后在服务器上创建文件夹,并为所创建的ftp用户授予对所选文件夹的ftp​​访问权限。

再次感谢!

4 个答案:

答案 0 :(得分:2)

原生PHP无法做到这一点。这项任务超出了PHP的范围。

但是,根据所使用的服务器操作系统和FTP服务器软件,PHP可以调用一些完成任务的shell脚本(或Windows上的WMI / PowerShell脚本)。但是,设置这一点并非易事,特别是如果要安全地完成(不给予PHP进程根级别权限)。

这个问题可能更适合Serverfault.com。

答案 1 :(得分:1)

有一些用PHP编写的虚拟主机面板,其中包括ftp帐户,所以它绝对可能。

确切的过程完全取决于您使用的FTP服务器。它可能涉及创建新的Unix用户帐户。

这更像是一个FTP或操作系统问题,而不是PHP问题,因为你需要shell来进行配置。正如Pekka所说,如果您包含设置的详细信息,那么您可能会有更多运气询问Serverfault。

答案 2 :(得分:0)

不,但如果我没有误会你可以做这样的事情

创建一个shell脚本(ftp.sh),该脚本具有SUID(确保它由root拥有,只能由root读取/写入),用于创建用户,设置权限等。

从php

调用脚本
system("./ftp.sh ".escapeshellarg($newUsername)." ".escapeshellarg($newPassword))

但是我很确定有更安全/更正确的方法。我绝对可以看到这成为安全的噩梦。

答案 3 :(得分:0)

如果运行脚本的Web进程允许更改FTP设置,例如通过本机PHP函数或其他“Shell脚本”添加用户,组等,则答案为“是”,如果是,则为“否” Web进程无权访问,也无权进行更改。