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、重啓服務


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章