vsftpd在linux下的安装与配置过程详解

发布时间:2020-10-16编辑:脚本学堂
本文介绍下,在linux系统中安装与配置vsftpd服务软件的方法,深入学习下vsftpd这款ftp软件的配置方法,有需要的朋友参考下。

本节内容:
linux操作系统中安装与配置vsftpd

生产环境:centos5.6,
ftp软件:vsftpd(vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。

以下是vsftpd的详细安装与配置步骤。
 
1,查看是否安装vsftp
 

复制代码 代码示例:
 rpm -qa | grep vsftpd
 

 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp
 
 安装vsftp
 

复制代码 代码示例:
 yum -y install vsftpd

2,测试 是否安装成功 (匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容 这说明vsftpd安装成功)
 

复制代码 代码示例:
 [root@localhost ~]#service vsftpd start
 为 vsftpd 启动 vsftpd:[确定]

3,配置vsftpd
 

复制代码 代码示例:
 # whereis vsftpd
 vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

yum安装的主要目录为上述的3个目录,其中配置文件vsftpd.conf在/etc/vsftpd中。
 
 配置vsftpd.conf: 
 

复制代码 代码示例:
 # 默认配置文件: /etc/vsftpd.conf
 # 配置的选项及说明
 ######### 核心设置 ###########
 
 # 允许本地用户登录
 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=2121
 
 ######### 匿名登录设置 ###########
 
 # 允许匿名登录
 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=5000
 
 # 被动模式最大端口
 pasv_max_port=6000
 
 ######### 其他设置 ###########
 # 欢迎信息
 ftpd_banner=Welcome to Ftp Server!
 
4,添加ftp防火墙规则:
 /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 /etc/init.d/iptables restart

Iptables不熟悉的朋友,可以参考如下的文章:
解析 iptables常用规则设置
配置 iptables 静态防火墙
iptables防火墙配置一例
iptables配置实例详解
iptables实例收藏
linux iptables 开启关闭端口的方法
linux iptables入门教程
 
5,添加用户(注意,该处添加nologin类型用户ftpuser):
 

复制代码 代码示例:
useradd -d /home/ftp -s /sbin/nologin ftpuser

 如果已启动vsftpd,重新启动:
 

复制代码 代码示例:
 pkill vsftpd /usr/sbin/vsftpd &

6,到此,ftp服务器搭建成功。
可以使用FileZilla FTP或FlashFXP等客户端软件登陆ftp server进行测试。