我一直在为这个看似简单的问题绞尽脑汁。我想为服务器上的特定用户提供对特定文件夹的 FTP 访问权限。这就是我所做的。
- 创建一个新用户,我们叫他 John
- 授予新用户 (John) 对我想要打开的文件夹的完全权限。我们将其命名为
myfolder
- 在 IIS7 中创建一个新的 FTP 站点:添加新的 FTP 站点。我将其设置
myfolder
为主目录。至于绑定,我选择所有未分配的 IP、端口 21 和指向此服务器的特定子域/域。我检查过了。 - 在下一个屏幕中,对于身份验证,我检查
Basic Authentication
并授予对的读/写访问权限specific users
,在本例中John.
我也尝试过一些其他设置,但无论我做什么,都会出现相同的错误:
530 用户无法登录,主目录无法访问。
不用说,我检查了该文件夹的 Windows 权限 100 多次。用户John
对文件夹具有完全访问权限myfolder.
使用 Windows Server 2008 R2
答案1
我找到了解决问题的方法。
我在该服务器上已经有一个可用的 FTP 站点,绑定中的 IP 相同。我试图创建第二个 FTP 站点,使用不同的主机名。我认为 IIS 足够智能,能够根据绑定中的设置进行区分。
例如
FTPsite1:绑定:IP:xxx.xxx.xxx.xxx 端口:21 主机:ftp1.mysite.com - 授权用户:user1
FTPsite2:绑定:IP:xxx.xxx.xxx.xxx 端口:21 主机:ftp2.mysite.com - 授权用户:user2
你可以这样做,但是登录的方式与我预期的不同。
要登录站点 1:
ftp> open ftp1.mysite.com
Connected to ftp.interbayrotary.org.
220 Microsoft FTP Service
Name (ftp1.mysite.com:user): ftp1.mysite.com|user1
Password:
因此,您的用户名需要采用以下格式host|username.
,这是唯一可行的方法。
如果您只是user1
以用户身份输入,则会收到错误530
,即使您根据绑定设置清楚地连接到正确的站点。
这文章来自微软的解释了如何设置虚拟主机。
和这个文章具体讲一下hostname|username
语法。
答案2
您还必须在文件夹属性的安全选项卡中为您的用户设置权限