实验—–实现基于文件验证的vsftpd虚拟用户

文章目录

[隐藏]

  • 一、创建虚拟用户数据库文件
  • 二、创建系统用户和访问FTP目录
  • 三、创建pam配置文件,用来完成用户认证
  • 四、编辑vsftpd配置文件,指定pam配置文件
  • 五、SELinux设置
  • 六、虚拟用户建立独立的配置文件
  • 七、重启vsftpd服务
  • 八、客户端测试:需要事先安装ftp客户端工具(yum install ftp)

准备安装包:yum install vsftpd

启动服务: systemctl start vsftpd

步骤:

一、创建虚拟用户数据库文件

①编辑文本文件

vim /etc/vsftpd/ftpuser.txt   奇数行是用户名,偶数行是密码      ftpuser1      123456      ftpuser2      123456  

②此文件需要被编码为hash格式

cd /etc/vsftpd/  db_load -T -t hash -f ftpuser.txt ftpuser.db  编码为hash格式  chmod 600 ftpser.db               为了安全修改权限  file ftpuser.db                查看文件格式  

二、创建系统用户和访问FTP目录

①useradd -r -m -d /var/ftproot -s /sbin/nologin ftpuser 即/var/ftproot是根目录

②chmod 555 /var/ftproot/ 根目录上不能有写权限,否则不能登录

③mkdir /var/ftproot/upload 创建子目录,方便用户访问

④setfacl -m u:ftpuser:rwx /var/ftproot/upload 给予系统用户对该目录的rwx权限

三、创建pam配置文件,用来完成用户认证
vim /etc/pam.d/vsftpd.db      auth required pam_userdb.so db=/etc/vsftpd/ftpuser[.db]      account required pam_userdb.so db=/etc/vsftpd/ftpuser[.db]       后缀db可省略,会自动识别  

四、编辑vsftpd配置文件,指定pam配置文件
vim /etc/vsftpd/vsftpd.conf  

添加下面两行

guest_enable=YES  guest_username=ftpuser       映射为系统用户ftpuser  

修改下行:

pam_service_name=vsftpd.db     pam配置文件  
五、SELinux设置

禁用selinu,或者setenforce 0

六、虚拟用户建立独立的配置文件

说明:vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。

①mdkir /etc/vsftpd/ftpuser.d/ 创建配置文件存放的路径

②编辑vsftp配置文件,指明用户配置文件路径:

vim /etc/vsftpd/vsftpd.conf      user_config_dir=/etc/vsftpd/ftpuser.d/  

③创建用户ftpuser1自已的配置文件,登陆目录为默认目录

(/var/ftproot/)    vim /etc/vsftpd/ftpuser.d/ftpuser1     文件名同用户名      anon_upload_enable=YES        支持上传      anon_mkdir_write_enable=YES       支持创建文件夹  

实现效果:wang用户连接ftp登陆之后,进入upload目录可以上传文件和创建文件夹了

④创建用户ftpuser2的配置文件,实现登陆目录改变至指定目录

mkdir /var/ftproot2;chmod 555 /var/ftproot2   作为ftpuser2的登陆目录   vim /etc/vsftpd/ftpuser.d/ftpuser2      local_root=/var/ftproot2       登录目录改变至指定的目录  
七、重启vsftpd服务
systemctl restart vsftpd  
八、客户端测试:需要事先安装ftp客户端工具(yum install ftp)

①ftp 192.168.199.140(vsftpd服务器ip)

使用ftpuser1登陆,可以使用put上传文件并且可以创建文件夹。效果如下:

②ftp 192.168.199.140

使用ftpuser2登陆,使用ls看不到任何文件,说明已经更改登陆目录,效果如下:

原文出处:51cto -> http://13150617.blog.51cto.com/13140617/1976542

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。