国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

建立數據庫認證的FTP

2024-07-21 02:37:26
字體:
來源:轉載
供稿:網友

  PRoFTP+MySQL認證實現
  1. 安裝 redhat 7.2 或者solaris8
  
    注:solaris8要求自己有c編譯器等工具,我們這里不提供安裝方法,具體可以取www.sunfreeware.com下載gcc包安裝。
  
  2. 停止缺省的 wu-ftpd服務器
  
    在 ntsysv 里將 wu-ftpd 前的 * 去了,然后保存,然后將 /etc/rc.d/init.d 目錄下的 wu-ftpd 的啟動腳本刪除了。Solaris可以去/etc/services和/etc/inetd.conf注銷。不過最好是不要安裝那個東西,它的安全問題很多!
  
  3.安裝 MYSQL
  
    在 Redhat 的光盤上有的,將 MYSQL 的程序和庫都裝上。(假如安裝 Redhat 時已經 選裝了這步就不用了,當然,假如是solaris的話就沒什么用了,用源代碼包自己編譯吧)
  
    rpm -ivh mysql-3.23.41-1.i386.rpm
    rpm -ivh mysql-devel-3.23.41-1.i386.rpm
    rpm -ivh mysql-server-3.23.41-1.i386.rpm
  
    也可以源代碼安裝
  
    tar –zxvf mysql-3.23.53.tar.gz
    cd mysql-3.23.53
    ./configure –prefix=/usr/local/mysql
    make
    make install
    cd /usr/local/mysql/bin
    ./ mysql_install_db #初始化
    ./safe_mysqld –uroot & #啟動mysql
  
  4 下載 proftpd-1.2.4.tar.gz
  
    不知道哪兒有下載?FAINT,在搜索引擎上用 "proftpd-1.2.4.tar.gz 下載" 在找, 至少命中100個可以下載的站點
  
  5.預備開始安裝 proftpd
  
    為 proftpd 建立專用的用戶;加一個ftpuser組 id為65533;加一個ftpuser用戶,用戶id為65533,組id為65533
  
  6.在MYSQL下為 proftpd 建數據庫和表
  
    #mysql -p
    PASSWord:****** (自己的口令自己知道)
  
    然后用下列命令,直接拷進去吧。
  
    CREATE DATABASE proftpftp;
    USE proftp;
    CREATE TABLE users (
      userid VARCHAR(50) NOT NULL, # 用戶名
      uid INT UNSIGNED, # 用戶ID
      gid INT UNSIGNED, # 組ID
      passwd VARCHAR(50) NOT NULL, # 密碼
      shell VARCHAR(100), # SHELL
      homedir VARCHAR(100), # 用戶目錄
      count INT UNSIGNED NOT NULL # 登錄計數
    ) comment = '用戶表';
    #這個地方可能沒法輸入漢字,可改成英文!
    CREATE TABLE groups (
      groupname VARCHAR(50) NOT NULL, # 組名
      gid INT NOT NULL, # 組ID
      members VARCHAR(50) # 組成員
    ) comment = '組表';
    #把“組表”改為英文吧
  
  7. 設置權限
  
    在 MYSQL 下 GRANT 一個可以存取這個表的用戶(要 select, update 權限)
  
    grant select,update,delete,insert on proftp.*
    to yourmysqlid@”%” identified by “passwd”;
  
  8. tar -zxvf proftpd-1.2.4.tar.gz
  
    cd proftpd-1.2.4
  
  9.  ./configure --with-modules=mod_sql:mod_sql_mysql
    --with-includes=/usr/include
    --with-libraries=/usr/lib/mysql
  
    (這里的 MYSQL 是用 RPM 安裝時的庫路徑,你可以在根下用 locate 命令找到自己機 器上 MYSQL 庫的路徑)
  
    假如是源代碼安裝的,一定要注重了,
  
    ./configure --prefix=/usr/local/proftpd
      --with-modules=mod_sql:mod_sql_mysql
      --with-includes=/usr/local/mysql/include
      --with-libraries=/usr/local/mysql/lib/mysql
  
    這個地方也要多多注重,我就是這里出了錯誤的。

  
  10. make 并 make install
  
  11.編輯 /usr/local/etc/proftpd.conf
    加上下面的話(須修改一下再加)
  
    #先改其它參數,文件本來就有注解的,然后加上下面的
    #用戶不能訪問比自己登錄目錄更高級別的目錄
    DefaultRoot ~
    #數據庫情況,剛剛的GRANT時要是用了ip這里要寫 proftp@xxx.xxx.xxx.xxx
    #用機器名也一樣,只有GRANT時用localhost時可以省略@ xxx.xxx.xxx.xxx
    SQLConnectInfo proftp 用戶名 口令
    #密碼方式為明文,可以為空
    #(要是想用 md5 也可以,手冊上講了好多種加密支持)
    SQLAuthTypes Plaintext Empty
    #是否不允其它認證方式
    #(注重,其它文章里的這個參數是講錯的,小樂就上當過。)
    SQLAuthoritative on
    #不用講了吧
    SQLDefaultGID 65533
    SQLDefaultUID 65533
    #用戶認證
    SQLDoAuth on
    #組有效
    SQLDoGroupAuth on
    #下面的就不用講了吧,一眼就明白了, 根據你數據表情況寫
    SQLUserTable users
    SQLUsernameField userid
    SQLUidField uid
    SQLGidField gid
    SQLPasswordField passwd
    SQLShellField shell
    SQLHomedirField homedir
    SQLLoginCountField count
    SQLGroupTable groups
    SQLGroupGIDField gid
    SQLGroupMembersField members
    SQLGroupnameField groupname
    SQLHomedirOnDemand on 12cp
      /usr/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib
     (重要,我是花了好久時間才弄明白的,否則啟動不了!!!)
  
  13.測試
  
    先在 MYSQL 里加用戶組,用戶,密碼留空也可,反正是測試 ,運行 /usr/local/proftpd/sbin/proftpd ftp localhost
  
    用新加的用戶一試,哈哈是不是成了。
  
  14.題外話
  
    要是想把 PROFTPD 放在 ntsysv 里邊控制,呵呵加下面的腳本吧。
  
    建立 /etc/rc.d/init.d/proftpd 內容是:
  
    #!/bin/sh
    case "$1" in
    'start')
    echo "Starting professional ftp daemon: [OK]"
    /usr/local/proftpd/sbin/proftpd -d 1
    toUCh /var/lock/subsys/proftpd
    ;;
    'stop')
    echo -n "Restarting professional ftp daemon: All Proftpd Process "
    rm -f /var/lock/subsys/proftpd
    killall proftpd
    ;;
    *)
    echo "Usage: $0 { start stop }"
    ;;
    esac
    exit 0
  
  15.
  
    可以用 /etc/rc.d/init.d/proftpd stop 來殺所有 proftpd 守護進程,用 /etc/rc.d/init.d/proftpd start 啟動一個進程,要是你不小心啟運了兩次就用一次 STOP 就可以了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 班戈县| 漳平市| 洮南市| 福州市| 玛沁县| 台湾省| 巴彦县| 盐城市| 嘉定区| 宁德市| 鱼台县| 闻喜县| 洞头县| 仙居县| 安平县| 德保县| 河间市| 象山县| 谷城县| 蒙自县| 始兴县| 枣阳市| 武宣县| 富川| 江安县| 乾安县| 府谷县| 肥乡县| 平泉县| 泾阳县| 北京市| 宜春市| 江陵县| 宁安市| 云龙县| 阿图什市| 平昌县| 新巴尔虎右旗| 阳原县| 桂东县| 乌什县|