在AIX下啟動FTP伺服器-默認FTP和wu-ftpd 平台:IBM AIX 一:默認FTP IBM AIX操作系統在安裝完之後,查看/etc/inetd.conf文件,會有一行 ftp stream tcp6 nowait root /usr/sbin/ftpd ftp 這表明系統會默認啟動AIX自帶的ftpd,使AIX提供標準的ftp服務。但是AIX提供的ftp服務具有一定的局限性,例如普通用戶可以查看到/home下除了該用戶目錄之外的其他目錄以及根文件系統等,對用戶的控制不夠靈活等等。 默認ftp 屬於inetd內的服務,/etc/initab ->rc.tcpip inetd 通過/etc/inetd.conf來配置是否運行 lssrc -ls inetd startsrc -t ftp 配置沒有什麼太多說的 startsrc -s tcpip 把所有tcpip子系統都起來,當然是inetd和inittab沒有關閉FTP情況下 拒絕限制某些用戶訪問,編輯/etc/ftpusers添加需要拒絕的用戶,每用戶一行 For example: #more /etc/ftpusers guest 當嘗試 ftp 登錄時,系統報錯: Name (localhost:root): guest 530 User ql access denied. Login failed 在AIX環境中,當用戶從Windows上傳文件到AIX伺服器時所傳文件的預設讀寫屬性為640(rw-r-----)。如想改變預設讀寫屬性為644,首先用vi編輯器打開/etc/inetd.conf文件,在"ftp"定義行的末尾加上"-u 033",然後刷新inetd進程: refresh -s inetd 這就改變了ftp文件的預設屬性。 作為客戶端,使用ftp自動傳輸文件 1. 在用戶根目錄下創建文件.netrc 2. 設置.netrc的屬性為600,owner 為ftp用戶 3.定製.netrc的內容.如: machine
loginpassword macdef init get file1 put file2 .... quit 註:.netrc必須以一空行結束。 二:AIX下的wu-ftp 一個增強的FTP伺服器軟體——wu-ftpd 本文向AIX用戶介紹了世界上廣泛使用的ftp伺服器軟體wu-ftpd的安裝以及系統配置。 這裡推薦一個功能比較強大的ftp伺服器端軟體wu-ftpd,可以彌補ftpd功能上的不足。 熟悉Linux的用戶比較清楚,Linux下默認的ftp伺服器軟體就是wu-ftpd。這個軟體是由華盛頓大學(Washington University-http://wuarchive.wustl.edu/)開發的。它具有非常強大的功能: 1) 可以在用戶下載文件的同時對文件做自動的壓縮或解壓縮操作; 2) 可以對不同網路上的機器做不同的存取限制; 3) 可以記錄文件上載和下載時間; 4) 可以顯示傳輸時的相關信息,方便用戶及時了解目前的傳輸動態; 5) 可以設置最大連接數,提高了效率,有效地控制了負載。 您可以在IBM Linux Toolbox網站上下載到: http://www-1.ibm.com/servers/aix/products/aixos/linux/altlic.html。IBM提供的wu-ftpd最新版本是2.6.2。 一、wu-ftpd的安裝。 從IBM網站上下載到的wu-ftpd是rpm格式的,安裝前需要安裝fileutils包,同樣可以從IBM Linux Toolbox網站上下載到。在安裝完后,您可以找到文件/usr/sbin/wu.ftpd,這個文件就是用來替換原來的ftpd的ftp伺服器進程。為了在啟動inetd的時候自動啟動wu-ftpd,需要將/etc/inetd.conf中ftp stream tcp6 nowait root /usr/sbin/ftpd ftp改為ftp stream tcp6 nowait root /usr/sbin/wu.ftpd ftp,然後用refresh -s inetd刷新inetd進程。安裝好以後,可以用/usr/sbin/ckconfig命令來檢查是否已經正確安裝。此時就可以使用wu-ftpd了。您可以用lssrc -t ftp隨時列出wu-ftpd的狀態。 wu.ftpd命令還有一些參數,這裡做以簡要說明: -d 當FTP伺服器出錯時,將錯誤入系統的syslog中; -l 將每次FTP客戶端進行連接的信息記錄入系統的syslog中; -t 設置FTP客戶端連接幾分鐘無操作就切斷連接; -a 使wu-ftp使用/etc/ftpaccess的設定; -A 使wu-ftp不使用/etc/ftpaccess的設定; -L 將FTP客戶端登錄后所執行的程序記錄在系統的syslog中; -I 將FTP客戶端上載文件的日誌記錄在/usr/adm.xferlog文件中; -o 將FTP客戶端下載文件的日誌記錄在/usr/adm/xferlog文件中。 二、wu-ftpd的配置。 wu-ftpd主要有以下6個配置文件: ftpaccess(主配置文件,控制存取許可權) ftpconvertions(配置文件壓縮/解壓縮轉換) ftpgroups(設定ftp自己定義的組) ftphosts(設定個別的用戶許可權) ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機) ftpusers(設定哪些帳號不能用ftp登錄) 下面就文件中的一些常見參數做以說明。 1、/etc/ftpaccess(wu-ftpd的主要配置文件) class--定義群組,用法如下: class<種類><用戶地址>[<用戶地址>……] 由class定義的組用戶才可以登錄進ftp,可以使用多層式的class來限制哪些組的用戶能夠從哪些地方登錄。有三個重要的類,real、anonymous和guest。real如果沒有列在定義中,那麼這台機器中任何真實的用戶都無法用自己的帳號連上來(真實用戶是指在主機上擁有自己帳號的用戶)。anonymous如果沒有定義,就表示不讓沒有帳號的的人連上來。如果有定義guest,那麼guest組的人就可以上來。另外<用戶地址>是指ftp上來的用戶會用到的IP地址,則可自行設定。 以下是一些例子: class all real,guest,anonymous * 定義了一個名為all的類,包含三種人,所有IP的登錄用戶,也就是任何人都可以登錄ftp。 class local real localhost loopback local這個類的意思是只有real的用戶可以從本機機器連上來 。 class remote guest,anonymous * remote這個類包含了從任何地方上來的guest和anonymous用戶,但是real用戶不能登錄。 class rmtuser real !*.example.com rmtuser這個類包含了任何遠程的(除了example.com)真實用戶 ,也就是說example.com是在"黑名單"上的。 autogroup--自動對應組,用法如下: autogroup[……] 因為在UNIX中沒有類(class)的概念,只有組(group)的概念。對用戶的控制都是基於組的。當定義好的那些同屬於一個類的用戶,一旦登錄上來就會被對應到一個相應的組下面,這樣你就可以用Unix的文件許可權對某一群人做限制。 deny--拒絕某些地址登錄,用法如下: deny<拒絕登錄的地址><信息文件> 禁止某些機器登錄,並顯示<信息文件>。例如: deny 210.62.146.*:255.255.255.254 /etc/reject.msg 在reject.msg中您可以給出拒絕登錄的理由等等。 guestgroup--設定訪客群 guestuser--設定訪客帳號 realgroup--設定真實組 realuser--設定真實帳號 defumask--設定某class的umask,用法如下: defumask[] umask是建立文件時該文件的的許可權掩碼,這對於上傳文件很重要。 timeout--設定登錄超時,用法如下: timeout accept<秒> 接受登錄超時,預設120秒 timeout connect<秒> 登錄建立超時,預設120秒 timeout data<秒> 數據傳送超時,預設1200秒 timeout idle<秒> 用戶發獃超時,預設900秒 file-limit--限制某class只能傳幾個文件,用法如下: file-limit[][] 對某個類用戶存取文件的數目,包含了in(上傳)、out(下載),total raw代表整個傳輸的結果,不光是數據文件。例如: file-limit out 20 testftp 限制testftp用戶最多只能下載20個文件 byte-limit--限制某class只能傳幾個位元組,用法跟file-limit相似 limit-time--限制一個登錄只能持續多久,用法如下: limit-time{*|anonymous|guest}<分鐘> 為了避免有人在ftp站上不下來,可以用這個方法限制用戶的上線時間,例如: limit-time guest 5 讓guest帳號的用戶只能用5分鐘 limit--限制某class能同時幾人上線,用法如下: limit<登錄數目><時間區段><額滿信息文件> 設定某個class在某一時間區段內最多能夠幾人同時上線,後面是當超過登錄數目時要顯示的信息。例如: limit all 32 Any /home/ftp/etc/toomanyuser.msg 限制所有登錄在任何時間只能有32個用戶,超過則拒絕登錄並顯示信息 limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 限制levellone這個class的用戶在23:00到6:00這段時間內只能有5人登錄 noretrieve--設定哪些文件不可下載 noretrieve[absolute/relative][class=]…[-][<文件名>…] absolute或relative指文件是用絕對路徑還是相對路徑 allow=retrieve--設定哪些文件可以下載 allow[absolute/relative][class=]…[-][<文件名>…] loginfails--設置登入錯誤可嘗試的次數 當用戶登錄時可能輸入錯誤ID或密碼,這個設定可以讓用戶輸入錯誤幾次以後就斷線。 greeting--顯示Server的版本信息,用法如下: greeting 當用戶登入畫面顯示的server信息,full是預設值,包含版本號以及hostname,brief只有hostname,而terse只有「FTP server ready」的信息。 barnner--設定未進入Login畫面之前用戶看到的信息,用法如下: banner<文件路徑> 這裡敘述了在用戶登入時,在還沒打ID/Password之前要出現的信息。文件路徑指的是相對於真實的路徑,而不是相對於ftp的根目錄。 host--設定ftp主機名 email--指定ftp管理者的email地址 message--信息文件的設定,用法如下: message<文件>{<何時>{……}} 這裡的文件的路徑是相對於ftp的根目錄的,「何時」是指當你做了什麼動作之後的反應,有幾個選擇: login(登入時) cwd=<目錄>(進入某目錄時) class 名稱是前面已經定義過的,允許你的信息只對哪些人發出。 而信息文件的內容除了文字以外,還可以使用以下一些事先定義好的代號: %T(本機時間) %F(目前分區所剩餘的空間) %C(目前所在的目錄) %E(管理者的E-mail) %R(客戶端主機名稱) %L(本機主機名稱) %U(用戶名稱) %M(與我相同class用戶允許多少人登錄) %N(與我相同class用戶目前有多少人登錄) %B(絕對磁碟限制大小,目前分區(單位blocks)) %b(preferred磁碟限制大小,目前分區(單位blocks)) %Q(目前已使用的blocks) %I(最大可使用的inodes(+1)) %i(Preferred inodes限制) %q(目前使用的indoes) %H(超量使用磁碟空間的時間限制) %h(超量使用文件數目的時間限制) readme--通知用戶哪些README文件已經更新 log commands--記錄用戶所使用過的命令,用法如下: log commands<用戶種類> log transfers--記錄用戶所傳輸的文件,用法如下: log transfers<用戶種類><傳輸方向> 設定有哪些類型的用戶傳輸文件需要記錄,包含了inbound(用戶上傳)和outbound(用戶下載),例如: log transfers anonymous,guest inbound,outbound log security--記錄安全性,用法如下: log security<用戶種類> 特別用於記錄某類用戶關於noretrive、notar等有關安全性的記錄 log syslog--記錄到系統的syslog文件 alias--設定目錄別名,用法如下: alias<別名字元串><目錄> cdpath--設定cd更換目錄搜索順序 shutdown--通知用戶要關站了 shutdown<信息文件> 如果信息文件存在的話,當這個文件指定的某時間以後,就會拒絕登錄並切斷已有的登錄,等時間一到就關機。這個信息文件的格式如下: <年><月><日><時><分><拒絕倒數><斷線倒數><文字> chmod--設定是否可以改變文件許可權 delete--設定是否可以刪除文件 overwrite--覆蓋文件 rename--重命名文件 umask--允許設定umask passwd-check--設定anonymous FTP的密碼檢查程度,用法如下: passwd-check() 設定對anonymous ftp用戶的密碼是否檢查,none表示不檢查,trivial為包含@的任意密碼,rfc822則表示密碼要遵循RFC822格式,enforce表示密碼檢查不過不允許進入,warn表示密碼檢查不過只出現警告信息。 deny=email--拒絕特定的email當密碼 path-filer--攝定哪些文件名不可使用 path-filer<錯誤信息文件><允許字元><不允許字元> upload--設定upload許可權 upload[absloute/relative][class=]…[-]<設定的目錄> >[dirs/nodirs][d_mode] 用來對我們要設定的目錄做許可權設定: absoulte/relative使用絕對路徑或是相對路徑 class=指定某個class root-dir指的是對哪些root-dir的人,也就是chroot后的登入目錄,應用這個規則 設定的目錄指的就是我們要限制的目錄 yes/no指得是能否在此目錄下開新文件 owner,group指出是開出來的文件擁有者及組 Mode指的是文件許可權 dirs/nodirs指的是能否開新目錄 d_mode設定建立新目錄時目錄的許可權,如果不設定會根據mode來設定 thoughput--控制下載速度 thoughput<子目錄列表><文件><遠端地址列表> 對遠端的地址,控制他抓某個子目錄下的某些文件時的速度,例如: thoughput /e/ftp * * oo - * thoughput /e/ftp /sw* * 1024 0.5 * thoughput /e/ftp sw* readme oo - * thoughput /e/ftp sw* * oo - *.foo.com 以上的設定「oo」表示不限制bytes/sec,「-」或是「1.0」都是代表一倍。第一行的意思是說,在/e/ftp下面的文件不限制下載速度;第二行說,在/sw*下面的任何文件限速為1024bytes/sec* 0.5=512bytes/sec;第三行又把readme文件的限速取消;最後一行則對*.foo.com開放全速。 anonymous-root--對某class設定匿名用戶的根目錄 anonymous-root[] guest-root--預設一個guest用戶根目錄 guest-root[] 其中用於指定uid的範圍 deny-uid,deny-gid--拒絕某段UID(GID)範圍 allow-uid,allow-gid--允許某段UID(GID)範圍 restricted-uid,restricted-gid--限制用戶不能離開他的登錄目錄 unrestricted-uid,unrestricted-gid--用戶可以離開他的登錄目錄 dns refuse_mismatch--設定DNS查到名稱與用戶設定不符的動作 dns refuse_mismatch<信息文件>[override] 當用戶使用未註冊IP時,拒絕他的登錄,override則是不理會錯誤而讓他登錄,信息文件則是我們要給用戶看的。 2、/etc/ftphosts ftphosts文件其實跟ftpaccess裡面的access,deny很像,它是特別用來設定某些ID的登錄,它沒有class定義,所以必須是真實用戶。 allow|deny<用戶><地址>[<地址>……] 以下是一些例子: allow rose 140.0.0/8 deny jack 140.123.0.0:255.255.0.0 允許rose從140.*.*.*進來,拒絕jack從140.123.*.*上來。 3、/etc/ftpservers 這個文件控制了當你有不同的IP/hostname的時候,進來的登錄使用哪一個配置文件。例如: 10.196.145.10 /etc/ftpd/ftpaccess.somedomain/ 10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/ some.domain internal 10.196.145.20 /etc/ftpd/config/faqs.org/ ftp.some.domain /etc/ftpd/config/faqs.org/ 4、/etc/ftpusers 在這個文件里記錄的用戶禁止使用FTP。 5、/etc/ftpgroups。 給SITE GROUP指令使用,在線切換group。SITE EXEC容易造成安全漏洞,一般不建議開放。 6、/etc/ftpconversions 用來做tar、compress、gzip等動作指令配置文件,只要用預設即可,如果你不開放即時壓縮打包,也可以把內容清除。 三、wu-ftpd的一些相關命令。 安裝完wu-ftpd之後,會在/usr/bin下安裝幾個有關ftp管理的命令: ftpcount: ftpcount命令可以統計出當前連接到FTP伺服器上的用戶數目,並且同時列出上限。 命令輸出如下所示: Service class local ---0 --Users(20maximum) Service class remote --5 --Users(100maximum) ftpwho: ftpwho命令可以列出當前連接的用戶的詳細情況。 ftpshut: ftpshut命令用於生成一個在/etc/ftpaccess中設置的shut.msg文件,用於關機設定。ftpshut命令的格式為: Ftpshut <-l min=""> <-d min=""> time <說明> -l 這個參數設定在關閉FTP伺服器功能前多少分鐘時停止用戶的連接; -d 這個參數設定在關閉FTP伺服器功能前多少分鐘時切斷用戶連接; time 指定關閉FTP伺服器的時間。例如6:20分則寫為0620; 四、有關wu-ftpd的一些說明。 wu-ftpd是免費軟體,源代碼開放,因此IBM公司不負責該軟體的維護和技術支持。目前在wu-ftpd上已經發現了一些安全漏洞,wu-ftpd一直在完善中,因此對於使用wu-ftpd造成的一切直接和間接損失,IBM公司不負任何責任。
[火星人
]
在AIX下啟動FTP伺服器 已經有4313 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-203701.html