一、在线安装vsftpd需要的组件

[root@k8s-node01 home]# yum -y install vsftpd*
[root@k8s-node01 home]#yum -y install pam*
[root@k8s-node01 home]# yum -y install db4*  
[root@k8s-node01 home]# yum -y install db4-utils

二、建立虚拟用户

[root@k8s-node01 home]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码。奇数行为用户名,偶数行为密码。
hanye
hanye   
han
han

三、生成虚拟用户口令认证文件

把刚添加的vftpuser.txt虚拟用户口令转换成系统的口令认证文件。
[root@k8s-node01 home]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db

四、编辑vsftpd的PAM认证

[root@k8s-node01 home]# cat /etc/pam.d/vsftpd
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_list
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vu_list

五、建立本地映射用户并设置宿主权限

[root@k8s-node01 hanye]#useradd -d /home/vftpuser1  -s /sbin/nologin vftpuser
    [root@k8s-node01 hanye]#mkdir /home/vftpuser1/{hanye,han}
目录的权限应该是770,owner是root,group是vftpuser 
[root@k8s-node01 home]#chmod -R 770  /home/vftpuser1
    [root@k8s-node01 home]#chown root:vftpuser /home/vftpuser1

六、配置 vsftpd.conf

[root@k8s-node01 home]# cat /etc/vsftpd/vsftpd.conf|grep -vE "^$|^#"
     anonymous_enable=NO
     local_enable=YES
     write_enable=YES
     local_umask=022
     dirmessage_enable=YES
     xferlog_enable=YES
     connect_from_port_20=YES
     xferlog_std_format=YES
     ascii_upload_enable=YES
     ascii_download_enable=YES
     chroot_local_user=YES
     listen=NO
     listen_ipv6=YES
     pam_service_name=vsftpd
     userlist_enable=YES
     tcp_wrappers=YES
     guest_enable=YES
     guest_username=vftpuser
     user_config_dir=/etc/vsftpd/userconf
     allow_writeable_chroot=YES
[root@k8s-node01 home]# mkdir /etc/vsftpd/userconf

七、虚拟用户权限配置

[root@k8s-node01 userconf]# cat hanye 
     anon_world_readable_only=NO
     write_enable=YES
     anon_upload_enable=YES
     anon_other_write_enable=NO
     local_root=/home/vftpuser1/hanye
     anon_mkdir_write_enable=YES      
[root@k8s-node01 userconf]# cat han
     anon_world_readable_only=no
     write_enable=yes
     anon_upload_enable=yes 
参数解释
     local_root=/home/vftpuser1/hanye (指定FTP只能登陆到这里)
     anon_world_readable_only=no (只读,不能下载) 
     write_enable=yes  (可写入)[不能单独使用,相当于写开关]        
     anon_upload_enable=yes (可上传)      
     anon_other_write_enable=yes (可删除)      
     anon_mkdir_write_enable=yes (可创建目录)
    重启vsftpd:systemctl restart vsftpd

ftp登录查看

hanye用户

vsftp-基于虚拟用户

hanyonghu

vsftp-基于虚拟用户

常用组合:


1.可浏览
anon_world_readable_only=no

1-1.禁浏览
anon_world_readable_only=yes (默认设置)

2.可上传
write_enable=yes
anon_upload_enable=yes

3.浏览+下载+上传
anon_world_readable_only=no
write_enable=yes
anon_upload_enable=yes

4.浏览+下载+上传+删除
anon_world_readable_only=no
write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=yes

5.浏览+下载+上传+创建目录+删除
anon_world_readable_only=no
write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=yes
anon_mkdir_write_enable=yes

6.浏览+下载+上传+创建目录+不可删除
anon_world_readable_only=no
write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=no (或取消本项参数)
anon_mkdir_write_enable=yes

总结

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。