码迷,mamicode.com
首页 > 数据库 > 详细

vsftpd的基于pam_mysql的虚拟用户机制实现数据传输

时间:2016-05-12 08:08:11      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:vsftpd   pam-mysql   

vsftpd基于mysql服务实现:

   查看是maradb中是否有pam-mysql,在目录/lib64/security/下。

   没有就编译安装pam-mysql

   步骤:

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

    2. # yum -y install pam-devel openssl-devel mariadb-devel mariadb-server

      

    3. # ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security

      注:可使用./configure -help查看配置指令

      # make && make install

    4. 之后在mysql数据库中创建数据库、表,在表中定义三个字段id,name,passwd。 授权等一系列操作

       在此步骤中需要创建以下内容:

       连上数据库:开启mariadb服务之后使用mysql命令

       a、CREATE DATABASE vsftpd;##创建数据库

       b、use vsftpd;#切换至数据库中

       c、CREATE TABLE users (id int AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30) NOT NULL,password char(48) binary NOT NULL );##创建表

       d、INSERT INTO users(name,password) VALUES (‘tom‘,password(‘mageedu‘));##创建一个用户

       e、INSERT INTO users(name,password) VALUES (‘jerry‘,password(‘mageedu‘));##创建一个用户

       f、SELECT * FROM users;##查看表

       g、GRANT select ON vsftpd.* TO vsftpd@’127.0.0.1‘ IDENTIFIED BY ‘mageedu‘;##授权用户

       h、FLUSH PRIVILEGES;

        退出,可以再次连接数据库,检查是否创建数据库和表及表的内容是否成功。


   5. pam配置文件;在目录/etc/pam.d/下有个vsftpd,但在使用时要重新创建配置文件,在/etc/pam.d/目录下创建 vsftpd.mysql  在里面添加下面内容:(注意下面的内容都是在上一步当中的数据库中添加创建过的)

      auth required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2(加密方式类型)

      

      account required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

    6.创建用户:useradd -s /sbin/nologin -d /ftproot vuser

       chmod go+rx /ftproot/

       配置文件:在配置文件/etc/vsftpd/vsftpd.conf中添加pam_service_name=vsftpd.mysql

                gusest_enable=YES

                gusest_username=vuser

                在此同时确保上面的配置正确。

    7.这时使用另一台主机尝试是否可以成功登陆。

       可以修改配置文件玩玩查看上传等功能。

    8.如果只允许其中一个用户上传,则可以通过以下方法:

      a、首先将主配置文件中的上传功能注释了

      b、创建一个用户的专一配置文件目录/etc/vsftpd/vusers.conf.d在此目录下vim tom 在tom文件中添加anon_upload_enable=YES

      vim jerry 在此文件中添加anon_upload_enable=NO

      c、此时在主配置文件中要明确告诉vsftpd要使用用户配置目录,则在主配置文件中添加user_config_dir=/etc/vsftpd/vusers.conf.d/

      d、重启服务


vsftpd的基于pam_mysql的虚拟用户机制实现数据传输

标签:vsftpd   pam-mysql   

原文地址:http://11075721.blog.51cto.com/11065721/1772442

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!