Vsftpd+tcp_wrappers控制主机和用户访问

时间:2022-03-24 04:24:04

RHEL4中的vsftpd在编译时已经支持tcp_wrappers,因此可以利用tcp_wrappers实现主机访问控制。

实验之前,首先说下tcp-wrappers的执行顺序:

先执行hosts.allow,如果hosts.allow里面有名单,则允许名单内的机子访问;否则,则向下寻找hosts.deny,如果hosts.deny里面有名单,则拒绝名单内的机子访问,如果也没有(即allow和deny里面都没有名单)则允许该主机访问。

实际生活中,host.allow也可以设置“拒绝”功能,所以一般情况下只使用/etc/hosts.allow对主机进行访问控制即可。

(一)主机访问控制

在主机(192.168.1.102)上配置vsftpd服务,使得除了192.168.1.100以外允许192.168.1.0/24网段的其他主机访问此FTP服务。

方案蛮简单,编辑/etc/hosts.allow

vsftpd:192.168.1.100:DENY

vsftpd:192.168.1.

重启vsftpd,可达到实验目的,大家在实验中可对tcp_wrappers将实验做复杂点。

(二)用户访问控制

vsftpd具有灵活的用户访问控制功能。在具体实现中,vsftpd的用户访问控制分为两类:第一类是传统用户列表/etc/vsftpd/ftpusers,我把它理解为系统列表(即系统禁止的);第二类是改进的用户列表文件/etc/vsftpd/user_list,我把它理解为自己想禁止的名单

要想实现第二类名单控制,必须在vsftpd.conf里面有

userlist_enable=YES

userlist_deny=YES //此条是系统默认存在的,即不需用添加系统也默认为YES

userlist_file=/etc/vsftpd/usrer_list

通过以上简单的实验,可达到vsftpd强大的控制能力。