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.sodb=/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文件,分析日志