配置前需要配好网络、yum源及关闭防火墙
一、服务端
1、安装vsftpd软件包
[root@node1 ~]# yum -y install vsftpd
2、创建/ftp目录,并在这创建用户文本文件ftpuser.txt,并添加两个虚拟用户分别为ftpuser1和ftpuser2
[root@node1 ~]# mkdir /ftp
[root@node1 ~]# vim /ftp/ftpuser1.txt
ftpuser1
00000000
ftpuser2
00000000
3、安装vsftpd虚拟用户依赖软件包
[root@node1 ftp]# yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI
4、使用db_load命令生成db数据库
[root@node1 ~]# db_load -T -t hash -f /ftp/ftpuser1.txt /ftp/ftpuser.login.db
5、配置PAM文件
[root@node1 ~]# vim /etc/pam.d/vsftpd.pam
6、创建虚拟用户和系统用户,并建立测试文件
[root@node1 ftp]# useradd -d /var/ftp/user1 user1
[root@node1 ftp]# useradd -d /var/ftp/user2 user2
[root@node1 ftp]# chown user1:user1 /var/ftp/user1
[root@node1 ftp]# chown user2:user2 /var/ftp/user2
[root@node1 ftp]# chmod 555 /var/ftp/user1
[root@node1 ftp]# chmod 755 /var/ftp/user2
[root@node1 ~]# touch /var/ftp/user1/user1.txt
[root@node1 ~]# touch /var/ftp/user2/user2.txt
7、修改vsftpd.conf文件
[root@node1 vsftpd]# mv vsftpd.conf vsftpd.conf.bak
[root@node1 vsftpd]# vim vsftpd.conf
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
max_clients=100
max_per_ip=10
pam_service_name=vsftpd.pam
user_config_dir=/ftpconfig
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
8、在vsftpd.conf文件中"user_config_dir"指定的目录下,建立与虚拟账号同名的配置文件。配置文件名分别为ftpuser1和ftpuser2
[root@node1 ~]# mkdir /ftpconfig
[root@node1 ~]# vim /ftpconfig/ftpuser1
guest_enable=YES
guest_username=user1
anon_world_readable_only=YES
anon_max_rate=30000
[root@node1 ~]# vim /ftpconfig/ftpuser2
guest_enable=YES
guest_username=user2
anon_world_readable_only=NO
write_enable=YES
allow_writeable_chroot=YES
anon_upload_enable=YES
anon_max_rate=30000
9、重启vsftpd服务
[root@node1 ~]# systemctl restart vsftpd
二、客户端
1、安装vsftpd软件包
[root@node2 ~]# yum -y install ftp
2、测试
[root@node2 ~]# mkdir /ftp
[root@node2 ~]# touch test.txt