如果你想在你的Linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP服务器,那么vsftpd可能是你的首选应用。vsftpd意思为“very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。
本文讲解如何使用Yum安装Vsftpd,以Censtos6.5 32位系统为例
1.查看是否安装vsftp
rpm -qa | grep vsftpd
如果出现vsftpd-x.x.x-21.el6.i686,说明已经安装vsftp
2.安装vsftp
yum -y install vsftpd
3.启动vsftp
service vsftp start
4.配置vsftpd
编辑vsftpd配置文件vi /etc/vsftpd/vsftpd.conf (需要添加的参数直接添加到vsftp.conf后面,然后:wq保存退出,重启vsftp服务)
#########核心设置###########
#允许本地用户登录
local_enable=YES
#本地用户的写权限
write_enable=YES
#使用FTP的本地文件权限,默认为077
#一般设置为022
local_umask=022
#切换目录时
#是否显示目录下.message的内容
dirmessage_enable=YES
dirlist_enable=NO
#验证方式
#pam_service_name=vsftpd
#启用FTP数据端口的数据连接
connect_from_port_20=YES
#以独立的FTP服务运行
listen=yes
#修改连接端口
#listen_port=32121
#########匿名登录设置###########
#允许匿名登录
anonymous_enable=NO
#如果允许匿名登录
#是否开启匿名上传权限
#anon_upload_enable=YES
#如果允许匿名登录
#是否允许匿名建立文件夹并在文件夹内上传文件
#anon_mkdir_write_enable=YES
#如果允许匿名登录
#匿名帐号可以有删除的权限
#anon_other_write_enable=yes
#如果允许匿名登录
#匿名的下载权限
#匿名为Other,可设置目录/文件属性控制
#anon_world_readable_only=no
#如果允许匿名登录
#限制匿名用户传输速率,单位bite
#anon_max_rate=30000
#########用户限制设置###########
####限制登录
#用userlist来限制用户访问
#userlist_enable=yes
#名单中的人不允许访问
#userlist_deny=no
#限制名单文件放置的路径
#userlist_file=/etc/vsftpd/userlist_deny.chroot
######限制目录
#限制所有用户都在家目录
chroot_local_user=yes
#调用限制在家目录的用户名单
chroot_list_enable=YES
#限制在家目录的用户名单所在路径
chroot_list_file=/etc/vsftpd/chroot_list
#########日志设置###########
#日志文件路径设置
xferlog_file=/var/log/vsftpd.log
#激活上传/下载的日志
xferlog_enable=YES
#使用标准的日志格式
#xferlog_std_format=YES
#########安全设置###########
#用户空闲超时,单位秒
#idle_session_timeout=600
#数据连接空闲超时,单位秒
#data_connection_timeout=120
#将客户端空闲1分钟后断开
#accept_timeout=60
#中断1分钟后重新连接
#connect_timeout=60
#本地用户传输速率,单位bite
#local_max_rate=50000
#FTP的最大连接数
#max_clients=200
#每IP的最大连接数
#max_per_ip=5
#########被动模式设置###########
#是否开户被动模式
pasv_enable=yes
#被动模式最小端口
pasv_min_port=20000
#被动模式最大端口
pasv_max_port=30000
#########其他设置##############
#欢迎信息
ftpd_banner=WelcometoFtpServer!
5.添加防火墙规则
编辑vi /etc/sysconfig/iptables添加下面规则:
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT (默认为21,更改过端口就和vsftpd.conf里面的listen_port端口一致)
-A INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT (被动端口和vsftp.conf里面的一致,没有设置被动端口的可以不添加)
重启防火墙/etc/init.d/iptables restart
6.添加ftp用户(禁止远程登录)
useradd -g www -d /wwwroot/discuz -s /sbin/nologin atang(用户登录指向/wwwroot/discuz目录所属组为www 用户名atang禁止远程登录)
passwd atang (设置密码)
重启vsftpd服务 /etc/init.d/vsftpd restart
注:如果登录以后无法上传文件,请把根目录设置为777再试试(不行再关闭selinux)chmod 777 discuz
7.查看谁登陆了FTP,并杀死它的进程
ps -xf | grep ftp
kill进程号