分享

鳥哥的 Linux 私房菜 -- FTP Server -- Wu FTP 示例

 kakaxi 2009-02-06
一個多樣化的實例

好了,大致上 Wu FTP 的設定您應該可以理解了吧!那麼現在出個例題給大家思考一下,假如我需要達成底下的規範,那麼應該如何設定 Wu FTP 相關的檔案呢?
  1. 將群組設定成為 real, guest, anonymous 這三個群組分別控制!(用 class 來區分喔!);
  2. 用戶身份有 real, guest, anonymous,其中, real 僅允許來自 140.116.0.0/16 這個 B class 的網域,其他兩者雖可來自於所有網域,但不允許來自 61.141.0.0/16 這個 B Class 的網域;
  3. 允許使用 passive ports ,port number 設定為 65501 - 65510 這 10 個 ports ;
  4. 系統裡面小於 499 以及大於 65000 的 UID 與 GID 都被拒絕登入;
  5. 任何時刻,最大線上人數限制為 30 人,其中, guest 最多 10 人,而 anonymous 最多為 5 人;
  6. 實體用戶 mysiteuser 被限制他僅能在他的家目錄當中工作,無法離開其家目錄,至於其他實體用戶則不在此限;
  7. 我有兩個 WWW 的個人用戶 wwwuser1 與 wwwuser2 ,我將這兩個用戶訂為 guest 身份,為使他的網頁資料傳輸方便,將他的 FTP 主機的家目錄設定為他的 WWW 家目錄,亦即為 /home/wwwuser1/public_html ,並且設定傳輸速度最大為 100 Kbytes/second。注意,我的 ftp 使用者預設的群組為自行建立的 myftpusers;
  8. 我有一個 FTP 交換連結用戶 ftpuser,我與他交換連結,連上下傳都需要注意!上下傳比例為 1.0 ,並且限制他傳輸的速度為 64 Kbytes/second ;
  9. 其他的匿名登入者的家目錄設定為 /var/ftp 這個目錄當中,並且限制 anonymous 一次連線最久 10 分鐘,而且最多僅能下載 20 個文件,以及 10MB 的資料量,此外,傳輸速度最快僅能到達 32 Kbytes/second。至於上傳的設定方面,僅允許上傳到 /var/ftp/upload 這個檔案,此外,預設檔案擁有者為 ftp 群組是 sys,上傳速度最快為 16 Kbytes/second;

