|
導讀網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據... 網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 先設置編譯器的編譯參數: CC="egcs" 這些編譯參數告訴編譯器如何編譯wu-ftpd: 不要用失敗的DNS查詢 加入對定額(QUOTA)的支持(如果OS支持) 加入對PAM的支持 不允許作為單獨的daemon運行 刪除過多的空行 不支持虛擬服務器 禁止PID加鎖睡眠消息(用于繁忙的站點) 被動連接的時候不要求用同樣的IP 不允許匿名ftp訪問 使用內部的“ls”命令(試驗性的) 內部的“ls”命令顯示UID而不顯示用戶名(為了提高速度) 用下面的命令編譯和安裝軟件: make 上面的“make”和“make install”可以配置軟件以保證系統中有編譯所需要的函數庫,然后把所有的源文件都編譯成可執行的二進制文件,最后把二進制文件和配置文件安裝到相應的目錄里。 “install –m”安裝“xferstats”程序,用于統計傳輸了多少文件。“touch”命令為xferstats在“/var/log”目錄下創建日志文件。“chomod”把“xferlog”的權限改為只對超級用戶“root”可讀和可寫。接著,我們為“in.ftpd”二進制文件創建符號鏈接。最后,用“strip”命令減小所有二進制文件的大小以提高wu-ftpd的性能。 清除不必要的文件 [page] “rm”命令刪除所有編譯和安裝wu-ftpd所需要的源程序,并且把wu-ftpd軟件的壓縮包刪除掉。 為FTP站點的用戶建立沒有shell的帳號 第一步 用下面的命令在“/etc/passwd”文件中創建用戶。對于每個允許訪問ftp服務器的新用戶都要重復這個步驟。 [root@deep]# mkdir /home/ftp Changing password for user ftpadmin 第二步 編輯“/etc/shells”文件并加入一個空shell,如:null。這個假的shell可以限制用戶對ftp服務器的訪問。 [root@deep]# vi /etc/shells /bin/bash 第三步 現在編輯“/etc/passwd”文件,手工加上“/./”把“/home/ftp”目錄和“/ftpadmin”目錄分開,用戶“ftpadmin”會自動轉到(chdir)“/ftpadming”目錄下。在“passwd”文件中每添加一個ftp用戶都要重復這個步驟。 編輯“passwd”文件(vi /etc/passwd),把下面這一行改為: ftpadmin:x:502:502::/home/ftp/ftpadmin/:/dev/null 改為: ftpadmin:x:502:502::/home/ftp/./ftpadmin/:/dev/null 帳號為“ftpadmin”,這這個帳號的家目錄有一些奇怪。第一部分“/home/ftp/”表示“chroot”時作為根目錄的目錄。被點號分開的“/ftpadmin”表示當登錄ftp服務器的時候會自動轉到這個目錄。“/dev/null”這個空shell不允許“ftpadmin”像正常用戶那樣登錄。經過這些改變,“ftpadmin”用戶用的不是真正的shell而是偽shell,這樣訪問ftp服務器就受到限制。 創建一個“chroot”用戶環境 [page] 第一步 [root@deep]# mkdir /home/ftp/dev 第二步 [root@deep]# chmod 0511 /home/ftp/dev 上面這些“chmod”命令把chrooted之后的“dev”、“etc”、“bin”和“lib”目錄設置成超級用戶“root”可讀、可執行,用戶組和所有用戶可執行。 第三步 [root@deep]# cp /bin/ls /home/ftp/bin (require only if you are not using the “--enable-ls” option) 第四步 [root@deep]# ldd /bin/ls (require only if you are not using the “--enable-ls” option) libc.so.6 => /lib/libc.so.6 (0x00125000) 把共享庫拷貝到“/home/ftp/lib”目錄下: [root@deep]# cp /lib/libc.so.6 /home/ftp/lib/ (require only if you are not using the “--enable-ls” option) 注意:如果想用Linux的“ls”程序而不是用WU-ftpd自帶的“ls”(編譯時加上“--enable-ls”參數),才需要第三和第四步。 第五步 [root@deep]# mknod /home/ftp/dev/null c 1 3 第六步 [root@deep]# cp /etc/passwd /home/ftp/etc/ 編輯“passwd”文件(vi /home/ftp/etc/passwd)把除了“root”和允許使用ftp的用戶之外的所有其它項刪掉。這對于改變根文件系統的環境很重要,改變之后的“passwd”文件會是象下面這樣的: root:x:0:0:root:/:/dev/null 編輯“group”文件(vi /home/ftp/etc/group),把除了“root”和允許使用ftp的用戶之外的所有其它項刪掉。改變之后的“group”文件會是象下面這樣的: root:x:0:root 配置 [page] 為了運行FTP服務器,必須創建或者把下面的文件拷貝到相應的目錄下: 把“ftpaccess”文件拷貝到“/etc”目錄下 可以把“floppy.tgz”解壓之后,找到上面列出來的文件,并拷貝到相應的目錄下,或者用拷貝粘貼的方法從本書中直接粘貼出。 配置“/etc/ftpaccess”文件 創建ftpaccess文件(touch /etc/ftpaccess),在文件中加入: class openarch guest 208.164.186.* 現在把文件的權限設成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服務器上有帳號,而且需要經過服務器的安全驗證。 [page] <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目錄。
網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!