1、VSFTPD安装(略)
2、Vsftpd主配置文件
以下vsftpdd配置都是基于RMP的安装,主配置文件/etc/vsftpd/vsftpd.conf,最后所有产生效用的设置如下:
注:在配置文件中等号前的部分大小写是敏感的,一定要全部小写
3、虚拟用户配置
(1)创建虚拟帐号对应的系统用户
虚拟帐号vip对应系统帐号henly,并指定主目录为/var/ftp/vip
useradd –d /var/ftp/vip henly 创建帐号并同时在/var/ftp下创建目录
更改家目录权限:
chmod –R 500 /var/ftp/vip 虚拟帐号vip只允许下载
或
chmod –R 700 /var/ftp/vip 客户帐号vip允许上传和下载
注:家目录权限管理需配合虚拟帐号配置文件使用
(2)建立用户资料
先建立保存用户名和密码的文件vsftpd_user.txt,然后在vsftpd_user.txt中添加用户名和密码,一行用户名,一行密码,中间不能有空行。
touch /etc/vsftpd/vsftpd_user.txt
vim /etc/vsftpd/vsftpd_user.txt
格式:
用户名1
密码
用户名2
密码
(3)生成数据库
保存虚拟帐号和密码的文本文件无法被系统帐号直接调用,需要使用db_load命令db数据库文件,
db_load -T -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
注:如果执行不成功则可能需要安装db4-utils
(4)修改数据库文件访问权限
数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取,可以修改该文件的访问权限,生成的认证文件的权限应只对root用户可读可写,即600
chmod 600 /etc/vsftpd/vsftpd_user.db
(5)配置PAM文件
为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块,PAM模块路径为/etc/pam.d/,修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”注释,添加相应字段:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
(6)虚拟帐号配置文件
设置不同权限的虚拟帐号,若使用一个配置文件就无法实现此功能,需要为每一个虚拟帐号建立独立的配置文件,并根据需要进行相应的设置。
在主配置文件中的user_config_dir指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段,
mkdir /etc/vsftpd/henly
touch /etc/vsftpd/henly/vip
vim /etc/vsftpd/henly/vip
anon_other_write_enable=yes 删除、重命名
4、selinux和iptables配置
setsebool ftpd_disable_trans 1关闭selinux对vsftp的限制
使用system-config-securitylevel-tui命令,选择定制,把ftp前的星号加上,打开ftp服务的防火墙。
5、重启vsftpd、配置完成