Vsftpd虚拟用户配置

admin Linux运维评论783字数 2956阅读模式
摘要

如果基于Vsftpd系统用户访问FTP服务器,系统用户越多越不利于管理,而且不利于系统安全管理,鉴于此,为了能更加的安全使用VSFTPD,需使用Vsftpd虚拟用户方式。用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录Linux系统,从而让系统更加的安全可靠。

Vsftpd虚拟用户企业案例配置步骤如下:

一.安装Vsftpd虚拟用户需用到的软件及认证模块:

  1. yum  install   pam*  libdb-utils  libdb*   --skip-broken  -y
  2. yum install vsftpd -y

二.创建虚拟用户临时文件
/etc/vsftpd/ftpusers.txt,新建虚拟用户和密码,其中23jcw、58pxe为虚拟用户名,123456为密码,如果有多个用户,依次格式填写即可:

  1. vim /etc/vsftpd/ftpusers.txt
  2. 23jcw
  3. 123456
  4. 58pxe
  5. 123456

三.生成Vsftpd虚拟用户数据库认证文件,设置权限700:

  1. db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
  2. chmod 700 /etc/vsftpd/vsftpd_login.db

四.配置PAM认证文件,删除所有内容,然后添加/etc/pam.d/vsftpd行首加入如下两行:

  1. vim /etc/pam.d/vsftpd
  2. auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
  3. account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

五.所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:

  1. useradd -s /sbin/nologin -d /home ftpuser

六.完整vsftpd.conf配置文件代码如下:

  1. vim /etc/vsftpd/vsftpd.conf
  2. #global config Vsftpd 2017
  3. anonymous_enable=YES
  4. local_enable=YES
  5. write_enable=YES
  6. local_umask=022
  7. dirmessage_enable=YES
  8. xferlog_enable=YES
  9. connect_from_port_20=YES
  10. xferlog_std_format=YES
  11. listen=NO
  12. listen_ipv6=YES
  13. userlist_enable=YES
  14. tcp_wrappers=YES
  15. #config virtual user FTP
  16. pam_service_name=vsftpd
  17. #下面这五行是没有的,需要手动添加
  18. allow_writeable_chroot=YES
  19. guest_enable=YES
  20. guest_username=ftpuser
  21. user_config_dir=/etc/vsftpd/vsftpd_user_conf
  22. virtual_use_local_privs=YES

如上Vsftpd虚拟用户配置文件参数详解:

  1. #config virtual user FTP
  2. pam_service_name=vsftpd                                     虚拟用户启用pam认证;
  3. guest_enable=YES                                                  启用虚拟用户;
  4. guest_username=ftpuser                                        映射虚拟用户至系统用户ftpuser;
  5. user_config_dir=/etc/vsftpd/vsftpd_user_conf       设置虚拟用户配置文件所在的目录;
  6. virtual_use_local_privs=YES                                     虚拟用户使用与本地用户相同的权限。

七.至此,所有虚拟用户共同基于/home/ftpuser主目录实现文件上传与下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目录:

  1. mkdir -p /etc/vsftpd/vsftpd_user_conf/

八.如下分别为虚拟用户23jcw、58pxe用户创建配置文件:
vim /etc/vsftpd/vsftpd_user_conf/23jcw 同时创建私有的虚拟目录,代码如下:

  1. local_root=/home/23jcw.net
  2. #anon_umask=0
  3. #file_open_mode=0777
  4. write_enable=YES
  5. anon_world_readable_only=YES
  6. anon_upload_enable=YES
  7. anon_mkdir_write_enable=YES
  8. anon_other_write_enable=YES

vim /etc/vsftpd/vsftpd_user_conf/58pxe,同时创建私有的虚拟目录,代码如下:

  1. local_root=/home/www.58pxe.com
  2. #anon_umask=0
  3. #file_open_mode=0777
  4. write_enable=YES
  5. anon_world_readable_only=YES
  6. anon_upload_enable=YES
  7. anon_mkdir_write_enable=YES
  8. anon_other_write_enable=YES

虚拟用户配置文件内容详解:

  1. local_root=/home/ftpuser/jfedu002   jfedu002虚拟用户配置文件路径;
  2. #anon_umask=0
  3. #file_open_mode=0777
  4. write_enable=YES        允许登陆用户有写权限;
  5. anon_world_readable_only=YES  允许匿名用户下载,然后读取文件;
  6. anon_upload_enable=YES  允许匿名用户上传文件,只有在write_enable=YES时该参数才生效;
  7. anon_mkdir_write_enable=YES  允许匿名用户创建目录,只有在write_enable=YES时该参数才生效;
  8. anon_other_write_enable=YES  允许匿名用户其他权限,例如删除、重命名等。

九.创建虚拟用户各自虚拟目录:

  1. mkdir -p /home/{23jcw.net,www.58pxe.com}
  2. chown -R ftpuser:ftpuser /home/

重启Vsftpd服务,通过Windows客户端资源管理器登录Vsftpd服务端

##将ftp加入防火墙的允许名单

  1. firewall-cmd --permanent --add-service=ftp

用户目录控制:
如果想禁止本地用户登出自己的FTP主目录,可以设置

  1. chroot_local_user=YES (锁定本服务器上全有的FTP用户目录)

更多相关文章

centos 卸载vsftpd方法
centos中vsftpd中文乱码如何解决?
删除网络共享连接凭据两种方法

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
admin
  • 本文由 发表于 2021年9月24日 16:10:10
  • 转载请务必保留本文链接:https://www.58pxe.com/7620.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: