一、在线安装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用户
hanyonghu
常用组合:
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服务器程序。特点是小巧轻快,安全易用。