我对“ftp jailing”一词的含义不太清楚,但当涉及到权限和安全时,模糊概念是不明智的。它是什么?它是如何实现的?它主要是 ftp 服务器的功能,还是源自底层操作系统的权限管理方式?
答案1
ftp 中的“Jailing”表示将 ftp 会话锁定到文件系统的特定子集。通常设置为,如果特定用户登录,他们只能通过 ftp 访问自己的目录空间。
ftp 服务器通常会有一个选项,当用户连接时,会 chroot 该用户,这意味着就该用户而言,宇宙的根是整个可用文件系统的某个特定部分。
'vsftp' 有一个非常清晰的解释和操作方法vsftpd。
其他一些例子包括普罗夫特和hp/ux 上的 ftp。
答案2
以下是我在 Windows IIS 环境中的操作方法。相信将来它一定会对某些人有所帮助。
- 为每个“用户/客户端”在计算机上设置本地用户帐户
- 在资源管理器中设置 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 的根目录。
答案3
FTP jailing 意味着登录用户将他的根目录视为您定义的目录。他无法再向上移动,因为 FTP 客户端将其目录视为根目录。
假设您有以下内容:
/home/ben_linus/
/home/ben_linus/data
/home/ben_linus/progs
您将根目录设置为 /home/ben_linus/
他会看到
/
/data
/progs
答案4
这是 ftp 服务器的一个功能(对于大多数服务器来说),例如使用 vsftpd,你可以使用配置将用户“监禁”到他们的主目录中
chroot_local_user=YES
ftp 服务器不会允许用户进入该目录。
User homedir: /home/ftp
User can access: /home/ftp, /home/ftp/pub
User can not access: /home, /etc, /, /root etc..