似乎很麻煩,那我們就來一個一個的設定吧!
  1. 先設定使用者的帳號:

  2. 上面的案例中,我們共有 wwwuser1, wwwuser2, ftpuser 與 mysiteuser 這四個人,由於 mysiteuser 為實體用戶,所以不要去改他的登入 shell ,至於 wwwuser1, wwwuser2 與 ftpuser 由於他的群組需建立成為 myftpusers ,所以需要設定一下啦!假設 myftpusers 尚未建立,所以得先建立群組才能建立使用者!並且這兩個使用者單純的想要使用 FTP 而已,所以直接加上 shell 為 /sbin/nologin:
    [root@test root]# groupadd myftpusers
    [root@test root]# useradd -m -g myftpusers -s /sbin/nologin wwwuser1
    [root@test root]# useradd -m -g myftpusers -s /sbin/nologin wwwuser2
    [root@test root]# useradd -m -g myftpusers -s /sbin/nologin ftpuser
    [root@test root]# passwd wwwuser1  <==不要忘記給三個人密碼!
  3. 開始設定我們的 /etc/ftpaccess 內容:

  4. 設定的項目我們將他分為(1)主機設定(2)實體用戶設定(3)訪客(4)匿名者等部分來設定囉:
    [root@test root]# vi /etc/ftpaccess
    # 底下的資料為 VBird 的 FTP 主機設定範例
    #
    ########################################################################
    # 1.  針對 Server 的設定項目:
    ########################################################################
    # 1.1 針對群組的設定項目
    class           all             real,guest,anonymous    140.116.0.0/16
    class           allreal         real                    140.116.0.0/16
    class           allguest        guest                   !61.141.0.0/16  *
    class           allanonymous    anonymous               !61.141.0.0/16  *

    # 1.2 其他主機相關的設定項目
    email           vbird@tsai.adsldns.org
    hostname        tsai.adsldns.org
    shutdown        /etc/shutmsg
    loginfails      3
    log             transfers       anonymous,guest,real    inbound,outbound
    passwd-check    rfc822          warn

    # 1.3 訊息管理
    readme          README*         login
    readme          README*         cwd=*
    message         /welcome.msg    login
    message         .message        cwd=*

    # 1.4 指令管理
    compress        yes             all
    tar             yes             all
    chmod           no              guest,anonymous
    delete          no              anonymous
    overwrite       no              anonymous
    rename          no              anonymous

    # 1.5 人物登入管理
    deny-uid        %-499           %65000-
    deny-gid        %-499           %65000-
    allow-gid       myftpusers

    # 1.6 時間相關的設定值
    timeout data    2400
    timeout idle    1800
    timeout maxidle 1800

    # 1.7 主機最大連線人數設定
    limit   all             30      Any     /etc/ftpmaxnumber

    # 1.8 被動的 port 設定
    passive ports   0.0.0.0/0       65501   65510
     

    ########################################################################
    # 2.  針對實體用戶的設定
    ########################################################################
    restricted-uid  mysiteuser
     

    ########################################################################
    # 3.  針對 guest 用戶的設定
    ########################################################################
    limit           allguest        10      Any     /etc/ftpmaxnumber
    guestuser       wwwuser1        wwwuser2        ftpuser

    # 3.1 www users
    guest-root      /home/wwwuser1/public_html      wwwuser1
    guest-root      /home/wwwuser2/public_html      wwwuser2
    throughput      /home/wwwuser1/public_html      *   *   102400  -       *
    throughput      /home/wwwuser2/public_html      *   *   102400  -       *

    # 3.2 FTP users
    guest-root      /home/ftpuser                   ftpuser
    ul-dl-rate      1       allguest
    throughput      /home/ftpuser   *       *       64000   -       *
     

    ########################################################################
    # 4.  針對 anonymous 用戶的設定
    ########################################################################
    limit           allanonymous    5       Any     /etc/ftpmaxnumber
    anonymous-root  /var/ftp
    limit-time      anonymous       10
    file-limit      out             20              allanonymous
    data-limit      out             10000000        allanonymous
    throughput      /var/ftp        *       *       32000   -       *
    throughput      /var/ftp        /upload *       16000   -       *
    upload          /var/ftp/upload yes ftp sys 0666 

  5. 建立可上傳目錄與使用者家目錄:

  6. 由於我們設定了 /var/ftp/upload 為可上傳的目錄,所以需要動手設定一下囉:
    [root@test root]# mkdir /var/ftp/upload
    [root@test root]# chown ftp:sys /var/ftp/upload
    [root@test root]# mkdir /home/wwwuser1/public_html
    [root@test root]# mkdir /home/wwwuser2/public_html
    [root@tset root]# chown wwwuser1:myftpusers /home/wwwuser1/public_html
    [root@tset root]# chown wwwuser2:myftpusers /home/wwwuser2/public_html
  7. 修訂一下 /etc/shells:

  8. 必須要確認 /sbin/nologin 在這個檔案內
    [root@test root]# vi /etc/shells
    /bin/bash
    ....(略)...
    /sbin/nologin
  9. 修改一下歡迎畫面檔案:

  10. 你可以建立一下歡迎畫面喔!檔案有這些:
      /welcome.msg
      /home/wwwuser1/public_html/.message
      /home/wwwuser2/public_html/.message
      /var/ftp/welcome.msg
    如果想要一勞永逸,那麼將 /welcome.msg 這個檔案複製到 /etc/skel/welcome.msg 以及 /etc/skel/public_html/.message 則是一個不錯的主意!
     
  11. 重新啟動 xinetd 囉!

大致的流程就是這樣啦! ^_^

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多