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

问题描述:

我只需要知道是否可以在PHP中创建一个ftp用户,然后在服务器上创建文件夹,并为创建的ftp用户授予对所选文件夹的ftp​​访问权限。是否有可能创建ftp用户并为他们分配使用php选择文件夹的权限?

再次感谢!

本地PHP不能做到这一点。这个任务远离PHP的范围。

根据所使用的服务器操作系统和FTP服务器软件,然而,PHP可以调用完成任务的一些shell脚本(或WMI/PowerShell脚本在Windows上)。但是,这并不是微不足道的,尤其是如果要安全地完成(不提供PHP进程根级别权限),那就不是。

的问题可能更适合于Serverfault.com。

没有,但如果我没有弄错,你可以做这样的事情

创建一个shell脚本(ftp.sh)这是有SUID(确保它属于root用户,并且只能进行读/ root用户写的)那创建用户,权限设置等

呼叫从PHP

system("./ftp.sh ".escapeshellarg($newUsername)." ".escapeshellarg($newPassword)) 

不过,我敢肯定有这样做的更安全/正确方式脚本。我绝对可以看到这成为安全噩梦。

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

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

这是一个多PHP问题的FTP或操作系统的问题,虽然,因为你需要掏出做配置。正如Pekka所说,如果包含设置的详细信息,您可能会在Serverfault上询问更多的运气。

答案是“是”,如果在脚本运行的网络程序允许在FTP设置更改,例如添加用户,组等,无论是本地的PHP函数或额外的“shell脚本”,这将是“否”,如果Web进程无权访问,也无权进行更改。