1. 安装软件
yum -y install vsftpd*
yum -y install pam*
yum -y install db4*
2. 建立虚拟账号相关联的系统账号
useradd virftp -s /sbin/nologin
3. 建立虚拟账户相关的文件
touch /etc/vsftpd/vsftpd_login
并把你要建立的用户写到里面,奇数行是用户名,偶数行是密码
例如:
ftpuser1
121212
ftpuser2
12121212
然后生成对应的库文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4. 建立虚拟账号相关的目录以及配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
然后在该目录下,建立虚拟账号相对应的配置文件,账号和文件名对应
cd /etc/vsftpd/vsftpd_user_conf
vim ftpuser1 内容如下:
local_root=/home/virftp/ftpuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
建立配置文件中提及的ftpuser1的家目录
mkdir /home/virftp/ftpuser1
修改权限: chown -R virftp:virftp /home/virftp/
5. 修改验证文件
vim /etc/pam.d/vsftpd 在最开头添加两行
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
6. 修改vsftpd.conf
内容如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
nopriv_user=vsftpd
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
listen=YES
chroot_local_user=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
7. 启动vsftpd服务
/etc/init.d/vsftpd start
8. 关闭selinux
setenforce 0 //这一步操作是临时关闭,如果想永久关闭,需修改配置文件 vim /etc/selinux/config 把SELINUX=enforcing 改为 SELINUX=disabled
9. 测试
lftp localhost -u ftpuser1,121212 看是否能正常登录,如果不正常,请查看 /var/log/secure文件,分析日志