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

vsftpd基于mysql服务实现:mysql

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

   没有就编译安装pam-mysql
数据库

   步骤:vim

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

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

      

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

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

      # make && make installserver

    4. 以后在mysql数据库中建立数据库、表,在表中定义三个字段id,name,passwd。 受权等一系列操做ssl

       在此步骤中须要建立如下内容:

       连上数据库:开启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、重启服务

相关文章
相关标签/搜索