在默认的 VSFTP 配置下,VSFTP 登录用户可以导航到可能导致安全问题的顶级目录。
在某些情况下,我们不希望 FTP 用户能够访问其主目录之外的任何文件。
vsftp 守护进程可以被 chroot 来实现这个策略。
www. On IT Road .com
将 chroot jail 设置为所有本地用户的默认 $HOME 目录
按照以下步骤将 chroot jail 切换到系统上所有本地用户的默认主目录。
- 在 VSFTP Server 配置文件 /etc/vsftpd/vsftpd.conf 中,设置以下参数:
# vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES
注意:确保“chroot_list_enable”未设置为“YES”。
如果 chroot_list_enable=YES 那么你还必须在 vsftpd.conf 文件中设置参数 chroot_list_file=/etc/vsftpd/chroot_list 告诉守护进程在哪里可以找到 chroot_list 文件。
vsftpd 将查看该文件,并且该文件中列出的任何用户都将被放入 chroot jail
- 在VSFTP Server上重启vsftpd服务:
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
- 用chroot jail用户测试,在chroot目录下创建一个目录。
# ftp ftphost Connected to ftphost (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): testuser 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" ftp> ls 227 Entering Passive Mode (192.168.149.10,72,224) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (192.168.149.10,135,209) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail_dir 257 "/chroot_jail_dir" created ftp> ls 227 Entering Passive Mode (192.168.149.10,40,202) 150 Here comes the directory listing. drwxr-xr-x 2 511 511 4096 Nov 12 11:40 chroot_jail_dir 226 Directory send OK. ftp>
- 检查创建的目录在 VSFTP Server 上的位置。
我们会看到在用户“testuser”的主目录 (/home/testuser) 下创建的目录,而不是实际的根目录 (/)
目录不是在/下创建的,如下图:
# ls / | grep chroot_jail_dir
相反,它是在“testuser”用户的主目录下创建的。
# ls /home/testuser/ | grep chroot_jail_dir chroot_jail_dir
日期:2020-09-17 00:12:19 来源:oir作者:oir