我只需要知道在php中可以创建一个ftp用户,然后在服务器上创建文件夹,并为所创建的ftp用户授予对所选文件夹的ftp访问权限。
再次感谢!
答案 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进程无权访问,也无权进行更改。