我正在创建一个 FTP 站点,希望多个用户可以上传文件。我不希望每个用户都看到其他上传的内容,因此我假设我将使用 FTP 用户隔离。但是,我是否要为每个上传的客户端创建用户帐户?我是否要以本地用户/域用户的身份执行此操作/或者还有其他方法。我不希望他们访问我的域或服务器上的其他用途。他们唯一会做的事情就是上传文件。
答案1
不确定什么操作系统等很重要。如果是 Windows,以下是我过去所做的。
我只假设本地用户帐户:
- 为每个“用户/客户端”在计算机上设置本地用户帐户
- 在资源管理器中设置 NTFS 结构,以便您有一个“根”文件夹,并且该文件夹内有每个客户端/等的文件夹。
- 设置 NTFS 权限,以便每个用户(您可以使用名为 FTP 用户的组,并将他们全部添加到该组)对根文件夹具有“列表”权限。然后授予他们对每个“主”文件夹的特定权限(读/写/等等)。
- 在 FTP 站点的 IIS 中,创建与您创建的用户帐户名称完全相同的虚拟目录,并将每个目录指向正确的主文件夹。例如,BOBJONES 的虚拟目录指向 d:\ftpsite\BOBJONES
- 返回资源管理器并在与 ROOT 文件夹相同的文件夹中创建一个新文件夹,并将其命名为 DEADEND
- 授予 FTP 用户对 DEADEND 文件夹的列表/读取权限
- 返回 IIS,将 FTP 站点的“根文件夹”设置为 DEADEND 文件夹
就是这样。
现在,当 BOBJONES 登录 FTP 站点时,他就在 BOBJONES 目录中。如果他变得狡猾并试图执行 cd .. 以转到父级/根目录,他将被打入 DEADEND 文件夹,并且看不到其他人的主文件夹列表等。(注意:他仍然可以通过键入 cd BOBJONES 返回到他的主文件夹)
最后说明一下:任何拥有用户 ID 但没有同名虚拟目录的人都将默认进入已更改为 DEADEND 的根目录。