首页>>帮助中心>>香港服务器FTP登录错误:530 User cannot log in, home directory inaccessible

香港服务器FTP登录错误:530 User cannot log in, home directory inaccessible

2024/10/8 191次

香港服务器配置IIS 的Ftp server,遇到域时,一不小心就会出现错误530 User cannot log in, home directory inaccessible。
经过在网上不断的看帖和实践的尝试,现在归纳几个经验。

1 文件夹权限设置不正确
百度上基本都是这么说的,这句话没错但是很不严谨,不懂的同学可能都不知道在哪设或者设哪一个。

在ftp根路径下右键“属性”,在选项卡里找到“安全”,这个是系统的文件权限设置,无论共享还是FTP登录,文件权限都在这里设置。在界面上点击“编辑”,选择要修改的登录用户权限,在复选框中选择至少读取选项。
问题 1 ftp登录用户是什么,它在哪?
在IIS的FTP操作界面中,点击右上角的
如果针对验证用户,可以对Authenticated Users设置权限,如果没有,在点击“编辑”进入“安全”选项卡界面上点击“添加”,添加这个用户。
如果针对某一个用户,如yyliu,可以对yyliu用户设置权限,点击“编辑”进入“安全”选项卡界面上点击“添加”,添加yyliu用户。
如果针对域用户,如SSCHPC,可以对SSCHPCdomain users设置权限,如果没有,点击“编辑”进入“安全”选项卡界面上点击“添加”,添加SSCHPCdomain users用户。
问题 2 如果不能修改权限或者无法单独设置权限怎么办?
windows文件夹权限设置的交互规则是,子文件夹必须继承父文件夹,不能去掉父文件夹已有权限,但可以增加新的权限。
有经验的同学会立刻想到这样做有时会产生一个新的问题。
例如:
我们不想让用户局限在自己的根路径下,可以访问某些其他用户目录或者虚拟目录,我们会将IIS ftp设置为不隔离用户。(关于如何设置隔离用户,给一个http://www.enuoidc.com.NET/page.aspx/305/configuring-ftp-user-isolation-in-iis-7/)。

这样一来,所有用户目录都会自动的从根目录继承了自己父亲的权限设置,往往这些权限对ftp而言就是破坏性的,因为ftp所有用户都是属于这个组的权限,这个和Linux下有很大不同,Linux的Vsftpd程序可以和用户和组很好的结合,可以通过设置用户、组的权限控制FTP的权限。而Windows我们在创建一个目录时,会自动产生很多权限,有时候很方便,但实则比较混乱,只不过我们平时根本没空关注它,抱着能用就行的态度,孰不知有时候会让自己的辛苦管理变成一个个大漏洞。
如果要在某个用户文件夹上去掉父权限,一个办法就是编辑父目录权限,去掉多余不安全的,另外一个就是在用户目录下拒绝父目录权限,但是windows规则里明确说,拒绝权限要大于允许权限,如果我把用户组权限拒绝了,而额外加了一个自己的用户权限,也是不行的,原因就在于自己用户本身就属于被拒绝的组用户。如sschpc/domain users和sschpc/yyliu。
这个时候我们需要通过高级命令cacls命令来跳过这个矛盾,这个属于高级操作,能破坏windows的规则。
我给大家三个例子,这里不再去解释了,有疑问可以google或联系我。
a) 只对FTP根目录D:ftproot下的用户目录d:ftprootyyliu设置不包括yyliu的子目录的唯一yyliu用户的修改控制权限,使得只有yyliu可以FTP登录到路径d:ftprootyyliu,有列出、读取,修改,写入权限。
cacls d:ftprootyyliu /p yyliu:c

b) 对FTP根目录D:ftproot下的用户目录d:ftprootyyliu不包括yyliu的子目录,增加一个xfinity用户的完全控制权限,使得只有yyliu和xfinity可以FTP登录到路径d:ftprootyyliu,保持yyliu设置,且xfinity有完全控制权限。
cacls d:ftprootyyliu /e /p xfinity:f

c) 对FTP根目录D:ftproot下的用户目录d:ftprootyyliu及所有yyliu的子目录,增加一个llhao用户的完全控制权限.
cacls d:ftprootyyliu /e /t /p llhao:f

小结:
通过解决以上2个问题,就可以自定义的管理ftp用户文件权限,而且可以不首用户根路径限制,属于高级操作。

2 IIS FTP忘了权限配置

很多同学可能没有注意到,点击IIS ftp网站,会显示FTP管理界面,上面有个图?叫“FTP授权规则”,点击进去,点击”添加允许规则“,最简单的是添加所有用户的一个读取和写入权限,如果是域用户,选择“指定的角色和用户组”,添加如SSCHPCdomain users,这样设置,在大家尝试了设置目录权限而没有头绪后,应该就不会?报530 User cannot log in, home directory inaccessible,前提是大家不会傻的设置了一个物理不存在的目录。

如果有高手修改了FTP应用程序池的标识,请不要忘了修改回ApplicationPoolIdentity。



3 IIS FTP用户隔离配置没有正确设置目录

隔离用户下的禁用全局虚拟目录,和启用全局虚拟目录,它们的设置的差别就是一个可以设置虚拟目录和物理目录,一个只能设置物理目录。
设置目录必须遵守规则如下:

User Account Types
Physical Home Directory Syntax
Anonymous users
%FtpRoot%LocalUserPublic
Local Windows user accounts(requires basic authentication)
%FtpRoot%LocalUser\%UserName%
Windows domain accounts(requires basic authentication)
%FtpRoot%\%UserDomain%\%UserName%
IIS Manager or ASP.Net customauthentication user accounts
%FtpRoot%LocalUser\%UserName%


举个例子
隔离用户下的禁用全局虚拟目录:
文件夹几种情况:
1)假设建立了一个ftp站点并设置ftp根目录为d:ftproot,域yyliu用户目录在d:ftprootyyliu,域为SSCHPC
在IIS ftp 管理器ftp中,在ftp站点下设置虚拟目录SSCHPC,路径为d:ftproot.此时ftp路径就有了虚拟的d:ftprootsschpcyyliu,ftp登录后路径为
2)假设建立了一个ftp站点并设置ftp根目录为d:ftproot,域yyliu用户目录在d:ftprootsschpcyyliu,域为SSCHPC
在IIS ftp 管理器ftp中此时ftp路径就有了物理的d:ftprootsschpcyyliu,ftp登录后路径为

如果是本地账户,需要把SSCHPC改为LocalUser,使之成为d:ftprootLocalUseryyliu

购买使用一诺网络香港服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。香港服务器低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2