一、简介
Windows下常用Ftp服务器软件: Serv-U、IIS、Filezilla;Linux下Ftp服务器软件:Vsftpd、Filezilla、wuftpd、proftpd 、pureftp
Vsftp(Very Secure FTP)是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,是一款小巧而又易用FTP服务器程序,Vsftpd 在安全性、高性能及稳定性三个方面有很好的表现。它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免“globbing”类型的拒绝服务攻击。
二、安装
[root@localhost ~]# rpm -q vsftpd #查询是否安装Vsftp
package vsftpd is not installed #提示没有安装
[root@localhost ~]# yum list|grep vsftpd #使用Yum安装,需要配置好Yum才能使用,当然也可以从光盘映像安装
[root@localhost ~]# rpm -q vsftpd #再查看是否安装成功
vsftpd-2.2.2-11.el6_3.1.x86_64 #已经安装成功
三、配置
[root@localhost ~]# rpm -qc vsftpd #查询vsftpd的配置文件
/etc/logrotate.d/vsftpd #日志文件
/etc/pam.d/vsftpd #PAM认证文件
/etc/rc.d/init.d/vsftpd #服务启动脚本
/etc/vsftpd #Vsftpd配置文件存放路径
/etc/vsftpd/ftpusers #禁止使用Vsftpd的用户列表文件
/etc/vsftpd/user_list #禁止或允许使用Vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf #主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh #vsftpd操作的一些变量和设置
/usr/sbin/vsftpd #Vsftpd执行程序
/var/ftp #匿名用户目录
/var/ftp/pub #默认匿名用户存放文件目录
四、指令
1、基础参数设置
local_enable=YES #是否允许本地用户访问
write_enable=YES #全局配置用户是否对Ftp服务器有可写(删除和修改)权限
local_umask=022 #用户上传的文件权限
ls_recurse_enable=YES #是否允许递归
listen=YES #是否监听
listen_ipv6=YES #是否监听Ipv6
pam_service_name=vsftpd #设置PAM模块提供的认证服务所使用的配置文件名
tcp_wrappers=YES #是否使用些方式作为访问控制方式
dirmessage_enable=YES #当使用者切换目录,会显示该目录下的.message文件中内容
xferlog_enable=YES #记录使用者所有上传下载信息
connect_from_port_20=YES #确定端口连接是20端口
chown_uploads=YES #是否允许改变上传文件的属主,与下面配合使用
chown_username=whoever #上传文件的属主,whoever任何人
xferlog_file=/var/log/xferlog #将上传下载信息记录到日志
xferlog_std_format=YES #日志使用标准格式
nopriv_user=ftpsecure #运行Vsftp需要非特权系统用户
async_abor_enable=YES #如果Ftp_client会下达“async abor”这个指令需要开启
ascii_upload_enable=YES #是否以ASCII方式传输数据
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service. #Ftp欢迎信息
deny_email_enable=YES #黑名单设置
banned_email_file=/etc/vsftpd/banned_emails #当上面一个选项开启,可以设置哪些邮箱地址不能登录Ftp服务器
2、匿名用户设置
anonymous_enable=YES #是否允许匿名用户访问
anon_upload_enable=YES #是否允许匿名用户上传文件,须开启全局配置可写权限
anon_mkdir_write_enable=YES #是否允许匿名用户创建目录
anon_other_write_enable=YES #是否允许匿名用户有写入权限
3、普通用户设置
userlist_enable=yes #是否开启用户清单 注:开启时匿名帐号不能登陆
userlist_deny=no #用户清单中用户是否拒绝访问(是,则清单用户不可登录,否则只有清单用户可登录)
userlist_file=/etc/vsftpd/user_list #文件放置的路径
4、目录禁锢设置
chroot_local_user=YES #设置禁锢用户目录(当no时只能在自己的目录),与下面一项配合使用
chroot_list_enable=YES #是否开启chroot用户清单
chroot_list_file=/etc/vsftpd/chroot_list #指定权限名单位置,当禁锢目录时该名单可以不受禁锢
5、性能安全设置
local_max_rate=0 #本地用户传输速度限制单位字节,0为不限制
anon_max_rate=0 #匿名用户传输速度限制单位字节,0为不限制
idle_session_timeout=600 #数据传输结束后,保持连接的超时时间
data_connection_timeout=120 #数据连接超时时间
max_clients=100 #同一时间允许客户端最大连接数
max_per_ip=10 #允许同一IP在同一时间最大连接
connect_timeout=60 #客户端尝试连接命令通道超过60秒强制断开
pasv_enable=YES #是否启动被动式联机
accept_timeout=60 #当使用被动式进行数据传输时,如果主机启用passive port并等待客户端60秒无响应强制断开
6、ssl加密设置
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key
五、参考
http://www.it165.net/admin/html/201308/1674.html
http://blog.chinaunix.net/uid-28476-id-2134671.html