vsftp-基于虚拟用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp-基于虚拟用户相关的知识,希望对你有一定的参考价值。

一、在线安装vsftpd需要的组件
[[email protected] home]# yum -y install vsftpd*
[[email protected] home]#yum -y install pam*
[[email protected] home]# yum -y install db4*  
[[email protected] home]# yum -y install db4-utils

二、建立虚拟用户

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

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

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

四、编辑vsftpd的PAM认证

[[email protected] 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

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

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

六、配置 vsftpd.conf

[[email protected] 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
[[email protected] home]# mkdir /etc/vsftpd/userconf

七、虚拟用户权限配置

[[email protected] 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      
[[email protected] 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服务器程序。特点是小巧轻快,安全易用。

以上是关于vsftp-基于虚拟用户的主要内容,如果未能解决你的问题,请参考以下文章

CentOS平台部署vsftp(基于虚拟用户)

虚拟用户vsftp

基于虚拟用户的方式使用vsftp

VSFTP安装(只允许虚拟用户登录)

Linux实现基于MySQL存储用户的vsFTP服务

红帽7(centos 7)配置VSFTP