<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    【原創】Centos5.3+ProFTPD1.3.2+Mysql5.1配置FTP服務

       

    Centos5.3+ProFTPD1.3.2+Mysql5.1配置FTP服務

    Allen Jelver 2009-12-17

     廢話少說了,就是利用Mysql做FTP校驗,即通過數據庫管理FTP用戶信息,檢驗登錄等......,進入正題.>>

    一、           安裝Mysql軟件包(64)

    MySQL-server-community-5.1.38-0.rhel5.x86_64.rpm

    MySQL-shared-community-5.1.38-0.rhel5.x86_64.rpm

    MySQL-client-community-5.1.38-0.rhel5.x86_64.rpm

    MySQL-devel-community-5.1.38-0.rhel5.x86_64.rpm

    資源包可以在http://ftp.up.ac.za/pub/windows/MySQL/Downloads/MySQL-5.1/下載,本教程對Mysql的rpm方式安裝省略,需要注意的是devel包是必須安裝的,只有安裝devel包后才能生成/usr/include/mysql,32位機器安裝的lib路徑要注意一下是/usr/lib/mysql即可,關于msyql的安裝網上很多資料都可以參考。

    二、        安裝proftpd

    下載proftpd-1.3.2.tar.gz

    wget http://ftp.ntu.edu.tw/proftpd/distrib/source/proftpd-1.3.2.tar.gz

    cd /usr/local #這是我放置proftpd-1.3.2.tar.gz的目錄

    tar zxvf proftpd-1.3.2.tar.gz

    cd proftpd-1.3.2

    ./configure --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql --with-includes=/usr/include/mysql --with-libraries=/usr/lib64/mysql

    make

    make install

    首先需要聲明的是以下的配置會跟你的安裝目錄有關,安裝成功后則會生成/usr/local/etc/目錄,其中包含核心配置文件proftpd.conf,同時在/usr/local/sbin下有proftpd可執行文件,通常用來啟動服務用的,其中pid文件文件是自啟動腳本中創建的,這部分在后面會講到。對以上兩個目錄做查看,如下圖所示:

    說明:若在makemake install中有錯則需要注意是否是gcc方面的問題導致。

    三、        配置Mysql認證

    認證這部分主要是配置proftpd.conf文件,在修改配置文件之前最好養成先備份一個文件的習慣,否則修改出錯后沒有辦法找到原來的版本。并在proftpd.conf中加入以下內容,

    1.修改組信息

    # Set the user and group under which the server will run.

    User                           nobody

    Group                          nogroup

    將Group對應的nogroup修改為如下的nobody

    # Set the user and group under which the server will run.

    User                                                nobody

    Group                                             nobody

    2.加入數據校驗配置

    # 屏蔽服務器版本信息
    ServerIdent off

    # 數據庫連接的信息,ftpusers是數據庫名, localhost是主機名,3306是端口號,root是連接數據庫的用戶名,123456是密碼。

    SQLConnectInfo ftpusers@localhost:3306 root 123456

    # 數據的認證方式

    # Backend表示用戶認證方式為MySQL數據庫的認證方式 
    # Plaintext表示明文認證方式,排在最前面的為最先使用的方式

    SQLAuthTypes Backend Plaintext

    #指定用來做用戶認證的表的有關信息。("users"和"grps"是數據表名字,其后為字段信息)

    SQLUserInfo users userid passwd uid gid home shell

    SQLGroupInfo grps grpname gid members

    #設置如果shell為空時允許用戶登錄:

    RequireValidShell off  

    #數據庫的鑒別                                      

    SQLAuthenticate users groups usersetfast groupsetfast

    #如果home目錄不存在,則系統會為根據它的home項新建一個目錄:

    #注意SQLHomedirOnDemand已經在1.3.2以后的版本中改名為CreateHome

    CreateHome on

    #設置系統運行日志和文件傳輸日志

    SystemLog /var/log/proftpd.syslog

    TransferLog /var/log/proftpd.transferlog

    3.建立相應的系統用戶

    在本例中,只整個FTP服務只提供一個有效的系統用戶ftpuser和組ftpgrp,當然你也可以設置多個系統用戶。但出于安全的考慮,我只設一個,用他來啟動FTP daemon,并把所有的FTP用戶映射過這個用戶。

    先建立ftpgrp組:
    groupadd -g 5500 -r ftpgrp    //增加一個組ID5500ftpgrp

    建立ftpuser用戶:
    useradd -u 5501 -g 5500 -d /home/ftp -s /bin/bash -r ftpuser
    ftpuser建立home,把所有的FTP user 活動空間全放在此目錄下:

    mkdir /home/ftp

    chown ftpuser /home/ftp

    chgrp ftpgrp  /home/ftp

    4.初始化數據庫

    1)創建數據庫和表

    create database ftpusers;

    use ftpusers;

    建立一個用戶表USERS,這個表是必須的:

    create table USERS (

    userid 
    TEXT NOT NULL,

    passwd 
    TEXT NOT NULL,

    uid 
    INT NOT NULL,

    gid 
    INT NOT NULL,

    home 
    TEXT,

    shell 
    TEXT

    );

    此表是為了用戶認證所需要的,其中userid、passwd是必不可少的,userid是用做FTP服務的用戶名;passwd是指此用戶的密碼;uid是系統用戶的ID,也就是所映射的系統用戶;gid是所屬系統組的ID;home是該用戶所在的HOME目錄;shell可以為該用戶指定相應的shell。當然你可以建立更多的字段,例如:用來記錄用戶登錄次數的count,或者是日期的date,如果你對配置熟悉了之后,你可以根據自己的喜歡添加更多的功能。

    另外,若需要對組成員管理之類的功能則需要添加GRPS表:

    create table GRPS (
    grpname 
    TEXT NOT NULL,
    gid 
    SMALLINT NOT NULL,
    members 
    TEXT NOT NULL
    );

    其中grpname是組的名稱,gid是系統組的ID,members是組的成員。注意:多成員,他們之間要用逗號隔開,不能使用空格。

    2)增加用戶,在數據庫USERS表和GRPS表中插入數據:

    INSERT INTO USERS (userid, passwd, uid, gid, home, shell) values ('allen''123456''5501''5500''/home/ftp/allen', "/usr/local/test.sh");

    INSERT INTO USERS (userid, passwd, uid, gid, home, shell) values ('kitty''222222''5502''5500''/home/ftp/kitty', "/usr/local/test2.sh");

    INSERT INTO GRPS (grpname,gid,members) values ('ftpgrp','5500','allen,kitty');

    flush 
    privileges;   //刷新數據庫

    四、        配置自啟動服務

    從編譯安裝路徑中拷貝proftpd.init.d文件到/etc/rc.d/init.d/中,并重命名為proftpd,授予可執行權限后,通過chkconfig --add命令將其加為自啟動服務即可,具體操作如下:  

    cp /usr/local/proftpd-1.3.2/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/

    cd /etc/rc.d/init.d

    mv proftpd.init.d proftpd

    chmod +x proftpd

    #加入為服務

    chkconfig --add proftpd

    chkconfig --level 3 proftpd on

    #這樣,就可以分別通過以下方式來完成啟動、停止、重啟Proftpd的工作了
    service profptd start
    service proftpd stop
    service proftpd restart

    常用指令:

    pgrep proftpd 注:查看服務器是不是啟動起來了;如果沒有進程,說明失敗;
    pkill proftpd 注:殺死proftpd的進程;也就是關掉服務器;

    查看proftpd日志:tail -f /var/log/proftpd.syslog

    查看proftpd傳輸文件日志:tail -f /var/log/proftpd.transferlog

    五、        配置磁盤限額

    暫時未做,以后更新


    后記:
    很多資料都是來參考網絡上的資料整理的,配置環境測試通過,所以本文章可以隨意轉載,不過最好也能夠標注原帖出處:)

    主要參考:
    http://blog.ixpub.net/html/92/10996892-2512.html
    http://hi.baidu.com/fei33352/blog/item/73acf881b0972bddbc3e1ed2.html

    posted on 2009-12-17 16:37 都市淘沙者 閱讀(921) 評論(0)  編輯  收藏 所屬分類: lighttpd/nginx/HA/LVS/FTP

    主站蜘蛛池模板: 久久aa毛片免费播放嗯啊| 亚洲国产精品久久久久婷婷老年| 99久久久国产精品免费蜜臀| 美女无遮挡免费视频网站| 亚洲宅男精品一区在线观看| 亚洲国产精品lv| 中文字幕一精品亚洲无线一区| 免费无码又爽又高潮视频| 欧洲一级毛片免费| 免费A级毛片无码视频| GOGOGO高清免费看韩国| 免费很黄无遮挡的视频毛片| 亚洲熟妇自偷自拍另欧美| 亚洲综合无码一区二区三区| 亚洲av永久无码精品表情包| 国产亚洲欧洲Aⅴ综合一区| 免费看一级做a爰片久久| 午夜免费福利影院| 成人a视频片在线观看免费| 成年网站免费视频A在线双飞| 日本xxxx色视频在线观看免费 | 最近高清国语中文在线观看免费| 久久国产免费一区二区三区| 日韩免费高清播放器| 久久久免费观成人影院| 高清永久免费观看| 中文日本免费高清| 国产VA免费精品高清在线| 一级毛片免费播放视频| 成人免费网站久久久| 一区二区在线免费视频| 国产黄色片免费看| 中文字幕成人免费高清在线 | 高清国语自产拍免费视频国产| 永久免费的网站在线观看| 国产免费丝袜调教视频| a毛片基地免费全部视频| 欧洲精品成人免费视频在线观看 | 亚洲午夜国产精品无码| 亚洲老妈激情一区二区三区| 久久精品亚洲综合一品|