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

简介:

准备安装包: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                查看文件格式

2166da2506eda8e0910314f4a0b9b929.jpg


二、创建系统用户和访问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可省略,会自动识别

3591a7d1785154778c48b5702549c8f5.jpg 


四、编辑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上传文件并且可以创建文件夹。效果如下:

9d697c485384e98db70cd1b57fa5ae80.jpg 

  ②ftp 192.168.199.140

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

 e26b9c60da29e85804c9da69b1d45bf6.jpg


感谢浏览,如有不同意见,欢迎留言。

j_0080.gif

















本文转自lc0108131451CTO博客,原文链接:http://blog.51cto.com/13150617/1976542 ,如需转载请自行联系原作者


相关文章
|
3月前
|
安全 Linux 网络安全
Linux加强篇011-使用Vsftpd服务传输文件
山重水复疑无路,柳暗花明又一村
244 1
Linux加强篇011-使用Vsftpd服务传输文件
|
9月前
|
存储 运维 安全
Linux巩固篇011-Linux vsftpd 服务传输文件
纸上得来终觉浅,绝知此事要躬行
11219 13
Linux巩固篇011-Linux vsftpd 服务传输文件
|
安全 Linux 数据安全/隐私保护
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
340 0
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
Vsftpd - 配置文件(推荐)
Vsftpd - 配置文件(推荐)
133 0
|
网络协议 网络安全 数据安全/隐私保护
Vsftpd - 配置文件详解
Vsftpd - 配置文件详解
100 0
|
安全 开发工具 数据安全/隐私保护
|
Linux 开发工具 数据安全/隐私保护