• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • [原創]pureftpd+mysql限制單個ip或A、B、C類地址登陸的方法

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    因工作原因需要開ftp服務,通過cu等網站查閱了相關資料,選擇了pure-ftpd+mysql作為ftp 服務器 ,因需要限制指定用戶的訪問權限,而網上關于pure-ftpd+mysql的文章都沒有介紹這方面的內容。在仔細查看pure-ftpd的說明文檔后終于配置成功,現將經驗貼出來跟大

    因工作原因需要開ftp服務,通過cu等網站查閱了相關資料,選擇了pure-ftpd+mysql作為ftp服務器,因需要限制指定用戶的訪問權限,而網上關于pure-ftpd+mysql的文章都沒有介紹這方面的內容。在仔細查看pure-ftpd的說明文檔后終于配置成功,現將經驗貼出來跟大家分享。

    系統:freebsd 5.3+pure-ftpd-1.0.21+mysql-5.0.3-beta

    安裝過程

    1:更新cvs樹,獲得最新版本的pure-ftpd和mysql,再以port方式安裝pure-ftpd和mysql,修改配置使之能正常登陸。關于這一步網上的文章很多,這里不再贅述

    2:ee /usr/local/etc/pureftpd-mysql.conf (如果沒有的話需要手工復制過來)

    3:修改 “MYSQLGetPW SELECT Password FROM users WHERE User="\L"  ”,將其改為“MYSQLGetPW SELECT Password FROM users WHERE User="\L" and (ipaclearcase/" target="_blank" >ccess='*' or ipaccess=SUBSTRING_INDEX("\R",".",3))”這里是限制C類地址登陸,限制單個ip可直接將ipaccess字段設為限制登陸的ip地址。以此類推,可以設定為限制A、B類地址或指定ip地址范圍。

    其實這個實現方法就是一個簡單的sql語句,有興趣的可在此基礎上設計出更安全,效率更高的配置~

    pureftpd-mysql.conf中各轉義符的含義說明:
    # \L is replaced by the login of the user trying to authenticate.
    用“\L”置換嘗試通過認證的用戶名

    # \I is replaced by the IP address the user connected to.
    用“\I”置換用戶訪問的IP地址(如ftp服務器在不同的ip地址上開放多個ftp服務,這個就能判斷用戶訪問的是哪個ftp服務)

    # \P is replaced by the port number the user connected to.
    以“\P”置換用戶訪問的端口號(作用同上)

    # \R is replaced by the IP address the user connected from.
    以“\R”置換訪問者的ip地址(這就是限制ip登陸的關鍵)

    # \D is replaced by the remote IP address, as a long decimal number.
    以“\D”置換訪問者的以十進制表達的ip地址。

    mysql中用戶表建表語句:
    DROP TABLE IF EXISTS `users`;
    CREATE TABLE `users` (
      `User` varchar(16) NOT NULL default '',
      `status` enum('0','1') NOT NULL default '0',
      `Password` varchar(64) NOT NULL default '',
      `Uid` varchar(11) NOT NULL default '-1',
      `Gid` varchar(11) NOT NULL default '-1',
      `Dir` varchar(128) NOT NULL default '',
      `ULBandwidth` smallint(5) NOT NULL default '0',
      `DLBandwidth` smallint(5) NOT NULL default '0',
      `comment` tinytext NOT NULL,
      `ipaccess` varchar(15) NOT NULL default '*',
      `QuotaSize` smallint(5) NOT NULL default '0',
      `QuotaFiles` int(11) NOT NULL default '0',
      PRIMARY KEY  (`User`),
      UNIQUE KEY `User` (`User`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


    本文也收錄在本人的blog中,因個人水平有限,如有錯誤請予指正,并請大家多提寶貴意見。

     wolfg 回復于:2005-06-28 10:48:43
    不錯。鼓勵一下!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>