歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 用Linux架設FTP服務器(3)

用Linux架設FTP服務器(3)

日期:2017/3/2 16:56:34   编辑:Linux服務器
 配置“/etc/ftpaccess”文件
    “/etc/ftpaccess”文件是用來配置“ftpd”的。這個文件主要是設置允許哪個用戶、多少用戶訪問ftp服務器,以及一些安全方面的問題。配置文件的每一行或者定義一個屬性或者設定一個屬性值,。對於非匿名的“chroot”訪問,必須創建一些“guestgroup”,每一個都要對應“/home/ftp/etc/group”文件中的項。
    創建ftpaccess文件(touch /etc/ftpaccess),在文件中加入:
    class openarch guest 208.164.186.*
    limit openarch 20 MoTuWeTh,Fr0000-1800 /home/ftp/.too_many.msg
    email [email protected]
    loginfails 3
    readme README* login
    readme README* cwd=*
    message /home/ftp/.welcome.msg login
    message .message cwd=*
    compress yes all
    tar yes all
    chmod yes guest
    delete yes guest
    overwrite yes guest
    rename yes guest
    log commands real,guest
    log transfers real,guest inbound,outbound
    guestgroup ftpadmin
    guestgroup webmaster
    # We don‘t want users being able to upload into these areas.
    upload /home/ftp/* / no
    upload /home/ftp/* /etc no
    upload /home/ftp/* /dev no
    # We‘ll prevent downloads with noretrieve.
    noretrieve /home/ftp/etc
    noretrieve /home/ftp/dev
    log security real,guest
    guest-root /home/ftp ftpadmin webmaster
    restricted-uid ftpadmin webmaster
    restricted-gid ftpadmin webmaster
    greeting terse
    Keepalive yes
    noretrieve .notar
    現在把文件的權限設成600:
    [root@deep]# chmod 600 /etc/ftpaccess
    下面解釋配置文件中的設置:
    class
   “class”用來定義一個允許訪問ftp服務器的用戶類別。可以定義任意多的類別(class)。每一個“class”行的格式如下:
    class <classname> <typelist> <addrglob>
    <classname>是class的名字,<typelist>是允許加到類別(class)中的用戶類型,<addrglob>是這個class允許的IP地址范圍。
    <typelist>中的項是用逗號隔開的,每一個項有三種可能的取值:anonymous、guest或real。anonymous用戶是用anonymous或ftp帳號訪問ftp服務器而且只需要訪問公用文件的那些用戶。guest用戶有一些特殊因為他們在系統中沒有帳號,但是卻又是guest組的成員。real用戶必須在FTP服務器上有帳號,而且需要經過服務器的安全驗證。
    <addrglob>可以用通配符,例如:“*”表示所有的站點。下面這一行:
    class openarch guest 208.164.186.*
    表示只有在系統中有自己帳號的guest用戶而且IP地址為“208.164.186.*”才能訪問ftp服務器。
    limit
    “limit”根據class和時間范圍來限制登錄ftp服務器的用戶數。“limit”的格式是:
    limit <class> <n> <times> <message_file>
    其中<class>是受限制的類別(class),<n>表示在這個類別中受到限制的最多用戶數,<times>表示“limit”有效的時間段,<message_file>是當達到最大的用戶數目的時候,別的用戶還想登錄時顯示的信息。
    <times>中的字符串用逗號隔開,每一個字串表示一天。星期一到星期日分別用Mo、Tu、We、Th、Fr、Sa和Su表示,周末也可以用Wk表示。表示時間的小時和分鐘之間不要用冒號隔開。“-”用來表示范圍。
    例如,限制“openarch”這個類別,最多可以有20個用戶,訪問時間是星期一道星期四全天,星期五從半夜到下午六點。用下面這一行來表示: limit openarch 20 MoTuWeTh,Fr0000-1800 /home/ftp/.too_many.msg
    如果一旦達到最大的用戶數,還有別的用戶想連接ftp服務器,就會把“/home/ftp/.too_mang.msg”中的信息傳給用戶。
    loginfails
    “loginfails”設置最多允許的登錄失敗的次數。可以用下面這一行來表示:
    loginfails <n>
    <n>表示最多允許的登錄失敗的次數。例如,只允許失敗兩次可以這樣表示:
    loginfails 3
    readme
    “readme”設置在什麼條件下,一旦當前目錄中的文件發生了變化需要提醒用戶。
    這個命令的格式為:
    readme <path> <when>
    <path>是用來提醒用戶的文件的名字(例如:README),<when>設置出現這個提示信息的條件。
    <when>可以為下面兩種形式:LOGIN或CWD=<dir>。如果為LOGIN,當用戶成功登錄的時候就會出現提示信息。如果為CWD=<dir>,當用戶進入<dir>目錄的時候就會有提示信息。
    請記住當給匿名(anonymous)用戶設置提示信息的路徑的時候,這個路徑必須是相對於匿名ftp目錄。

Copyright © Linux教程網 All Rights Reserved