红联Linux门户
Linux帮助

马哥linux内容分享之vsftpd配置详解

发布时间:2014-08-22 17:19:17来源:红联作者:小小295813080
马哥linux内容分享之vsftpd配置详解
vsftpd(very secure FTP,非常安全的FTP)是一个基于GPL发布的类unix系统上使用的ftp服务器软件,目前
已经被许多大型企业的ftp站点采用.
vsftpd除了这与生俱来的安全性以外,高速与高稳定性也是vsftpd的两个重要的特点,在速度方面,千兆以太
网上的下载速度可达86Mbit/s ,在稳定方面,单机可支持4000个以上的并发用户同时连接.
vsftpd的用户认证方式有一下几种
匿名用户
授权用户 ->系统用户
->虚拟用户 ->本地db库文件
->mysql数据库
->LDAP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目录
一,vsftpd的安装
二,vsftpd.conf配置文件详解
三,基于本地db库文件认证的vsftpd
四,基于mysql数据库认证的vsftpd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

一.使用yum的方式安装vsftpd
1. 安装vsftpd
#yum -y install vsftpd
2.启动vsftpd服务,并下次开机自动启动
#service vsftpd restart
#chkconfig vsftpd on

二.vsftpd.conf配置文件详解
默认使用rpm安装的vsftpd主配置文件在/etc/vsftpd/vsftpd.conf 这个文件里有诸多的选项,下面来介绍下它们其中的妙意
1.匿名用户类
Anonymous_enable=yes 是否允许匿名用户访问

Anon_umask=022 设置匿名用户所上传文件的默认权限掩码

Anon_root=/var/ftp 设置匿名用户的ftp根目录(不设置默认在/var/ftp目录下)

Anon_upload_enable=yes 是否允许匿名用户上传文件

Anon_mkdir_write_enable=yes 是否允许匿名用户创建目录的写入权限

Anon_other_write_enable=yes 是否允许匿名用户有其它写入权限如:对文件 改名 覆盖 及删除

Anon_max_rate=0 限制匿名用户最多传输速率0为不限制
2.本地用户类
Local_enable=yes 是否允许本地系统访问

Local_umask=022 设置本地用户所上传的文件默认权限掩码

Local_root=/var/ftp 设置本地用户的ftp跟目录

Chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录里

Local_max_rate=0 限制本地用户最大的传输速率0为不限制 (单位为字节)
3.全局配置类
Listen=yes 是否以独立运行的方式监听服务

Listen_port=21 设置监听ftp服务的端口

Write_enable=yes 启用任何形式的写入权限(如上传 删除文件等) 都需要开启此项

Download_enable=yes 是否允许下载文件(建立仅限于浏览,上传的ftp服务器是此项可设为NO)

Dirmessage_enable=yes 用户切换进入目录时显示message文件(如果存在)的内容

Xferlog_enable=yes 启用xferlog日志 默认记录到/var/log/xferlog文件

Xferlog_std_format=yes 启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式

Connect_from_Port_20=yes 允许服务器主动模式(从20端口建立数据连接)

Pasv_enable=yes 允许被动模式连接

Pasv_max_port=24600 设置用于被动模式的服务器的最大端口号

Pasv_ min_port=24500 设置用于被动模式的服务器的最小端口号

Pam_Service_name=vsftpd 设置用于用户认证的PAM文件位置

Userlist_enable=yes 是否启用use_list用户列表文件

Userlist_deny=yes 是否禁止user_list用户列表中的用户

Max_clients=0 最多允许多少个客户端同时连接(0为无限制)

Max_per_ip=0 对来自相同ip地址的客户端最多允许多少个并发连接数(0 为无限制)

Tcp_wrappers=yes 是否启用tcp_wrappers 机制

三,配置虚拟用户,使用本地db库作为认证来源
1,安装相关软件包
#yum -y install db4-utils
2.创建虚拟用户映射的本地用户
#useradd -d /ftp -s /sbin/nologin vuser
#chmod o=rwx /ftp
3,修改vsftpd的主配置文件,
#vim /etc/vsftpd/vsftpd.conf 内容如下
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=yes #启用用户映射功能
guest_username=vuser #虚拟用户映射的系统用户
user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户的权限目录
4.修改PAM认证
#vim /etc/pam.d/vsftpd #注释或删除文件里的内容,内容如下
auth required pam_userdb.so db=/etc/vsftpd/ftpuser
account required pam_userdb.so db=/etc/vsftpd/ftpuser
5,建立虚拟用户的用户名密码文件
vim /etc/vsftpd/user.txt #内容如下
test #用户名
1111 #test的密码
tech #用户名
2222 #tech的密码
6,生成虚拟用户的db库文件
#db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/ftpuser.db
#chmod 600 /etc/vsftpd/ftpuser.db
7,给虚拟用户配置访问权限
给test用户配置权限
#vim /etc/vsftpd/vuser_conf/test 内容如下
local_root=/ftp #设置ftp用户的根目录
anon_upload_enable=yes #可以上传文件
anon_mkdir_write_enable=yes #可以创建目录及写入权限
anon_other_write_enable=yes #用户有其他的权限(如对文件改名覆盖及删除


给tech用户设置权限
#vim /etc/vsftpd/vuser_conf/tech 内容如下
local_root=/ftp #设置根目录
anon_upload_enable=yes #可以上传文件
anon_mkdir_write_enable=yes #可以创建目录及写入权限
anon_other_write_enable=yes #用户有其他的权限(如对文件改名覆盖及删除
8,重启vsftpd服务
#service vsftpd restart
文章评论

共有 1 条评论

  1. 小磊哥 于 2017-10-26 01:28:35发表:

    51cto上面好像有视频教程