vsftpd(very secure FTP,非常安全的FTP)是一个基于GPL发布的类unix系统上使用的ftp服务器软件,目前
目录
一,vsftpd的安装
二,vsftpd.conf配置文件详解
三,基于本地db库文件认证的vsftpd
四,基于mysql数据库认证的vsftpd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一.使用yum的方式安装vsftpd
1. 安装vsftpd
- #yum -y install 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为不限制
- Local_enable=yes 是否允许本地系统访问
- Local_umask=022 设置本地用户所上传的文件默认权限掩码
- Local_root=/var/ftp 设置本地用户的ftp跟目录
- Chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录里
- Local_max_rate=0 限制本地用户最大的传输速率0为不限制 (单位为字节)
- 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
- #useradd -d /ftp -s /sbin/nologin vuser
- #chmod o=rwx /ftp
- #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 #虚拟用户的权限目录
- #vim /etc/pam.d/vsftpd #注释或删除文件里的内容,内容如下
- auth required pam_userdb.so db=/etc/vsftpd/ftpuser
- account required pam_userdb.so db=/etc/vsftpd/ftpuser
- vim /etc/vsftpd/user.txt #内容如下
- test #用户名
- 1111 #test的密码
- tech #用户名
- 2222 #tech的密码
- #db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/ftpuser.db
- #chmod 600 /etc/vsftpd/ftpuser.db
- 给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 #用户有其他的权限(如对文件改名覆盖及删除
- #service vsftpd restart