客户机:192.168.0.106 服务端:192.168.0.108(xiaohua108)
一、安装vsftp软件
1、服务端安装直接使用yum安装yum -y install vsftpd
2、客户端安装yum -y install lftp
二、创建虚拟账号
[root@xiaohua108 ~]# vim /etc/vsftpd/vsftpd_user.txt 此文件需要创建
xiaohua #用户名 此用户名需要与下文创建的虚拟帐号配置文件名一致
123456#密码
guanghui #不同虚拟账户下面配置文件中可以设置不同权限
123456
[root@xiaohua108 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
[root@xiaohua108 ~]# chmod 600 /etc/vsftpd/vsftpd_user.db #修改文件权限(安全起见)
3、配置PAM文件vim/etc/pam.d/vsftpd,注销里面的内容添加以下内容
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
注:db=..后面vsftpd_user不带.so
三、创建系统账户并指定家目录(虚拟账号需要调用系统账号,故需要创建)
1、有几个虚拟用户对应几个系统账户
[root@xiaohua108 ~]# useradd -d /var/ftp/vir1 huahua1
[root@xiaohua108 ~]# useradd -d /var/ftp/vir2 huahua2
[root@xiaohua108 ~]# chmod -R 500 /var/ftp/vir1 #设置权限不同虚拟用户可以设置不同权限
[root@xiaohua108 ~]# chmod -R 700 /var/ftp/vir2 # 根据自己需求设置不同权限
四、为每个虚拟账号创建独立的配置文件(配置文件需要分别与虚拟账户用户名对应)
local_enable=YES # 允许本地账号登陆
chroot_local_user=YES #将所有本地用户限制在家目录
pam_service_name=vsftpd #配置vsftpd 使用PAM模块为vsftpd
然后在pam_service_name=vsftpd下面追加以下内容
user_config_dir=/etc/vsftpd/virconfig #设置虚拟帐号的主目录
max_clients=300 #设置ftp服务器最大接入数
max_per_ip=10 #设置每个ip最大连接数
2、在user_config_dir指定路径下,建立与虚拟账号同名的配置文件
[root@xiaohua108 ~]# mkdir /etc/vsftpd/virconfig
[root@xiaohua108 ~]# touch /etc/vsftpd/virconfig/xiaohua
[root@xiaohua108 ~]# touch /etc/vsftpd/virconfig/guanghui
3、配置虚拟账号文件
xiaohua账户文件vim /etc/vsftpd/virconfig/xiaohua
guest_enable=yes:开启虚拟帐号登录
guest_username=huahua1:设置ftp 对应的系统帐号为huahua1
anon_world_readable_only=no:允许匿名用户浏览整个服务器的文件系统
anon_max_rate=50000:限定传输速率为50KB/s
guanghui账户文件配置
guest_enable=yes:开启虚拟帐号登录
guest_username=huahua2:设置ftp 对应的系统帐号为huahua2
anon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统
write_enable=yes:允许在文件系统写入权限
anon_mkdir_write_enable=yes:允许创建文件夹
anon_upload_enable=yes:开启匿名帐号的上传功能
anon_max_rate=100000:限定传输速度为100KB/s
注:配置文件中的字段可根据自己所需进行修改,不同的用户可以设置不同的权限
五、测试
登陆客户机进行测试
[root@xiaohua106 ~]# lftp 192.168.0.108 -u xiaohua,123456
lftp xiaohua@192.168.0.108:~> ls
-rw-r--r-- 1 0 0 0 Aug 07 04:57 xiaohua.txt
xiaohua对应系统vir1账户
[root@xiaohua106 ~]# lftp 192.168.0.108 -u guanghui,123456
lftp guanghui@192.168.0.108:~> ls
-rw-r--r-- 1 0 0 0 Aug 07 04:57 guanghui.txt
guanghui对应vir2账户