實現基於mysql驗證的vsftpd虛擬使用者 (centos6)

來源:互聯網
上載者:User

標籤:mysql驗證   ftp虛擬使用者   

實現基於mysql驗證的vsftpd虛擬使用者 (centos6)


    說明:本實驗在兩台Cento主機上實現,一台作為FTP伺服器,一台作為資料庫伺服器

            FTP伺服器ip:172.16.250.90

            Mysql伺服器ip:172.16.252.16


一、安裝ftp伺服器安裝包

        yum install vsftpd pam_mysql


二、資料庫伺服器建立虛擬使用者帳號

    1、建立虛擬使用者資料庫   

    mysql> create database vsftpd;    mysql> show tables;    mysql> grant select  on vsftpd.* to [email protected]‘172.16.%.%‘ identified by ‘magedu‘;    mysql> flush privileges;


    2、建立user表

    mysql> use vsftpd;    mysql> CREATE TABLE USER (id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,NAME CHAR(50)             BINARY NOT NULL,PASSWORD CHAR(48)BINARY NOT NULL);    mysql> desc user;


    3、添加測試虛擬使用者

        mysql> inset into user(name,password) values(‘wang‘,password(‘magedu‘));        mysql> inset into user(name,password) values(‘mage‘,password(‘magedu‘));    mysql>select * from user;


    三、在ftp伺服器上配置vsftpd服務

        1、在ftp伺服器上建立pam認證所需檔案

            

[[email protected] log]# vim /etc/pam.d/vsftpd.mysql auth required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=172.16.252.16 db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2   #此處與auth行為一行account required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=172.16.252.16  db=vsftpd table=user usercolumn=name passwdcolumn=password crypt=2  #此處與account行為一行

            auth 表示認證

            account 驗證帳號密碼正常使用

            required 表示認證要通過

            pam_mysql.so  模組此處也可以寫為相對路徑,若該模組為編譯安裝路徑變化此處必須寫為絕對路徑。其後

    參數皆為給此模組傳遞參數。

            user=vsftpd 登入mysql的使用者

            passwd=magedu  登入mysql的密碼

            host=172.16.252.16  mysql伺服器位址(如mysql與vftpd為同一伺服器則為localhost即可)

            db=vsftpd  串連mysql的那個庫

            table=users  串連庫裡的哪一個表

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

            passwdcolumn=password 當作密碼欄位的欄位名稱

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

            注意 crypt為加密方式,0表示不加密,1表示crypt(3)加密,2表示使用mysql password() 函數加密 ,3表示

    md5加密,4表示shd1加密。


  2、建立相應使用者和修改vsftpd檔案

         useradd –s /sbin/nologin –d /var/ftproot vuser

        修改vsftp設定檔

        anonymous_enable=YES

        guest_enbale=YES  #開啟虛擬使用者登入

        guest_username=vuser  #指定虛擬使用者映射的系統使用者身份

        pam_service_name=vsftpd.mysql  #指定使用mysql認證方式登入 此項修改後原系統使用者將無法登入。


四、測試

        此時虛擬使用者wang及mage都可正常登入。

        注意配置過程中selinux 策略

        禁止selinux 或執行以下命令

        setsebool -P ftpd_connect_db 1

         setsebool -P ftp_home_dir 1

        chcon -R -t public_content_rw_t /var/ftproot/


本文出自 “秋季” 部落格,請務必保留此出處http://lxlxlx.blog.51cto.com/3363989/1885407

實現基於mysql驗證的vsftpd虛擬使用者 (centos6)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.