马哥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
小磊哥 于 2017-10-26 01:28:35发表:
51cto上面好像有视频教程