默认FTP站点为不隔离用户站点,利用NTFS权限设置,达到仅能访问指定目录效果。
是否允许匿名连接
FTP站点主目录:站点范围内有没有用户需要上传,有的话,要勾选“写入”;具体用户使用NTFS还给予写入权限。
IUSR_机器名:IIS的来宾帐号,隶属Guests组。
IWAM_机器名:启动IIS进程帐号,隶属IIS_WPG组(IIS工作进程组)
设置FTP站点主目录的NTFS权限,取消继承,仅保留Administrators/System 完全权限。必须添加Guests的只读权限,Users的只读权限出与保持OS权限考虑,可以保留但不是必须的。
在lusrmgr.msc中添加仅隶属与Guests组的帐号,并设置好密码等。
在主目录下添加同名的子目录,并取消NTFS权限的继承,仅保留Administrators/System 完全权限;和添加ftp帐号权限,如果需要上传则,添加写入的相关权限。(删除guests/users权限)
如要也仅需要匿名帐号访问,则添iusr_name的NTFS权限。
如果需要所有其他帐号访问,则添加相应帐号或帐号组的NTFS权限。
在使用相应帐号访问时,会自动进入同名子目录下,但仍然可以通过命令来进入站点主目录。 而匿名帐号登录时,进入为站点主目录。
如果利用FTP的虚拟目录功能,虚拟一个不在站点主目录下的同名子目录,可以起到更好的效果,即使通过命令访问 / 目录,也看不到其他用户的目录。 结合IIS WEB站点的目录浏览功能,可以达到FTP上传,HTTP浏览下载。
隔离多用户站点:不能进主目录,在主目录下LocalUser目录下,建立同名子目录,并分配权限。
设置被动模式的端口方法:https://support.microsoft.com/zh-cn/kb/555022
启用直接编辑元数据库
在 C:\Inetpub\AdminScripts 目录下,运行以下命令:
CSCRIPT.exe C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "65200-65500"
成功后提示:PassivePortRange (STRING) " 65200-65500 "