一、控制用户对FTP的访问

[root@asan ~]# cd /etc/vsftpd/

[root@asan vsftpd]# ls

chroot_list ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

怎么访问ftp服务器(控制访问FTP用户控制)(1)

文件ftpusers 、user_list与控制用户访问FTP服务器有关

[root@asan vsftpd]# cat vsftpd.conf

userlist_enable=YES #使用user_list文件,该文件位于/etc/vsftpd/目录,该文件默认已存在,只需要将不能登录的用户加入到该文件中即可,不在user_list文件中的用户允许登录

怎么访问ftp服务器(控制访问FTP用户控制)(2)

设置用户user3不能访问FTP服务

[root@asan vsftpd]# vim user_list

怎么访问ftp服务器(控制访问FTP用户控制)(3)

添加用户user3

验证结果

怎么访问ftp服务器(控制访问FTP用户控制)(4)

登录失败

与FTP服务器的tcp连接并没中断,只是用户认证没有通过。

怎么访问ftp服务器(控制访问FTP用户控制)(5)

用户asan登录成功

说明user_list文件以外的用户能够成功登录FTP服务。

==========================================

[root@asan vsftpd]# vim vsftpd.conf

怎么访问ftp服务器(控制访问FTP用户控制)(6)

添加配置

userlist_deny=NO #设置user_list中用户被允许登录FTP服务器,而不在该文件的用户将默认被禁止。

重启服务验证

怎么访问ftp服务器(控制访问FTP用户控制)(7)

成功与失败

说明user_list中的用户(user3)被允许登录,而不在文件中的用户(asan)禁止登录。

再验证root用户登录

怎么访问ftp服务器(控制访问FTP用户控制)(8)

root登录失败

原因:ftp登录认证还要检查文件/etc/vsftpd/ftpuser,该文件中的所有用户均不能登录ftp服务器,即使该用户在user_list中被允许登录。

若想root用户登录,需在ftpusers文件中删除root。

怎么访问ftp服务器(控制访问FTP用户控制)(9)

ftpusers中删除root

root再次登录验证

怎么访问ftp服务器(控制访问FTP用户控制)(10)

root登录成功

二、控制主机对FTP的访问

[root@asan vsftpd]# tail vsftpd.conf #查看配置文件的后十行内容

怎么访问ftp服务器(控制访问FTP用户控制)(11)

tcp_wrappers=YES #允许使用tcp_wrappers

该配置设置vsftpd服务器是否与tcp_wrapper相结合,进行主机的访问控制,默认为YES。vsftpd服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。

怎么访问ftp服务器(控制访问FTP用户控制)(12)

/etc/hosts.allow #允许访问服务的主机

/etc/hosts.deny #禁止访问服务的主机

[root@asan vsftpd]# vim /etc/hosts.deny

怎么访问ftp服务器(控制访问FTP用户控制)(13)

hosts.deny

文件中加入配置 vsftpd:all #禁止所有主机访问FTP服务

验证

怎么访问ftp服务器(控制访问FTP用户控制)(14)

访问

说明:当任何主机试图连接FTP服务器时,均被tcp_wrappers拒绝。

增加服务器自身ip后访问

[root@asan ~]# vim /etc/hosts.allow

文件中增加配置:vsftpd:192.168.123.231

怎么访问ftp服务器(控制访问FTP用户控制)(15)

怎么访问ftp服务器(控制访问FTP用户控制)(16)

访问成功

tcp_wrappers会首先检查hosts.allow文件;

如果在该文件中被允许,即允许访问,不会再检查hosts.deny;

如果在该文件中没有相匹配的规则,则会检查hosts.deny文件;

如果在hosts.deny中被拒绝,则拒绝该主机的访问;

如果hsots.deay文件中也没有相匹配的规则,会允许该主机访问。

,