1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      FTP(六)實現(xiàn)基于MYSQL驗證的FTP虛擬用戶

      實驗準備:本實驗在兩臺CentOS主機上實現(xiàn),一臺做為FTP服務 器,一臺做數(shù)據(jù)庫服務器

      網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鹽湖免費建站歡迎大家使用!

      • 一臺CentOS-7當MySQL服務器
      • 一臺CentOS-6當FTP服務器
        注意,這里誰當FTP服務器很關鍵,因為有一個PAM模塊包是CentOS-7上沒有的,需要源碼編譯,pam_mysql,下面我先演示CentOS-6當FTP服務器的例子

      CentOS-6當FTP服務器

      一,配置數(shù)據(jù)庫服務器

      1,在數(shù)據(jù)庫服務器端安裝mariadb-server包

          yum –y install  mariadb-server
          systemctl  start  mariadb 
          # 設為開機自動啟動
          systemctl  enable mariadb

      2,為了安全起見可以運行一下mariadb安全腳本

      "mysql_secure_installation"
      
          第一項問你:輸入root密碼  回車即可,因為沒有
          第二項問你:需要設置root密碼么,當然要  敲Y
          第三項問你:需要刪除空賬號用戶么,當然要  敲Y
          第四項問你:禁止root用戶遠程登入么,根據(jù)你們公司的需要
          第五項問你:需要刪除test測試數(shù)據(jù)哭么,我不需要
          第六項問你:現(xiàn)在重新加載權限表嗎 ,當然

      3,在mariadb服務器端建立虛擬用戶賬號

       1,創(chuàng)建存儲虛擬用戶數(shù)據(jù)庫和連接的數(shù)據(jù)庫用戶(帶有mysql>的就表示需要連接到數(shù)據(jù)庫執(zhí)行操作)
           #創(chuàng)建數(shù)據(jù)庫
           mysql> CREATE DATABASE vsftpd;  
           #查看數(shù)據(jù)庫是否創(chuàng)建成功
           mysql> SHOW DATABASES;
      
       2,創(chuàng)建管理vsftpd數(shù)據(jù)庫的用戶。
           mysql> GRANT all ON vsftpd.* TO   vsftpd@'192.168.136.6' IDENTIFIED BY 'centos';  
      
          命令解析:
              GRANT:                 創(chuàng)建授權用戶關鍵字
              all  :                  表示擁有對vsftpd這個數(shù)據(jù)庫的所有權限
              vsftpd.*:              表示指定vsftpd的所有表
              vsftpd@'192.168.136.6': @ 前的vsftpd表示用戶名,@ 后面的表示該用戶只能在192.168.136.6這個主機登入,如果想表示一個網(wǎng)段可以加百分號:192.168.136.%
              IDENTIFIED BY 'centos': 作用設置密碼,centos就是該用戶的密碼。

      準備存放用戶的相關表

          #切表
              mysql> USE vsftpd; 
          #查看表
              Mysql> SHOW TABLES;  
          #創(chuàng)建users表
              mysql>create table users (id int auto_increment not null primary key,name varchar(30) binary not null, password varchar(50) binary not null);
      
          命令解析:
              create table users:創(chuàng)建表名為users子句
              口號里的就表結構,用逗號分開的表示字段例如:第一個字段為id,第二個字段為name,第三個字段為password
      
              修飾符:
              int:           表示該字段為數(shù)字,
              auto_increment:表示該字段是整數(shù)自動增長
              not null:      表示該字段不能為空
              primary key:   表示該字段為主鍵
              varchar(30):   表示該字段可以是任意字符長度為30個
              binary:        作用是讓字段能夠用于登入驗證
      

      在user表中添加虛擬用戶

      根據(jù)需要添加所需要的用戶,為了安全應該使用PASSWORD 函數(shù)加密其密碼后存儲

          #查看表結構
          mysql>DESC users;  
          #插入內容
          mysql> INSERT INTO users(name,password)    values('wang',password('wang'));  
          #插入內容
          mysql> INSERT INTO users(name,password)          values('li',password('li'));  
          #查看表內容
          mysql> SELECT * FROM users;
      

      二,配置FTP服務器

      1,在FTP服務器上安裝vsftpd和pam_mysql包

       centos6:pam_mysql由epel6的源中提供   
       配置epel源:
          [epel]
          name=centos-epel
          baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
          gpgcheck=0
          enable=1
       #安裝模塊,以及FTP服務器端包
          yum install vsftpd pam_mysql
      

      2,創(chuàng)建FTP所需PAM模塊認證文件

      因為需要連接數(shù)據(jù)庫所以之前的PAM塊已經(jīng)不能用了,需要自己配置

      在/etc/pam.d/目錄下創(chuàng)建一個名為vsftpd.mysql存放PAM模塊的配置文件
           cd /etc/pam.d/
           touch  vsftpd.mysql 
           vim vsftpd.mysql
           添加如下幾行:
           auth required pam_mysql.so user=vsftpd passwd=centos host=數(shù)據(jù)庫IP地址  db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 
           account required pam_mysql.so user=vsftpd passwd=centos host=數(shù)據(jù)庫IP地址 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 
      
      配置字段說明 
          ? auth 表示認證 
          ? account 驗證賬號密碼正常使用 
          ? required 表示認證要通過 
          ? pam_mysql.so模塊是默認的相對路徑,是相對/lib64/security/路 徑而言,也可以寫絕對路徑;后面為給此模塊傳遞的參數(shù) 
          ? user=vsftpd為登錄mysql的用戶 
          ? passwd=magedu 登錄mysql的的密碼 
          ? host=mysqlserver  mysql服務器的主機名或ip地址 
          ? db=vsftpd  指定連接msyql的數(shù)據(jù)庫名稱 
          ? table=users 指定連接數(shù)據(jù)庫中的表名 
          ? usercolumn=name 當做用戶名的字段 
          ? passwdcolumn=password 當做用戶名字段的密碼 
          ? crypt=2 密碼的加密方式為mysql password()函數(shù)加密 
          注意 :crypt是加密方式,0表示不加密,1表示crypt(3)加密,2表示 使用mysql password()函數(shù)加密,3表示md5加密,4表示sha1 加密 
      

      3,建立系統(tǒng)普通用戶,用作于虛擬用戶映射的用戶

      一,創(chuàng)建用戶,共享目錄

          #創(chuàng)建虛擬用戶映射的系統(tǒng)用戶及對應的目錄 
              useradd -s /sbin/nologin -d /var/ftproot vuser 
          #修改對應的目錄權限,因為FTP共享根目錄不能有寫權限    
              chmod 555 /var/ftproot 
          #創(chuàng)建可以上傳下載的共享目錄
              mkdir /var/ftproot/{upload,pub}
          #并給vuser用戶ACL權限
              setfacl –m u:vuser:rwx /var/ftproot/upload 
      

      修改主配置文件

      確認/etc/vsftpd.conf中是否已經(jīng)啟用了以下選項
          #支持匿名用戶登入
              anonymous_enable=YES 
          #添加下面兩項 ,作用是支持虛擬用戶映射為某一個系統(tǒng)用戶
              guest_enable=YES 
              guest_username=vuser 
          #修改下面一項,原系統(tǒng)用戶無法登錄 
              pam_service_name=vsftpd.mysql 

      4,啟動FTP服務

          #啟動服務
              service vsftpd start
          #開機自動啟動
              chkconfig vsftpd on
          #查看端口打開情況
          ss -ntlp|grep :21 

      5,SELinux相關配置

         1,restorecon  -R /lib64/security 
         2,setsebool -P ftpd_connect_db 1 
         3,setsebool -P ftp_home_dir 1 
         4,chcon -R -t public_content_rw_t /var/ftproot/ 

      最后測試

         1,li用戶登入測試:成功
              [root@ansible-7 ~]# ftp 192.168.136.6
              Connected to 192.168.136.6 (192.168.136.6).
              220 (vsFTPd 2.2.2)
              Name (192.168.136.6:root): li
              331 Please specify the password.
              Password:
              230 Login successful.
              Remote system type is UNIX.
              Using binary mode to transfer files.
          2,wang用戶登入測試:成功
              [root@ansible-7 ~]# ftp 192.168.136.6
              Connected to 192.168.136.6 (192.168.136.6).
              220 (vsFTPd 2.2.2)
              Name (192.168.136.6:root): wang
              331 Please specify the password.
              Password:
              230 Login successful.
              Remote system type is UNIX.
              Using binary mode to transfer files.
      

      三,實現(xiàn)每個虛擬用戶具有各自不同的權限

      1,修改主配置文件

          vim /etc/vsftpd/vsftpd.conf  
          添加如下選項,作用是讓虛擬用戶支持獨立權限配置文件,可以自定義存放目錄。
          user_config_dir=/etc/vsftpd/vusers_config/ 

      2,在/etc/vsftpd/vusers_config/目錄下創(chuàng)建每個虛擬用戶的權限配置文件,文件名對應用戶名

          mkdir /etc/vsftpd/vusers_config/ 
          cd  /etc/vsftpd/vusers_config/ 
          touch wang 
          touch li
      
          "注意:虛擬用戶對vsftpd服務的訪問權限是通過匿名用戶的相關 指令進行的。   "
          下面的權限都可以添加至文件中,需要什么權限添加什么權限
      
                  #是否支持上傳功能
                  anon_upload_enable={YES|NO}
                  #是否支持創(chuàng)建文件功能
                  anon_mkdir_write_enable={YES|NO} 
                  #是否支持刪除文件功能
                  anon_other_write_enable={YES|NO} 
                  #指定虛擬賬戶登入的共享目錄
                  local_root=/ftproot   
      
              例如:讓wang用戶支持上傳,下載,刪除文件的權限那么只需要在wang的權限配置文件中添加如下幾行
              "注意:需確保對應的映射用戶對于文件系統(tǒng)有寫權限"
              vim  wang
              anon_upload_enable=YES 
              anon_other_write_enable=YES
              anon_mkdir_write_enable=YES

      CentOS-7當FTP服務器只有一個地方不同,就是需要編譯安裝pam_mysql模塊,其他概略相同。

      步驟:

       # 安裝開發(fā)包組
          yum -y groupinstall "Development Tools" 
       # 安裝相關依賴包
          yum -y install mariadb-devel  pam-devel vsftpd
       # 去官網(wǎng)下載pam_mysql-0.7RC1.tar.gz源碼包        
          https://sourceforge.net/projects/pam-mysql/
       # 解壓縮包
          tar xvf pam_mysql-0.7RC1.tar.gz 
       # 進入pam_mysql-0.7RC1/目錄開始編譯   
          cd pam_mysql-0.7RC1/ 
       # 運行configure腳本
          ./configure \
          --with-mysql=/usr \ 
          --with-pam=/usr \
          --with-pam-mods-dir=/lib64/security
       # 編譯開始
          make -j 4
       # 安裝程序
          make install 

      分享題目:FTP(六)實現(xiàn)基于MYSQL驗證的FTP虛擬用戶
      新聞來源:http://www.ef60e0e.cn/article/ggjjed.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        仪征市| 五指山市| 静宁县| 五家渠市| 新郑市| 黔西县| 扎囊县| 垫江县| 九龙坡区| 逊克县| 囊谦县| 丽水市| 鹤峰县| 青田县| 平定县| 特克斯县| 淮北市| 城步| 望都县| 永仁县| 沙田区| 寿阳县| 台南市| 玛纳斯县| 丹江口市| 周口市| 东明县| 鄂伦春自治旗| 桐柏县| 邯郸县| 濮阳市| 辽源市| 巴塘县| 资阳市| 泽库县| 晋江市| 岫岩| 临沭县| 桐庐县| 莱州市| 昭觉县|