设为首页 收藏本站
查看: 1246|回复: 0

[经验分享] vsftpd的基于pam_mysql的虚拟用户机制

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-27 09:33:35 | 显示全部楼层 |阅读模式
一、vsftpd简介

  vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
  FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

二、安装vsftpd

  安装vsftpdf服务,可通过yum命令安装,我的CentOS 7已安装,版本如下

    wKioL1cexXvSzO0jAAAGuAi-5WI875.jpg

三、数据库安装和配置

   基于mysql服务:


# yum -y groupinstall "Development Tools" "Server Platform Development"

# yum -y install pam-devel  mariadb-devel openssl-devel

下载pam-mysql驱动,并编译安装。
     (安装后模块路径:/usr/lib64/security/pam_mysql.so)

  # wget pam-mysql.sourceforge.net/pam-mysql-0.7RC1.tar.gz
  # tar xf pam-mysql-0.7RC1.tar.gz
  # ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security  
  # make && make install


   mariadb配置:


# systemctl start mariadb.service
# mysql


MariaDB [(none)]> CREATE DATABASE ftpdf;

MariaDB [(none)]> use ftpdf
wKioL1ce1xqA0cIoAABcQ_Z-S2k883.jpg



      修改pam配置文件,在/etc/pam下配置


# vim /etc/pam.d/vsftpd.mysql

内容为:

auth required /usr/lib64/security/pam_mysql.so user=ftpdf passwd=mageedu host=localhost db=ftpdf table=users usercolumn=name  passwdcolumn=password crypt=2
account required /usr/lib64/security/pam_mysql.so user=ftpdf passwd=mageedu host=localhost db=ftpdf table=users usercolumn=name  passwdcolumn=password crypt=2

         为虚拟用户创建映射用户

      # cd /etc/pam.d
      # useradd -s /sbin/nologin -d /ftproot vuser
      # ls -ld  #查看权限,确保用户的家目录可以让其他用户能读能执行

      # chmod go-rx /ftproot


      配置mysql

         修改配置文件: /etc/vsftpd/vsftpd.conf

1、修改pam认证模块名字为vsftpd.mysql

    wKioL1ce3rzS1WweAAAJD_KvE-E687.jpg


2、确保下面三项为YES

    wKioL1ce3zfjdEn_AAAitShHnYE732.jpg

3、添加配置
    guest_enable=YES #是否允许来宾访问

    guest_username=vuser



  注:anon_upload_enable=YES # 用户可上传文件


   接下来就可以启动服务,进行测试:


    wKiom1ce7DyxQFVDAAAupA4gBQg300.jpg




附加:单独用户的权限控制方案(以tom和jerry为例)

   1、修改主配置文件

                # vim /etc/vsftpd/vsftpd.conf


               anon_upload_enable=YES #注释掉这一行,不允许用户上传。


        2、创建配置目录,让用户使用不同的配置文件,实现每个虚拟用户的单配置文件使用


                  # cd /etc/vsftpd/

                  # mkdir vusers.conf.d

                  # cd vusers.conf.d
                  # vim tom

                  anon_upload_enable=YES #内容为tom用户允许上传

                  # cp tom jerry
                  # vim jerry
                  anon_upload_enable=NO #内容为jerry用户不允许上传


    3、编辑主配置文件,告诉其用创建的配置目录做加载配置


                # vim /etc/vsftpd/vsftpd.conf

                 user_config_dir=/etc/vsftpd/vuser.conf.d # 主配置文件下面添加一行


            4、重启服务进行验证,tom可以上传文件,jerry不能。

             # systemctl restart vsftpd.service






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-209425-1-1.html 上篇帖子: 创建vsftpd的基于pam_mysql的虚拟用户机制 下篇帖子: vsftpd基于pam_mysql的虚拟用户认证 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表