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强大的控制能力. |