要求:

   一、禁止匿名账号和系统账号登录FTP服务器

   二、普通账号被禁锢在家目录

   三、开启指定用户能切换到其他目录

   四、设置系统登录日志记录

1、安装

#yum install vsftpd lftp -y#rpm -ql vsftpd/etc/logrotate.d/vsftpd/etc/pam.d/vsftpd/etc/rc.d/init.d/vsftpd/etc/vsftpd/etc/vsftpd/ftpusers/etc/vsftpd/user_list/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd_conf_migrate.sh/usr/sbin/vsftpd/usr/share/doc/vsftpd-2.2.2/usr/share/doc/vsftpd-2.2.2/AUDIT/usr/share/doc/vsftpd-2.2.2/BENCHMARKS/usr/share/doc/vsftpd-2.2.2/BUGS/usr/share/doc/vsftpd-2.2.2/COPYING/usr/share/doc/vsftpd-2.2.2/Changelog/usr/share/doc/vsftpd-2.2.2/EXAMPLE/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow/usr/share/doc/vsftpd-2.2.2/EXAMPLE/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README.configuration/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/README/usr/share/doc/vsftpd-2.2.2/FAQ/usr/share/doc/vsftpd-2.2.2/INSTALL/usr/share/doc/vsftpd-2.2.2/LICENSE/usr/share/doc/vsftpd-2.2.2/README/usr/share/doc/vsftpd-2.2.2/README.security/usr/share/doc/vsftpd-2.2.2/REWARD/usr/share/doc/vsftpd-2.2.2/SECURITY/usr/share/doc/vsftpd-2.2.2/SECURITY/DESIGN/usr/share/doc/vsftpd-2.2.2/SECURITY/IMPLEMENTATION/usr/share/doc/vsftpd-2.2.2/SECURITY/OVERVIEW/usr/share/doc/vsftpd-2.2.2/SECURITY/TRUST/usr/share/doc/vsftpd-2.2.2/SIZE/usr/share/doc/vsftpd-2.2.2/SPEED/usr/share/doc/vsftpd-2.2.2/TODO/usr/share/doc/vsftpd-2.2.2/TUNING/usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd/usr/share/man/man5/vsftpd.conf.5.gz/usr/share/man/man8/vsftpd.8.gz/var/ftp/var/ftp/pub

2、配置

#sed '{/^#/d;/^$/d}' /etc/vsftpd/vsftpd.confanonymous_enable=NO                             #设定不让匿名登录local_enable=YES                                #指定在/etc/passwd内的账号才能以真实用户登录write_enable=YES                                #允许用户上传文件与目录local_umask=022                                 #建立新目录755和文件644权限     dirmessage_enable=YES                           #若目录下有.message则会显示其中的内容connect_from_port_20=NO                         #支持主动式联机功能xferlog_enable=YES                              #启动登录文件记录,记录于/var/log/xferlogdual_log_enable=YES                             #启用独立日志功能vsftpd_log_file=/var/log/vsftpd.log             #ftp访问日志位置xferlog_file=/var/log/xferlog                   #登录日志位置xferlog_std_format=YES                          #支持wuftp日志格式,可以使用wuftp登录文件的分析软件chroot_list_enable=YES                          #启用chroot禁锢用户列表模式,和下项配合使用chroot_list_file=/etc/vsftpd/chroot_list        #如果为YES,设定不被chroot用户列表chroot_local_user=YES                           #限制默认用户chrootpasv_enable=YES                                 #支持数据流的被动连接模式pasv_min_port=40000                             #被动连接模式支持的pasv_max_port=40080                             端口范围pasv_promiscuous=YES                            #禁用pasv检查listen=YES                                      #独立进程启动listen_port=10090                               #使用命令通道端口,服务器侦听端口pam_service_name=/etc/pam.d/vsftpd              #pam模块名称userlist_enable=YES                             #开启userlist机制管理登录账号userlist_deny=YES                               #默认YES,拒绝列表userlist_file=/etc/vsftpd/user_list             #列表位置tcp_wrappers=YES                                #支持tcp wrappers的防火墙机制max_clients=10                                  #最多支持10个用户的连接max_per_ip=50                                   并且一个用户最多50的连接

3、新建测试账号

#useradd nagios#echo 'nagios' | passwd --stdin nagiosChanging password for user nagios.passwd: all authentication tokens updated successfully.

4、不受chroot控制的用户

#cat /etc/vsftpd/chroot_listnagios

5、测试

#lftp -p 10090 -u nagios,nagios ServerIP#lftp nagios@192.168.100.10:~> ls-rw-r--r--    1 501      501          1578 May 05 03:41 passwd-rw-r--r--    1 501      501           220 May 05 03:41 rc.localchenglftp nagios@ServerIP:~cd /etc/cd ok, cwd=/etclftp nagios@ServerIP:/etc> pwd

逃离Home成功

6、一般用户测试

# lftp -p 10090 -u cytxmanager,centos ServerIPlftp cytxmanager@ServerIP:~> ls-rw-r--r--    1 500      500          1578 May 05 03:14 passwdlftp cytxmanager@ServerIP:/> cd /etc/cd: Access failed: 550 Failed to change directory. (/etc)

被chroot