配置基于虚拟用户的FTP服务器并测试

配置前需要配好网络、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
经验分享 程序员 微信小程序 职场和发展