建立基於mysql的ftp虛擬使用者

來源:互聯網
上載者:User

標籤:搭建ftp基於mysql

實驗環境:需要兩台主機

    1、一台mariadb server

    2、一台ftp server

一、mariadb伺服器

    1、安裝mariadb包

        yum install mariadb-devel

    2、跑下安全指令碼

         mysql_secure_installation   
    3、建立資料庫

        mysql -uroot -p

        >create database vsftpd;

        >use vsftpd

        >create table ftpusers(name char(30),pass char(50));(建立表)

        >insert ftpusers values(‘ftp1‘,password(‘centos‘)),(‘ftp2‘,password(‘magedu‘));(添加表內容)

        >grant select on vsftpd.ftpusers to ‘ftp‘@‘172.17.166.166‘ identified by ‘centos‘;(給[email protected]授權)

二、ftp伺服器

    1、安裝包組以及所需要的包

        yum groupinstall "development tools"

        yum install mysql-devel pam-devel

     2、編譯安裝 pam_mysql-0.7RC1.tar.gz

    tar xvf pam_mysql-0.7RC1.tar.gz

    cd pam_mysql-0.7RC1

    ./configure --with-pam-mods-dir=/lib64/security --with-pam=/usr

    make  && make install

    3、建立使用者

       useradd -d  /app/ftpdir -r -m ftpuser (建立系統使用者,使所有使用者訪問都指向ftpuser)

    4、編寫模組設定檔

    vim /etc/pam.d/vsftpd.mysql

        auth required pam_mysql.so user=ftp passwd=centos host=172.17.177.177 db=vsftpd table=ftpusers usercolumn=name passwdcolumn=pass crypt=2

        account required pam_mysql.so user=ftp passwd=centos host=172.17.177.177 db=vsftpd table=ftpusers usercolumn=name passwdcolumn=pass crypt=2   
    其中選項為:

               auth 表示認證

     account 驗證帳號密碼正常使用

     required 表示認證要通過

     pam_mysql.so模組是預設的相對路徑,是相對/lib64/security/路徑而言,也可以寫絕對路徑;後面為給此模組傳遞的參數

     user=vsftpd為登入mysql的使用者

     passwd=magedu 登入mysql的的密碼

     host=mysqlserver mysql伺服器的主機名稱或ip地址

     db=vsftpd  指定串連msyql的資料庫名稱

     table=users 指定串連資料庫中的表名

     usercolumn=name 當做使用者名稱的欄位

     passwdcolumn=password 當做使用者名稱欄位的密碼

     crypt=2 密碼的加密方式為mysql password()函數加密

    5、更改ftp設定檔

    vim /etc/vsftpd/vsftpd.conf

     pam_service_name=vsftpd.mysql 修改

     再加下面行

     guest_enable=yes(開啟指定使用者選項)

     guest_username=ftpuser(指定使用者)

        user_config_dir=/etc/vsftpd/conf.d/(指定目錄,使其每個虛擬使用者的許可權不同)

    6、建立目錄

        mkdir /etc/vsftpd/conf.d/

        cd /etc/vsftpd/conf.d/

        vim /etc/vsftpd/conf.d/ftp1

            anon_upload_enable=yes(允許ftp1上傳檔案)

        vim /etc/vsftpd/conf.d/ftp2

            local_root=/app/ftpdir2(指定ftp2的根檔案為/app/ftpdir2)

    7、設定許可權

        cd /app

        chmod 555 /app/ftpdir/(根目錄不能有寫入權限)

        mkdir /app/ftpdir/upload

        chown ftpuser /app/ftpdir/upload

        mkdir /app/ftpdir2

        chmod 555 /app/ftpdir2

三、測試是否成功

    用ftp1登入測試

    650) this.width=650;" src="https://s2.51cto.com/oss/201710/28/736dbfe54a41881947ecdaec0a918e29.jpg" title="1.jpg" alt="736dbfe54a41881947ecdaec0a918e29.jpg" />當看到這個狀態時候,證明ftp1測試成功

    用ftp2登入測試

    650) this.width=650;" src="https://s1.51cto.com/oss/201710/28/acb22997ee58577bf1ded638925c3e80.jpg" title="2.jpg" alt="acb22997ee58577bf1ded638925c3e80.jpg" />

    當看到這個狀態時,證明ftp2也沒問題。那麼恭喜你,已經成功搭建好基於mysql的ftp!!!!

建立基於mysql的ftp虛擬使用者

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.