Solaris安裝
一:FTP的安全問題:
(1)建立/etc/ftpusers文件,列入此文件中的用戶不能使用ftp服務,考慮安全性該文
件中應包括root,uucp用戶。
(2)solaris系統中默認時無/etc/Shells文件,這就為黑客創造了條件,這時用戶可以
用任何shell訪問系統的ftp服務,如不存在時應考慮建立該文件。
二:自動登錄:
如需使用FTP提供的自動登錄功能需產生一個名為.netrc的文件,該文件位與用戶的home
目錄中,.netrc文件的權限要設置為600。 文件格式如下:
machine hostname | default login login_id password password macdef macfilename
例:machine zzft login test password test
defalut login test password test1
第一行使用戶test自動登錄到主機zzft上建立ftp會話;第二行准許zzft使用默認的帳號登
錄到其他服務器上。
三:對於 Anonymous FTP 的用戶, in.ftpd 限定了該用戶的一些使用權限.
要建立一個Anonymous FTP, 建議按下列的步驟來設置.
1. 建立一個 Anonymous FTP 的 home directory. 這個目錄是Anonymous
FTP 的根目錄, 所有 Anonymous 所能存取的文件,都在這個目錄以下.
假設這個目錄為 ~ftp (例如建立在 /export/ftp). 這個目錄的屬主需為 root, 且對任何
人都不能有寫的權限.
2. 建立 ~ftp/bin 這個目錄是用來放 Anonymous 所能使用的命令. 一般 來說, 放入 ls
和 pwd 即可.這個目錄的屬主需為 root, 且對任何人 都不能有寫的權限. 目錄內, 文件的
mod 需為 111.(ex. %chmod 111 * )
3. 建立 ~ftp/usr/lib 這個目錄是用來存放當 Anonymous 用戶在使用 FTP時,所會使用到
的 library. 這個目錄的屬主需為 root, 且對任何人 都不能有寫的權限. 你可以把存在
/usr/lib 的下列文件拷貝到這個目錄內.
ld.so.1*
libc.so.1*
libdl.so.1*
libmp.so.2*
libnsl.so.1*
libsocket.so.1*
nss_compat.so.1*
nss_dns.so.1*
nss_files.so.1*
nss_nis.so.1*
nss_nisplus.so.1*
nss_xfn.so.1* #沒有這個文件可忽略
straddr.so* straddr.so.2*
4. 建立 ~ftp/etc 這個目錄是用來存放 FTP 用戶及權限.這個目錄的 屬主需為 root, 且
對任何人都不能有寫的權限. 你可以把 /etc/passwd /etc/group 以及 /etc/netconfig 拷
貝到這個目錄中. 並且修改 passwd及 group. 在 passwd 這個檔中, 你只需留
root,daemon,uucp,ftp這幾個 user. 內容 如下: (請按自己的環境設置)
root:x:0:1:Super-User::
daemon:x:1:1:::
uucp:x:5:5:uucp Admin::
ftp:x:30000:400:Anonymous FTP::
在 group 進個檔中, 你只需留必需的 group . 如 other (root,daemon的 group),
uucp (uucp 的 group),ftp (ftp 的group). 內容如下: (請按自 己的環境設置)
other::1:
uucp::5:root,uucp
ftp::400:
5. 建立 ~ftp/pub 這個目錄是給 Anonymous 存取文件的地方, 也就是一般 我們用
Anonymous FTP 時, 所可以 download file 的地方. 此目錄的擁有 者為 ftp 的理者.
而其 mod 需設為 755.
6. 建立 ~ftp/dev 這個目錄是當Anonymous FTP用戶在執行指令行, 所需用 到的裝置. 要
建立這些裝置, 要先以 ls -lL 來看下列四個裝置的屬性.
/dev/zero
/dev/tcp
/dev/udp
/dev/ticotsord
然後再利用 mknod , 在 ~ftp/dev 內建立這四個裝置.
例如:
% ls -lL /dev/zero
crw-rw-rw- 1 root root 13, 12 Feb 19 15:00 /dev/zero ^^^ ^^^ ^^^ ^^^^ 則建立
zero 這個 device 的方法為
% mknod zero c 13 12
建立好了之後, 必需將其 mod 設為 666 才不會產生 "permission denied" 的錯誤息.
7. 建立 ~ftp/usr/share/lib/zoneinfo 這個目錄是讓 Anonymous 在使用 ls -l 時, 會顯
示出正確的時間及日期. 需將其 mod 設為 555
8. in.ftpd 利用 pam 來對用戶做 認證,計費管理及session的管理. pam的設置檔存放在
/etc/pam.conf .你必需把以下三行加入 pam.conf這個文件裡頭.
ftp auth required /usr/lib/security/pam_unix.so.1
ftp account required /usr/lib/security/pam_unix.so.1
ftp session required /usr/lib/security/pam_unix.so.1
9. 最後, 要設置 Anonymous FTP 的步驟, 就是開一個 Anonymous 的帳號. 假設
Anonymous FTP 的 root 為 /export/ftp . 則你必需在 /etc/passwd 中加入以下這一行:
ftp:x:30000:30000:Anonymous FTP:/export/ftp:/nosuchshell
並且, 在 /etc/shadow 中加入以下這行: ftp:NP:6445::::::
加好了以後, 你就可以用 Anonymous 來做 FTP 了.....
如果你要一開放一個 incoming 區, 可以按下列的方式做.
1. 建立一個 ~ftp/incoming 的目錄, 屬主為 root , group 為 ftp 的 group
2. 將 upload 的 mod 設為 777 即可.
除將PUB目錄設為755其余設為555
四:FTP的問題
(1)修改超時時間的方法是編輯/etc/inetd.conf文件。
原文件:ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
修改後:ftp stream tcp nowait root /usr/sbin/in.ftpd -t3600 in.ftpd
必須向inetd進程發SIGHUP信號重新啟動
(2)無法用mput一次傳送多個文件使用glob命令打開文件名擴展的功能:
ftp>glob
Globbing truned off
ftp>glob
Globbing truned on
(3)FTP的調試開關-d或在ftp>下執行debug,會顯示會話中交換ftp消息及消息的傳遞方向