要求:
一、禁止匿名账号和系统账号登录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
本文出自 “技术小菜” 博客,请务必保留此出处http://390892467.blog.51cto.com/2006821/1406753