转载自:https://blog.51cto.com/9025736/2390436?source=dra 感谢作者!
一、在线安装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服务器程序。特点是小巧轻快,安全易用。