天天看點

linux下/etc目錄詳解

Linux /etc目錄詳解

/etc目錄 

  包含很多檔案.許多網絡配置檔案也在/etc 中. 

/etc/rc   or/etc/rc.d   or/etc/rc*.d   

  啟動、或改變運作級時運作的scripts或scripts的目錄. 

/etc/passwd   

  使用者資料庫,其中的域給出了使用者名、真實姓名、家目錄、加密的密碼和使用者的其他資訊. 

/etc/fdprm   

  軟碟參數表.說明不同的軟碟格式.用setfdprm 設定. 

/etc/fstab   

  啟動時mount -a指令(在/etc/rc 或等效的啟動檔案中)自動mount的檔案系統清單.Linux下,也包括用swapon -a啟用的swap區的資訊. 

/etc/group   

  類似/etc/passwd ,但說明的不是使用者而是組. 

/etc/inittab   

  init 的配置檔案. 

/etc/issue   

  getty在登入提示符前的輸出資訊.通常包括系統的一段短說明或歡迎資訊.内容由系統管理者确定. 

/etc/magic   

  file 的配置檔案.包含不同檔案格式的說明,file 基于它猜測檔案類型. 

/etc/motd   

  Message Of TheDay,成功登入後自動輸出.内容由系統管理者确定.經常用于通告資訊,如計劃關機時間的警告. 

/etc/mtab   

  目前安裝的檔案系統清單.由scripts初始化,并由mount 指令自動更新.需要一個目前安裝的檔案系統的清單時使用,例如df指令. 

/etc/shadow   

  在安裝了影子密碼軟體的系統上的影子密碼檔案.影子密碼檔案将/etc/passwd 檔案中的加密密碼移動到/etc/shadow中,而後者隻對root可讀.這使破譯密碼更困難. 

/etc/login.defs   

  login 指令的配置檔案. 

/etc/printcap   

  類似/etc/termcap ,但針對列印機.文法不同. 

/etc/profile , /etc/csh.login ,/etc/csh.cshrc   

  登入或啟動時Bourne或Cshells執行的檔案.這允許系統管理者為所有使用者建立全局預設環境. 

/etc/securetty   

  确認安全終端,即哪個終端允許root登入.一般隻列出虛拟控制台,這樣就不可能(至少很困難)通過modem或網絡闖入系統并得到超級使用者特權. 

/etc/shells   

  列出可信任的shell.chsh 指令允許使用者在本檔案指定範圍内改變登入shell.提供一台機器FTP服務的服務程序ftpd檢查使用者shell是否列在 /etc/shells 檔案中,如果不是将不允許該使用者登入. 

/etc/termcap 

  終端性能資料庫.說明不同的終端用什麼"轉義序列"控制.寫程式時不直接輸出轉義序列(這樣隻能工作于特定品牌的終端),而是從/etc/termcap中查找要做的工作的正确序列.這樣,多數的程式可以在多數終端上運作.

附:Linux系統 /etc/目錄 檔案介紹

1. aliases 包含了linux郵件服務所有的分發清單 

2. crontab 設定cron環境變量和運作自動任務的時間 

3. csh.cshrc csh (c shell) 使用者設定系統範圍的預設值 

4. csh.login 

5. csh.logout 

6. daily 

7. defaultdomain 

8. exports 

9. fbtab 

10.fstab 辨別常見儲存設備和它們在linux系統下挂載的位置 

11.ftpusers 

12.group 确定系統中定義組名群組 

13.host.conf 設定TCP/IP網絡上搜尋域名檢視檔案的位置 

14.hosts 包含了從你的這計算機上可以到達的ip位址和主機名 

15.inetd.conf 

16.localtime 

17.login.conf 

18.make.conf 

19.monthly 

20.motd 

21.netstart----新版已改名為/etc/rc.network 

22.passwd 為系統上所有合法使用者存儲帳戶資訊 

23.printcap 包含了為你計算機配置列印機定義 

24.profile 為所有使用者設定系統範圍的環境變量和啟動的順序。當使用者登入時讀取該檔案

25.rc 

26.rc.conf----代替原來的/etc/sysconfig 辨別dns域名伺服器主機的位置,使用TCP/IP協定的時候需要通過DNS服務将網際網路上的主機名裝換為 ip位址 

27.rc.conf.local----代替原來的/etc/rc.local 

28.rc.i386 

29.rc.local----新版改名為/etc/rc.conf.local 

30.rc.network----代替原來的/etc/netstart 

31.resolv.conf 

32.services 定義了TCP/IP服務和他們的端口配置設定 

33.shells 列出了系統可用的shell 指令行編輯器(bash。sh和csh等)還有它們的位置

34.sysconfig----新版已改名為/etc/rc.conf 

35.syslog.conf 

36.termcap 

37.ttys 

38.weekly 

39./etc/hosts.allow /etc/hosts.deny 

hosts.allow---列出允許使用本地計算機上某些TCP/IP服務的主機

hosts,deny---列出不允許使用本地計算機某些TCP/IP服務的主機 (預設情況下是不存在的) 

40./etc/networks /etc/netmasks

41.etc/issue 從本地終端或以控制台檔案模式登入到fedora或rhel系統時,顯示該檔案包含的行 

42. /etc/named.boot如果你運作自己家的dns伺服器,該檔案包含了dns的設定 

1. aliases 

這個檔案主要是告訴 sendmail 要将信轉寄給哪些使用者, 或是交由哪個程式處理. 

如. root: user1,name2,user3 

usenet: "|/usr/local/bin/mail-post.pl" 

如上範例, sendmail 會将原先寄給的 root 的信分送給 user1 和 name2 和 user3, 而把寄給 usenet 的信交由 mail-post.pl 處理. 

在你修改完之後, 要記得執行 "newaliases" 來更新 /etc/aliases.db 

關於 aliases 之詳細說明, 請 man aliases 查詢. 

2. crontab 

這是給 root 用的 crontab file, 你也可以殺掉這個檔案以 "crontab -e" 來替代. 

格式如下... 

#分 小時 天 月 禮拜幾 用誰的身份 指令 

*/5 * * * * root /usr/libexec/atrun 

minute: 分鐘/小時, 範圍自 0 至 59 

hour: 小時/天, 範圍自 0 至 23 

mday: 天/月, 範圍自 0 至 31 

month: 月/年, 範圍自 0 至 12 

wday: 天/周, 範圍自 0 至 7 (0, 7 表示星期天) 

who: 表是以誰的身份執行這個 command 

(這隻對 /etc/crontab 有用, crontab -e 無此欄位) 

command: 指令或是 shell script 

*/N: 表示每 N 一算, 像小時而言, */3 指的是 0,3,6,9,12 

請 man 5 crontab 去看詳細說明. 

3. csh.cshrc 

# 系統内定給 csh shell 用的 .cshrc 檔 

## 确定 HOME 目錄 

setenv HOME $HOME 

set home=$HOME 

cd $HOME 

## 檔案權限設定 

umask 022 

## 就是 Aliases 嘛 

alias pftp '/usr/local/bin/pftp' 

alias free 'pstat -s|grep -v not' 

alias talk ytalk 

alias ruptime '/usr/bin/ruptime|grep -v down' 

alias ftp ncftp 

alias rwho '/usr/bin/rwho -a|grep -v LOGIN' 

alias more less 

alias zmore zless 

alias m less 

alias pss 'ps auxw|sort -k 2|grep $USER' 

alias psm 'ps auxw|sort -k 1,2|more' 

alias psl psm 

alias psv 'ps auxw|grep -v $USER|sort -k 2|more' 

alias d '/usr/local/bin/colorls -G -alFgk /!* | more' 

alias dir '/usr/local/bin/colorls -G -alFgk /!*' 

alias rd rmdir 

alias md mkdir 

alias cls clear 

alias cd.. 'cd ..' 

alias del '/bin/rm -i' 

alias xdel '/bin/rm -rf' 

alias mv 'mv -i' 

alias dir/w '/bin/ls -aFgk' 

alias dw '/bin/ls -aFgk' 

#alias x '(startx &)>&/dev/console;sleep 300;lo' 

#alias lpr 'lpr -m' 

alias cp 'cp -i' 

alias rm 'rm -i' 

alias lo 'clear;exit' 

alias bye 'clear;exit' 

#alias vi cvi 

alias unlo 'unset autologout;unsetenv autologout' 

alias q joe 

alias .. 'cd ..' 

alias ... 'cd ../..' 

#alias ku 'ku -W' 

alias tin rtin 

#alias s 'exec screen' 

## 環境設定 

set path = (/sbin /usr/sbin /bin /usr/bin /usr/local/sbin /usr/local/bin) 

set path = ($path /etc /usr/etc /usr/local/etc) 

set path = ($path /usr/X11R6/bin /usr/games) 

set path = ($path ~ ~/bin .) 

set mail = (10 /var/mail/$USER) 

set recexact 

set autolist 

set matchbeep = ambiguous 

set autoexpand 

set autocorrect 

set ignoreeof 

set noclobber 

set notify 

set correct = all 

if ( ! $?WINDOW ) then 

# set prompt = "%B%m [%/] [%?] -%n- " 

set prompt = "%B%m [%/] -%n- " 

else 

set prompt = "%B%m [%/] -%n- [W$WINDOW] " 

endif 

set prompt2 = "(%t %m)%~ #%% " 

set prompt3 = "%SDo you mean [%R] (y/n/e) ? " 

set history = 500 

set savehist = 500 

set time=100 

#set watch=(1 any any) 

set symlinks = ignore 

set listlinks 

set listjobs 

set rmstar 

set showdots 

#set tperiod = 30 

# set autologout = (60 2) 

#setenv MANPATH /usr/man:/usr/local/man:/usr/man

/preformat:/usr/X11/man:/usr/openwin/man 

setenv EDITOR /usr/local/bin/joe 

setenv VISUAL /usr/local/bin/joe 

setenv EXINIT 'set ai' 

setenv LESS "-EsPm-LESS-" 

setenv LESSCHARDEF "8bcccbcc18b95.." 

setenv PAGER "less -Em" 

#setenv PAGER more 

setenv LC_CTYPE lt_LN.ISO_8859-1 

setenv LANG C 

setenv BLOCKSIZE 1k 

setenv MACHINE_ARCH i386 

setenv MACHINE i386 

setenv ORGANIZATION "交大資工 ADONIS" 

## X 相關設定 

setenv XWINHOME '/usr/X11R6' 

setenv X11HOME '/usr/X11R6' 

setenv OPENWINHOME '/usr/X11R6' 

setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB 

setenv XNLSPATH /usr/X11R6/lib/X11/nls 

#setenv LD_LIBRARY_PATH /usr/lib:/usr/X11R6/lib:/usr/local/lib 

stty erase '^?' 

if ( $?TERM ) then 

if ($TERM == "xterm" || $TERM == "xterms") then 

stty erase '^H' 

endif 

endif 

## 雜七雜八設定 

#set term = vt100 

#set TERM = vt100 

#setenv term vt100 

#setenv TERM vt100 

#stty extb 

stty 38400 

stty crt 

stty -tabs 

stty -istrip 

stty pass8 

unlo 

#bindkey "[HOME]" beginning-of-line 

#bindkey "[ESC]" keyboard-quit 

limit coredumpsize 0 

# 給 FSP Client 用 

setenv FSP_PORT 21 

setenv FSP_HOST nctuccca.edu.tw 

setenv FSP_DIR / 

setenv FSP_TRACE 

setenv FSP_DELAY 3000 

# Aii.. 就是 fsp aliases :) 

alias fcat '(set noglob; exec fcatcmd /!*)' 

alias fcd 'setenv FSP_DIR `(set noglob; exec fcdcmd /!*)`;fpwd' 

alias fdu /(set noglob/; exec fducmd /!) 

alias fget '(set noglob; exec fgetcmd /!*)' 

alias fgrab '(set noglob; exec fgrabcmd /!*)' 

alias fls '(set noglob; exec flscmd -F /!*)' 

alias fll '(set noglob; exec flscmd -l /!*)' 

alias fdir '(set noglob; exec flscmd -l /!*)' 

alias fmore /(set noglob/; exec fcatcmd /!/* /| more/) 

alias fpro '(set noglob; exec fprocmd /!*)' 

alias fpwd 'echo "$FSP_HOST ($FSP_PORT): $FSP_DIR"' 

alias frm '(set noglob; exec frmcmd /!*)' 

alias frmdir '(set noglob; exec frmdircmd /!*)' 

alias fhost 'setenv FSP_HOST /!*;setenv FSP_DIR /' 

4. csh.login 

# 系統内定的 .login 檔. 

#stty extb 

stty 38400 

#stty crt 

#stty -tabs 

stty -istrip 

stty pass8 

# Mesg y if not console 

mesg y 

if ( `tty | cut -c 6-` == console ) then 

mesg n 

endif 

msgs -fp 

5. csh.logout 

# 系統内定的 .logout 

clear 

6. daily 

cron 會 依照 /etc/crontab 去做每日例行的工作. 注意一下有些 commands 對你的硬碟造成很大的負荷, 像是最後一行 的 "sh /etc/security", 他會從你的根目錄開始查詢. 你可以加些每天你想要執行的commands, 像 是 "quotacheck -a", "bin/rm/-f /tmp*junk*. 

7. defaultdomain 

這個檔案記載你的 domainname, 你有跑 yp (nis) 時才有用. 當然閑閑填一填也沒差啦. 

8. exports 

這個檔案定義哪些目錄可經由 NFS 給别人使用. 

例如 /cdrom -ro host1,host2 

/home -maproot=root host3 

Notice: 若你沒加 "-ro" 表示可以寫入, 是以你應當小心點. 

做完修正後, "kill -1 $mountd_pid", 然後用 "showmount -e" 去看看 NFS 是否做的正确. 如果有錯, 用 "tail /var/log/messages" 來看錯誤訊息. 

你應該要将 /etc/rc.conf 中的 nfs_client_enable, nfs_server_enable 設為 YES. 

詳細說明請 man 5 exports. 

9. fbtab 

/dev/ttyv0 0600 /dev/console 

/dev/ttyv1 0600 /dev/console 

/dev/ttyv2 0600 /dev/console 

/dev/ttyv3 0600 /dev/console 

#/dev/ttyv0 0600 /dev/pcaudio:/dev/pcaudioctl 

10. fstab 

這個檔案定義當你開機時, 你想 mount 哪些 partition. 

例如. 

/dev/sd0a / ufs rw 1 1 

/dev/sd0e /dos msdos ro,-gmsdos,-m750 1 1 

/dev/sd0g /usr/local ufs rw,userquota 1 1 

/dev/sd0h /home ufs rw,userquota,groupquota 1 1 

/dev/sd0b none swap sw 0 0 

proc /proc procfs rw 0 0 

kern /kern kernfs rw 0 0 

詳情請 man fstab. 

如果你的 /usr 沒有跟 / 放在一起,要特别注意,/usr 不可以放在使用 LKM 載入的 filesystem 後面。例如,你的 MSDOSFS 是利用 LKM 載入的(也就是說,你沒有把 MSDOSFS 編譯在 kernel 中),你的 /dos 

一定要放在 /usr 後面,不然開機會失敗,例如: 

modload:exec(/usr/bin/ld):NO such file or directiory 

msdos:vfsload(msdos):Operation not permitted 

Filessystem mount failed,startup aborted 

Enter pathname of shell or RETURN for sh 

11. ftpusers 

這個檔注明的 users 将無法 ftp 這台機器. 隻要寫 username 即可. 算是禁止 ftp 進來的黑名單吧. 

12.group 

這個檔案主要記載著 group 名稱, group id 以及隸屬於該 group 的使用者. 

要記得在 FreeBSD 中, 隻有屬於 wheel group 的使用者才能 su 成 root. 

在更新時特别注意 /usr/src/etc/group 中是否有新增系統 group, 如 network 這個 group 就是最近新增的 group. 

其他詳細請用 man group. 

13. host.conf 

這個檔案決定 DNS-name-lookup 的先後順序. 你最好先 "hosts", 其次 "bind", 最後用 "nis". 

hosts: 自 /etc/hosts 查詢. 

bind: 自 nameserver (參考 /etc/resolv.conf 設定) 查詢. 

nis: 自 nis server 查詢. 

14. hosts 

這個檔案記載了你所需要的 ip 和 hostname, 最少要包括 localhost 和你自己的 hostname, 通常是提供優先於 nameserver 的查詢, 或是沒有 nameserver 時的查詢. 

格式如下: 

IP-addr full-hostname alias 

如. 123.456.789.123 heaven.net.com heaven 

請 man hosts 去看詳細說明. 

15.inetd.conf 

Internet 超級伺服器, 相關程式: /usr/sbin/inetd

這個檔案定義由 inetd 所提供的服務, 應該要和 /etc/services 保持一緻性. 

當你修改這個檔案的時候, 記得要 kill -1 $inetd_pid 去知會 inetd 要重新更新資料. 

你可以安裝 tcp-wrapper (tcpd) 以增加安全性. 

16.localtime 

這個檔記載你所在的時區資料, 你可以從 /usr/share/zoneinfo 中選一個适合的來用. 

就台灣而言, 你應該用 /usr/share/zoneinfo/Asia/Taipei, 正常來說, 在 install 時會自動将此檔案 copy 到 /etc/localtime. 

17.login.conf 

此檔案可控制系統資源與帳号各方面的限制,亦可設定内定之環境變數。 

"man login.conf" for detail. 

18.make.conf 

當你用 make 時, 這個定義檔将被參考. 

如果不是以 BSD 格式撰寫的 Makefiles, 你應該安裝 gmake (GNU) 

19.monthly 

每月例行的 jobs. 

20.motd 

Message Of Today, 顧名思義, 就是當你 login 時所出現的畫面. 

假如你要有自己的 motd, 你必須把 /etc/rc.local 前面幾行在開機時會更改 motd 的指令拿掉, 否則你每次開機 motd 會被亂改. 

21.netstart----新版已改名為/etc/rc.network 

目前此檔已由 /etc/rc.network 取代 目前此檔隻作為 root 在 single user mode 要手動啟動網路服務 

時使用。 這個檔案不要做更動, 應該去修改 /etc/rc.conf 

22.passwd 

/etc/passwd /etc/master.passwd /etc/spwd.db /etc/pwd.db 都是 由 vipw 所産生的. 關於怎樣去建一個帳号, 請參考 HOW-TO-adduser. 

你可以 man passwd, vipw, chpass, chfn 查詢詳細說明. 

23.printcap 

這 個檔案定義印表機的設定, 在修改後, 試著用 lpr 去列印一些東西, 假如你覺得很慢, 試著用 lptcontrol -p 去改變 /dev /lpt0 到 poll 模式, 當然, 你可以将 lptcontrol -p 加到 /etc/rc.local 裡以使每次開機都有效. 

man lptcontrol 查詢詳細說明. 

24.profile 

這是 /bin/sh 的 default 設定. 

25.rc 

當 系統開機時, kernel 會先去載入 /sbin/init, 然後 /sbin/init 會去執行 /etc/rc, 是以 /etc/rc 相 對於 DOS 而言就好像 AUTOEXEC.BAT. 這個檔案不要去更改, 假如你不希望每次開機時 /tmp 會被清乾淨, 那你可以将 跟 /tmp 相關的幾行給砍掉. (個人偏好) 

26.rc.conf----代替原來的/etc/sysconfig 

這主要用來做系統開機時的環境設定. /etc/rc, /etc/rc.i386, /etc/rc.conf.local, /etc/rc.network, /etc/[bla bla] 都會參考這個檔案. 是以這個檔案可以說非常重要. 

大多都有注解, 以下列舉一些你該注意的地方... 

1) hostname : 你的完整 hostname (FQDN: 像是 freebsd.csie.nctu.edu.tw) 

2) network_interfaces : 網路卡的 device name, 像是 "ed0 lnc0". 

3) ifconfig_xxx : 定義網路卡及其 ip address. 

像是 ifconfig_ed0="inet 140.113.145.1 netmask 0xffffff00" 

ifconfig_ed1="inet 140.113.190.1 netmask 0xffffff00" 

方法如下... 

ifconfig_$device-name="inet $IP netmask $netmask", 

netmask 0xffffff00 就是 255.255.255.0 表 Class C 網路. 

4) defaultrouter: 内定的 router IP.(比如: 140.113.122.254) 

5) routdflags : 通常 NO. 但是假如你想要跑 routed, 則用 "-s" 或 "-q". 

詳細說明請 man routed. 

6) rwhod : YES 執行 rwho daemon. rwho 跟 ruptime 須此 daemon. 

7) sendmail_flags : 執行 sendmail daemon, 通常設為 "-db -q30m" 

8) nfs_* : 執行 nfs client 或 server 

9) check_quotas : enable 檔案系統 quotas 

10) accountint : enable command accounting, "lastcomm" 須要. 

11) firewall_enable : enable firewall 的功能 

firewall_type : 指定 firewall 的形态 

你應該設定完後再重新開機以測試是否每個改變都合乎你的要求. 

27.rc.conf.local----代替原來的/etc/rc.local 

在這個檔案加入你個人的設定, 你可以将開機時想要執行的動作放在這裡. 像 gopherd, lptcontrol, swap-on-file 等. 

28.rc.i386 

這個檔案不要更動. 

29.rc.local----新版改名為/etc/rc.conf.local 

新版已由/etc/rc.conf.local所取代。 

30.rc.network----代替原來的/etc/netstart 

有關網路方面各項設定請由 /etc/rc.conf 設定,原則上此檔不需更動 

31.resolv.conf 

這定義 DNS 查詢 nameserver 的先後順序. 

1. domain : 将你的 domainname 放這兒. 

2. nameserver : 将你的 nameservers 放這兒, 最前面的會被當成主要的nameserver. 

3. search : 将 domainnames 放這兒, 當你沒有輸入完整的 hostname 時, 他會将 domainnames 附加上去. 例如: search csie.NCTU.edu.tw NCTU.edu.tw edu.tw tw 

詳情請 man resolver. 

32.services 

定義 service 名字以及 port. 不需要更動。 

33.shells 

所有的 shell 都應該放在這個檔案裡, 像是 /bin/sh, /bin/tcsh, /home/bbs/bin/bbsrf 等等. 

假如說有某個使用者的 shell 沒有列在這個檔案中, 有些程式如 ftpd 會拒絕該使用者 ftp, 如 adduser 将會拒絕執行. 

man shells 查詢詳細說明. 

34.sysconfig----新版已改名為/etc/rc.conf 

參考 rc.conf。 

35.syslog.conf 

這個檔案指出系統的 log 應該儲存在哪兒. 

36.termcap 

這個應該 link 到 /usr/share/misc/termcap. 

37.ttys 

定義 tty 的形式及某些 tty 允不允許 root login. 假如某些 ttys 後面加有 "secure", 表示 root 可以 login. 你應當多加些, 如 /dev/tty[pqrs][0-9a-v] 

詳情請 man ttys。 

38.weekly 

每周例行的工作。 

39./etc/hosts.allow /etc/hosts.deny (Linux下,或使用了tcpd, 參考inetd.conf)

/etc/hosts.allow 設定允許使用inetd服務的機器,如: All:202.118即允許所有來自

202.118.x.x的請求

/etc/hosts.deny 設定不允許使用inetd的機器

這兩個檔案的設定順序請參考線上文檔:

man tcpd

man hosts.allow

man hosts.deny

Internet 網絡服務通路控制檔案,

對于安全性要求較高的伺服器建議采用xinetd替代inetd,

xinetd debian自帶,其他的可以用源代碼進行編譯安裝

40./etc/networks /etc/netmasks

列出路由所需要的網絡位址,相關指令/usr/sbin/route,當然也可以不使用這兩個

檔案,在維護路由表時可直接使用IP位址及網絡屏蔽位。

Example:

/etc/networks

dlrin 202.199.128.0

/etc/netmasks

202.199.128.0 255.255.240.0

加入靜态路由表項:

+---------------+ DDN

| Cisco 2511 +<-------------->DLMU 202.118.64.0/255.255.255.0

| +<-------------->DLNA 210.47.192.0/255.255.240.0

+-------+-------+

| 202.118.66.254

| 202.118.66.16

+-------+-------+ +-------------+ +-----------+

| Switch/HUB +-------+網絡中心 +-----+ LAN Router+

+-------+-------+ +-------------+ +------+----+

| |

|

| 202.118.68.0/255.255.252.0

| +--------------+

+--------------+ 202.118.66.81+ (測試機器)

| +--------------+

|

|

| 202.118.66.1(Default Router)

+-------+-------+

| 路由器 +

+-------+-------+

|202.112.30.65/255.255.255.252

| DDN

 | PPP

|

|202.112.30.66/255.255.255.252

Cernet/Internet

(1) 202.118.66.81(Helius) <-> 202.118.66.18 (peony)

202.118.066.081

255.255.255.0 And

-------------------

202.118.066.0 網絡位址 在同一個ip網絡段

IP Address <-> MAC(Media Access Address)

202.118.66.18 08:00:20:96:01:6A

 202.118.66.81 00:80:C8:4C:6A:D0

 202.118.66.1 00:60:5C:F3:FF:75

 202.118.66.81 -> 202.118.66.18

以太網的資料包:

08:00:20:96:01:6A + 00:80:C8:4C:6A:D0 + ip資料

(2) 202.118.66.81 -> 202.112.0.36

不在同一個ip段, 通過間接傳送(通過路由器).

[hbwork@linden hbwork]$ netstat -rn

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

202.118.66.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo

0.0.0.0 202.118.66.1 0.0.0.0 UG 1500 0 0 eth0

 ^^^^^^^

Default Router

(3) 加入靜态路由

相關指令:/usr/sbin/route或 /sbin/route

linux下需要加入自己網絡的路由表項

/sbin/route add -net 202.118.66.0 netmask 255.255.255.0 eth0

/sbin/route add -net 202.199.128.0 netmask 255.255.240.0 gw 202.118.66.254

Or:

/sbin/route add -net dlrin gw 202.118.66.254

Or:

/sbin/route add -net dlrin gw dlrin-gw

/sbin/route add default gw 202.118.66.1

41.etc/issue 系統進站提示資訊(主要台用)

 /etc/issue.net telnet時顯示資訊( strings in.telnetd |egrep issue)

/etc/motd 使用者進入系統後的提示資訊

42. /etc/named.boot

DNS(BIND 4.9.x) 啟動檔案

示例檔案:(Caching Only Server)

directory /etc/namedb

primary 0.0.127.in-addr.arpa named.local

cache . root.cache

其中root.cache 檔案可通過dig得到:

dig @ns.internic.net . ns > /etc/namedb/root.cache

named.local檔案内容如下:

@ IN SOA localhost. root.localhost. (

1999020301

10800

3600

86400

86400 )

IN NS localhost.

1 IN PTR localhost.

/etc/named.conf

DNS(BIND 8.1.x) 啟動檔案

(在Redhat 5.2下可用/usr/doc/bind-8.1.2/named-bootconf.pl将bind 4.9.x

的named.boot檔案轉換為bind8的named.conf檔案格式, 執行過程如下:

/usr/doc/bind-8.1.2/named-bootconf.pl /etc/named.boot > /etc/named.conf)

Linux /etc目錄詳解

/etc目錄 

  包含很多檔案.許多網絡配置檔案也在/etc 中. 

/etc/rc   or/etc/rc.d   or/etc/rc*.d   

  啟動、或改變運作級時運作的scripts或scripts的目錄. 

/etc/passwd   

  使用者資料庫,其中的域給出了使用者名、真實姓名、家目錄、加密的密碼和使用者的其他資訊. 

/etc/fdprm   

  軟碟參數表.說明不同的軟碟格式.用setfdprm 設定. 

/etc/fstab   

  啟動時mount -a指令(在/etc/rc 或等效的啟動檔案中)自動mount的檔案系統清單.Linux下,也包括用swapon -a啟用的swap區的資訊. 

/etc/group   

  類似/etc/passwd ,但說明的不是使用者而是組. 

/etc/inittab   

  init 的配置檔案. 

/etc/issue   

  getty在登入提示符前的輸出資訊.通常包括系統的一段短說明或歡迎資訊.内容由系統管理者确定. 

/etc/magic   

  file 的配置檔案.包含不同檔案格式的說明,file 基于它猜測檔案類型. 

/etc/motd   

  Message Of TheDay,成功登入後自動輸出.内容由系統管理者确定.經常用于通告資訊,如計劃關機時間的警告. 

/etc/mtab   

  目前安裝的檔案系統清單.由scripts初始化,并由mount 指令自動更新.需要一個目前安裝的檔案系統的清單時使用,例如df指令. 

/etc/shadow   

  在安裝了影子密碼軟體的系統上的影子密碼檔案.影子密碼檔案将/etc/passwd 檔案中的加密密碼移動到/etc/shadow中,而後者隻對root可讀.這使破譯密碼更困難. 

/etc/login.defs   

  login 指令的配置檔案. 

/etc/printcap   

  類似/etc/termcap ,但針對列印機.文法不同. 

/etc/profile , /etc/csh.login ,/etc/csh.cshrc   

  登入或啟動時Bourne或Cshells執行的檔案.這允許系統管理者為所有使用者建立全局預設環境. 

/etc/securetty   

  确認安全終端,即哪個終端允許root登入.一般隻列出虛拟控制台,這樣就不可能(至少很困難)通過modem或網絡闖入系統并得到超級使用者特權. 

/etc/shells   

  列出可信任的shell.chsh 指令允許使用者在本檔案指定範圍内改變登入shell.提供一台機器FTP服務的服務程序ftpd檢查使用者shell是否列在 /etc/shells 檔案中,如果不是将不允許該使用者登入. 

/etc/termcap 

  終端性能資料庫.說明不同的終端用什麼"轉義序列"控制.寫程式時不直接輸出轉義序列(這樣隻能工作于特定品牌的終端),而是從/etc/termcap中查找要做的工作的正确序列.這樣,多數的程式可以在多數終端上運作.

附:Linux系統 /etc/目錄 檔案介紹

1. aliases 包含了linux郵件服務所有的分發清單 

2. crontab 設定cron環境變量和運作自動任務的時間 

3. csh.cshrc csh (c shell) 使用者設定系統範圍的預設值 

4. csh.login 

5. csh.logout 

6. daily 

7. defaultdomain 

8. exports 

9. fbtab 

10.fstab 辨別常見儲存設備和它們在linux系統下挂載的位置 

11.ftpusers 

12.group 确定系統中定義組名群組 

13.host.conf 設定TCP/IP網絡上搜尋域名檢視檔案的位置 

14.hosts 包含了從你的這計算機上可以到達的ip位址和主機名 

15.inetd.conf 

16.localtime 

17.login.conf 

18.make.conf 

19.monthly 

20.motd 

21.netstart----新版已改名為/etc/rc.network 

22.passwd 為系統上所有合法使用者存儲帳戶資訊 

23.printcap 包含了為你計算機配置列印機定義 

24.profile 為所有使用者設定系統範圍的環境變量和啟動的順序。當使用者登入時讀取該檔案

25.rc 

26.rc.conf----代替原來的/etc/sysconfig 辨別dns域名伺服器主機的位置,使用TCP/IP協定的時候需要通過DNS服務将網際網路上的主機名裝換為 ip位址 

27.rc.conf.local----代替原來的/etc/rc.local 

28.rc.i386 

29.rc.local----新版改名為/etc/rc.conf.local 

30.rc.network----代替原來的/etc/netstart 

31.resolv.conf 

32.services 定義了TCP/IP服務和他們的端口配置設定 

33.shells 列出了系統可用的shell 指令行編輯器(bash。sh和csh等)還有它們的位置

34.sysconfig----新版已改名為/etc/rc.conf 

35.syslog.conf 

36.termcap 

37.ttys 

38.weekly 

39./etc/hosts.allow /etc/hosts.deny 

hosts.allow---列出允許使用本地計算機上某些TCP/IP服務的主機

hosts,deny---列出不允許使用本地計算機某些TCP/IP服務的主機 (預設情況下是不存在的) 

40./etc/networks /etc/netmasks

41.etc/issue 從本地終端或以控制台檔案模式登入到fedora或rhel系統時,顯示該檔案包含的行 

42. /etc/named.boot如果你運作自己家的dns伺服器,該檔案包含了dns的設定 

1. aliases 

這個檔案主要是告訴 sendmail 要将信轉寄給哪些使用者, 或是交由哪個程式處理. 

如. root: user1,name2,user3 

usenet: "|/usr/local/bin/mail-post.pl" 

如上範例, sendmail 會将原先寄給的 root 的信分送給 user1 和 name2 和 user3, 而把寄給 usenet 的信交由 mail-post.pl 處理. 

在你修改完之後, 要記得執行 "newaliases" 來更新 /etc/aliases.db 

關於 aliases 之詳細說明, 請 man aliases 查詢. 

2. crontab 

這是給 root 用的 crontab file, 你也可以殺掉這個檔案以 "crontab -e" 來替代. 

格式如下... 

#分 小時 天 月 禮拜幾 用誰的身份 指令 

*/5 * * * * root /usr/libexec/atrun 

minute: 分鐘/小時, 範圍自 0 至 59 

hour: 小時/天, 範圍自 0 至 23 

mday: 天/月, 範圍自 0 至 31 

month: 月/年, 範圍自 0 至 12 

wday: 天/周, 範圍自 0 至 7 (0, 7 表示星期天) 

who: 表是以誰的身份執行這個 command 

(這隻對 /etc/crontab 有用, crontab -e 無此欄位) 

command: 指令或是 shell script 

*/N: 表示每 N 一算, 像小時而言, */3 指的是 0,3,6,9,12 

請 man 5 crontab 去看詳細說明. 

3. csh.cshrc 

# 系統内定給 csh shell 用的 .cshrc 檔 

## 确定 HOME 目錄 

setenv HOME $HOME 

set home=$HOME 

cd $HOME 

## 檔案權限設定 

umask 022 

## 就是 Aliases 嘛 

alias pftp '/usr/local/bin/pftp' 

alias free 'pstat -s|grep -v not' 

alias talk ytalk 

alias ruptime '/usr/bin/ruptime|grep -v down' 

alias ftp ncftp 

alias rwho '/usr/bin/rwho -a|grep -v LOGIN' 

alias more less 

alias zmore zless 

alias m less 

alias pss 'ps auxw|sort -k 2|grep $USER' 

alias psm 'ps auxw|sort -k 1,2|more' 

alias psl psm 

alias psv 'ps auxw|grep -v $USER|sort -k 2|more' 

alias d '/usr/local/bin/colorls -G -alFgk /!* | more' 

alias dir '/usr/local/bin/colorls -G -alFgk /!*' 

alias rd rmdir 

alias md mkdir 

alias cls clear 

alias cd.. 'cd ..' 

alias del '/bin/rm -i' 

alias xdel '/bin/rm -rf' 

alias mv 'mv -i' 

alias dir/w '/bin/ls -aFgk' 

alias dw '/bin/ls -aFgk' 

#alias x '(startx &)>&/dev/console;sleep 300;lo' 

#alias lpr 'lpr -m' 

alias cp 'cp -i' 

alias rm 'rm -i' 

alias lo 'clear;exit' 

alias bye 'clear;exit' 

#alias vi cvi 

alias unlo 'unset autologout;unsetenv autologout' 

alias q joe 

alias .. 'cd ..' 

alias ... 'cd ../..' 

#alias ku 'ku -W' 

alias tin rtin 

#alias s 'exec screen' 

## 環境設定 

set path = (/sbin /usr/sbin /bin /usr/bin /usr/local/sbin /usr/local/bin) 

set path = ($path /etc /usr/etc /usr/local/etc) 

set path = ($path /usr/X11R6/bin /usr/games) 

set path = ($path ~ ~/bin .) 

set mail = (10 /var/mail/$USER) 

set recexact 

set autolist 

set matchbeep = ambiguous 

set autoexpand 

set autocorrect 

set ignoreeof 

set noclobber 

set notify 

set correct = all 

if ( ! $?WINDOW ) then 

# set prompt = "%B%m [%/] [%?] -%n- " 

set prompt = "%B%m [%/] -%n- " 

else 

set prompt = "%B%m [%/] -%n- [W$WINDOW] " 

endif 

set prompt2 = "(%t %m)%~ #%% " 

set prompt3 = "%SDo you mean [%R] (y/n/e) ? " 

set history = 500 

set savehist = 500 

set time=100 

#set watch=(1 any any) 

set symlinks = ignore 

set listlinks 

set listjobs 

set rmstar 

set showdots 

#set tperiod = 30 

# set autologout = (60 2) 

#setenv MANPATH /usr/man:/usr/local/man:/usr/man

/preformat:/usr/X11/man:/usr/openwin/man 

setenv EDITOR /usr/local/bin/joe 

setenv VISUAL /usr/local/bin/joe 

setenv EXINIT 'set ai' 

setenv LESS "-EsPm-LESS-" 

setenv LESSCHARDEF "8bcccbcc18b95.." 

setenv PAGER "less -Em" 

#setenv PAGER more 

setenv LC_CTYPE lt_LN.ISO_8859-1 

setenv LANG C 

setenv BLOCKSIZE 1k 

setenv MACHINE_ARCH i386 

setenv MACHINE i386 

setenv ORGANIZATION "交大資工 ADONIS" 

## X 相關設定 

setenv XWINHOME '/usr/X11R6' 

setenv X11HOME '/usr/X11R6' 

setenv OPENWINHOME '/usr/X11R6' 

setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB 

setenv XNLSPATH /usr/X11R6/lib/X11/nls 

#setenv LD_LIBRARY_PATH /usr/lib:/usr/X11R6/lib:/usr/local/lib 

stty erase '^?' 

if ( $?TERM ) then 

if ($TERM == "xterm" || $TERM == "xterms") then 

stty erase '^H' 

endif 

endif 

## 雜七雜八設定 

#set term = vt100 

#set TERM = vt100 

#setenv term vt100 

#setenv TERM vt100 

#stty extb 

stty 38400 

stty crt 

stty -tabs 

stty -istrip 

stty pass8 

unlo 

#bindkey "[HOME]" beginning-of-line 

#bindkey "[ESC]" keyboard-quit 

limit coredumpsize 0 

# 給 FSP Client 用 

setenv FSP_PORT 21 

setenv FSP_HOST nctuccca.edu.tw 

setenv FSP_DIR / 

setenv FSP_TRACE 

setenv FSP_DELAY 3000 

# Aii.. 就是 fsp aliases :) 

alias fcat '(set noglob; exec fcatcmd /!*)' 

alias fcd 'setenv FSP_DIR `(set noglob; exec fcdcmd /!*)`;fpwd' 

alias fdu /(set noglob/; exec fducmd /!) 

alias fget '(set noglob; exec fgetcmd /!*)' 

alias fgrab '(set noglob; exec fgrabcmd /!*)' 

alias fls '(set noglob; exec flscmd -F /!*)' 

alias fll '(set noglob; exec flscmd -l /!*)' 

alias fdir '(set noglob; exec flscmd -l /!*)' 

alias fmore /(set noglob/; exec fcatcmd /!/* /| more/) 

alias fpro '(set noglob; exec fprocmd /!*)' 

alias fpwd 'echo "$FSP_HOST ($FSP_PORT): $FSP_DIR"' 

alias frm '(set noglob; exec frmcmd /!*)' 

alias frmdir '(set noglob; exec frmdircmd /!*)' 

alias fhost 'setenv FSP_HOST /!*;setenv FSP_DIR /' 

4. csh.login 

# 系統内定的 .login 檔. 

#stty extb 

stty 38400 

#stty crt 

#stty -tabs 

stty -istrip 

stty pass8 

# Mesg y if not console 

mesg y 

if ( `tty | cut -c 6-` == console ) then 

mesg n 

endif 

msgs -fp 

5. csh.logout 

# 系統内定的 .logout 

clear 

6. daily 

cron 會 依照 /etc/crontab 去做每日例行的工作. 注意一下有些 commands 對你的硬碟造成很大的負荷, 像是最後一行 的 "sh /etc/security", 他會從你的根目錄開始查詢. 你可以加些每天你想要執行的commands, 像 是 "quotacheck -a", "bin/rm/-f /tmp*junk*. 

7. defaultdomain 

這個檔案記載你的 domainname, 你有跑 yp (nis) 時才有用. 當然閑閑填一填也沒差啦. 

8. exports 

這個檔案定義哪些目錄可經由 NFS 給别人使用. 

例如 /cdrom -ro host1,host2 

/home -maproot=root host3 

Notice: 若你沒加 "-ro" 表示可以寫入, 是以你應當小心點. 

做完修正後, "kill -1 $mountd_pid", 然後用 "showmount -e" 去看看 NFS 是否做的正确. 如果有錯, 用 "tail /var/log/messages" 來看錯誤訊息. 

你應該要将 /etc/rc.conf 中的 nfs_client_enable, nfs_server_enable 設為 YES. 

詳細說明請 man 5 exports. 

9. fbtab 

/dev/ttyv0 0600 /dev/console 

/dev/ttyv1 0600 /dev/console 

/dev/ttyv2 0600 /dev/console 

/dev/ttyv3 0600 /dev/console 

#/dev/ttyv0 0600 /dev/pcaudio:/dev/pcaudioctl 

10. fstab 

這個檔案定義當你開機時, 你想 mount 哪些 partition. 

例如. 

/dev/sd0a / ufs rw 1 1 

/dev/sd0e /dos msdos ro,-gmsdos,-m750 1 1 

/dev/sd0g /usr/local ufs rw,userquota 1 1 

/dev/sd0h /home ufs rw,userquota,groupquota 1 1 

/dev/sd0b none swap sw 0 0 

proc /proc procfs rw 0 0 

kern /kern kernfs rw 0 0 

詳情請 man fstab. 

如果你的 /usr 沒有跟 / 放在一起,要特别注意,/usr 不可以放在使用 LKM 載入的 filesystem 後面。例如,你的 MSDOSFS 是利用 LKM 載入的(也就是說,你沒有把 MSDOSFS 編譯在 kernel 中),你的 /dos 

一定要放在 /usr 後面,不然開機會失敗,例如: 

modload:exec(/usr/bin/ld):NO such file or directiory 

msdos:vfsload(msdos):Operation not permitted 

Filessystem mount failed,startup aborted 

Enter pathname of shell or RETURN for sh 

11. ftpusers 

這個檔注明的 users 将無法 ftp 這台機器. 隻要寫 username 即可. 算是禁止 ftp 進來的黑名單吧. 

12.group 

這個檔案主要記載著 group 名稱, group id 以及隸屬於該 group 的使用者. 

要記得在 FreeBSD 中, 隻有屬於 wheel group 的使用者才能 su 成 root. 

在更新時特别注意 /usr/src/etc/group 中是否有新增系統 group, 如 network 這個 group 就是最近新增的 group. 

其他詳細請用 man group. 

13. host.conf 

這個檔案決定 DNS-name-lookup 的先後順序. 你最好先 "hosts", 其次 "bind", 最後用 "nis". 

hosts: 自 /etc/hosts 查詢. 

bind: 自 nameserver (參考 /etc/resolv.conf 設定) 查詢. 

nis: 自 nis server 查詢. 

14. hosts 

這個檔案記載了你所需要的 ip 和 hostname, 最少要包括 localhost 和你自己的 hostname, 通常是提供優先於 nameserver 的查詢, 或是沒有 nameserver 時的查詢. 

格式如下: 

IP-addr full-hostname alias 

如. 123.456.789.123 heaven.net.com heaven 

請 man hosts 去看詳細說明. 

15.inetd.conf 

Internet 超級伺服器, 相關程式: /usr/sbin/inetd

這個檔案定義由 inetd 所提供的服務, 應該要和 /etc/services 保持一緻性. 

當你修改這個檔案的時候, 記得要 kill -1 $inetd_pid 去知會 inetd 要重新更新資料. 

你可以安裝 tcp-wrapper (tcpd) 以增加安全性. 

16.localtime 

這個檔記載你所在的時區資料, 你可以從 /usr/share/zoneinfo 中選一個适合的來用. 

就台灣而言, 你應該用 /usr/share/zoneinfo/Asia/Taipei, 正常來說, 在 install 時會自動将此檔案 copy 到 /etc/localtime. 

17.login.conf 

此檔案可控制系統資源與帳号各方面的限制,亦可設定内定之環境變數。 

"man login.conf" for detail. 

18.make.conf 

當你用 make 時, 這個定義檔将被參考. 

如果不是以 BSD 格式撰寫的 Makefiles, 你應該安裝 gmake (GNU) 

19.monthly 

每月例行的 jobs. 

20.motd 

Message Of Today, 顧名思義, 就是當你 login 時所出現的畫面. 

假如你要有自己的 motd, 你必須把 /etc/rc.local 前面幾行在開機時會更改 motd 的指令拿掉, 否則你每次開機 motd 會被亂改. 

21.netstart----新版已改名為/etc/rc.network 

目前此檔已由 /etc/rc.network 取代 目前此檔隻作為 root 在 single user mode 要手動啟動網路服務 

時使用。 這個檔案不要做更動, 應該去修改 /etc/rc.conf 

22.passwd 

/etc/passwd /etc/master.passwd /etc/spwd.db /etc/pwd.db 都是 由 vipw 所産生的. 關於怎樣去建一個帳号, 請參考 HOW-TO-adduser. 

你可以 man passwd, vipw, chpass, chfn 查詢詳細說明. 

23.printcap 

這 個檔案定義印表機的設定, 在修改後, 試著用 lpr 去列印一些東西, 假如你覺得很慢, 試著用 lptcontrol -p 去改變 /dev /lpt0 到 poll 模式, 當然, 你可以将 lptcontrol -p 加到 /etc/rc.local 裡以使每次開機都有效. 

man lptcontrol 查詢詳細說明. 

24.profile 

這是 /bin/sh 的 default 設定. 

25.rc 

當 系統開機時, kernel 會先去載入 /sbin/init, 然後 /sbin/init 會去執行 /etc/rc, 是以 /etc/rc 相 對於 DOS 而言就好像 AUTOEXEC.BAT. 這個檔案不要去更改, 假如你不希望每次開機時 /tmp 會被清乾淨, 那你可以将 跟 /tmp 相關的幾行給砍掉. (個人偏好) 

26.rc.conf----代替原來的/etc/sysconfig 

這主要用來做系統開機時的環境設定. /etc/rc, /etc/rc.i386, /etc/rc.conf.local, /etc/rc.network, /etc/[bla bla] 都會參考這個檔案. 是以這個檔案可以說非常重要. 

大多都有注解, 以下列舉一些你該注意的地方... 

1) hostname : 你的完整 hostname (FQDN: 像是 freebsd.csie.nctu.edu.tw) 

2) network_interfaces : 網路卡的 device name, 像是 "ed0 lnc0". 

3) ifconfig_xxx : 定義網路卡及其 ip address. 

像是 ifconfig_ed0="inet 140.113.145.1 netmask 0xffffff00" 

ifconfig_ed1="inet 140.113.190.1 netmask 0xffffff00" 

方法如下... 

ifconfig_$device-name="inet $IP netmask $netmask", 

netmask 0xffffff00 就是 255.255.255.0 表 Class C 網路. 

4) defaultrouter: 内定的 router IP.(比如: 140.113.122.254) 

5) routdflags : 通常 NO. 但是假如你想要跑 routed, 則用 "-s" 或 "-q". 

詳細說明請 man routed. 

6) rwhod : YES 執行 rwho daemon. rwho 跟 ruptime 須此 daemon. 

7) sendmail_flags : 執行 sendmail daemon, 通常設為 "-db -q30m" 

8) nfs_* : 執行 nfs client 或 server 

9) check_quotas : enable 檔案系統 quotas 

10) accountint : enable command accounting, "lastcomm" 須要. 

11) firewall_enable : enable firewall 的功能 

firewall_type : 指定 firewall 的形态 

你應該設定完後再重新開機以測試是否每個改變都合乎你的要求. 

27.rc.conf.local----代替原來的/etc/rc.local 

在這個檔案加入你個人的設定, 你可以将開機時想要執行的動作放在這裡. 像 gopherd, lptcontrol, swap-on-file 等. 

28.rc.i386 

這個檔案不要更動. 

29.rc.local----新版改名為/etc/rc.conf.local 

新版已由/etc/rc.conf.local所取代。 

30.rc.network----代替原來的/etc/netstart 

有關網路方面各項設定請由 /etc/rc.conf 設定,原則上此檔不需更動 

31.resolv.conf 

這定義 DNS 查詢 nameserver 的先後順序. 

1. domain : 将你的 domainname 放這兒. 

2. nameserver : 将你的 nameservers 放這兒, 最前面的會被當成主要的nameserver. 

3. search : 将 domainnames 放這兒, 當你沒有輸入完整的 hostname 時, 他會将 domainnames 附加上去. 例如: search csie.NCTU.edu.tw NCTU.edu.tw edu.tw tw 

詳情請 man resolver. 

32.services 

定義 service 名字以及 port. 不需要更動。 

33.shells 

所有的 shell 都應該放在這個檔案裡, 像是 /bin/sh, /bin/tcsh, /home/bbs/bin/bbsrf 等等. 

假如說有某個使用者的 shell 沒有列在這個檔案中, 有些程式如 ftpd 會拒絕該使用者 ftp, 如 adduser 将會拒絕執行. 

man shells 查詢詳細說明. 

34.sysconfig----新版已改名為/etc/rc.conf 

參考 rc.conf。 

35.syslog.conf 

這個檔案指出系統的 log 應該儲存在哪兒. 

36.termcap 

這個應該 link 到 /usr/share/misc/termcap. 

37.ttys 

定義 tty 的形式及某些 tty 允不允許 root login. 假如某些 ttys 後面加有 "secure", 表示 root 可以 login. 你應當多加些, 如 /dev/tty[pqrs][0-9a-v] 

詳情請 man ttys。 

38.weekly 

每周例行的工作。 

39./etc/hosts.allow /etc/hosts.deny (Linux下,或使用了tcpd, 參考inetd.conf)

/etc/hosts.allow 設定允許使用inetd服務的機器,如: All:202.118即允許所有來自

202.118.x.x的請求

/etc/hosts.deny 設定不允許使用inetd的機器

這兩個檔案的設定順序請參考線上文檔:

man tcpd

man hosts.allow

man hosts.deny

Internet 網絡服務通路控制檔案,

對于安全性要求較高的伺服器建議采用xinetd替代inetd,

xinetd debian自帶,其他的可以用源代碼進行編譯安裝

40./etc/networks /etc/netmasks

列出路由所需要的網絡位址,相關指令/usr/sbin/route,當然也可以不使用這兩個

檔案,在維護路由表時可直接使用IP位址及網絡屏蔽位。

Example:

/etc/networks

dlrin 202.199.128.0

/etc/netmasks

202.199.128.0 255.255.240.0

加入靜态路由表項:

+---------------+ DDN

| Cisco 2511 +<-------------->DLMU 202.118.64.0/255.255.255.0

| +<-------------->DLNA 210.47.192.0/255.255.240.0

+-------+-------+

| 202.118.66.254

| 202.118.66.16

+-------+-------+ +-------------+ +-----------+

| Switch/HUB +-------+網絡中心 +-----+ LAN Router+

+-------+-------+ +-------------+ +------+----+

| |

|

| 202.118.68.0/255.255.252.0

| +--------------+

+--------------+ 202.118.66.81+ (測試機器)

| +--------------+

|

|

| 202.118.66.1(Default Router)

+-------+-------+

| 路由器 +

+-------+-------+

|202.112.30.65/255.255.255.252

| DDN

 | PPP

|

|202.112.30.66/255.255.255.252

Cernet/Internet

(1) 202.118.66.81(Helius) <-> 202.118.66.18 (peony)

202.118.066.081

255.255.255.0 And

-------------------

202.118.066.0 網絡位址 在同一個ip網絡段

IP Address <-> MAC(Media Access Address)

202.118.66.18 08:00:20:96:01:6A

 202.118.66.81 00:80:C8:4C:6A:D0

 202.118.66.1 00:60:5C:F3:FF:75

 202.118.66.81 -> 202.118.66.18

以太網的資料包:

08:00:20:96:01:6A + 00:80:C8:4C:6A:D0 + ip資料

(2) 202.118.66.81 -> 202.112.0.36

不在同一個ip段, 通過間接傳送(通過路由器).

[hbwork@linden hbwork]$ netstat -rn

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

202.118.66.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo

0.0.0.0 202.118.66.1 0.0.0.0 UG 1500 0 0 eth0

 ^^^^^^^

Default Router

(3) 加入靜态路由

相關指令:/usr/sbin/route或 /sbin/route

linux下需要加入自己網絡的路由表項

/sbin/route add -net 202.118.66.0 netmask 255.255.255.0 eth0

/sbin/route add -net 202.199.128.0 netmask 255.255.240.0 gw 202.118.66.254

Or:

/sbin/route add -net dlrin gw 202.118.66.254

Or:

/sbin/route add -net dlrin gw dlrin-gw

/sbin/route add default gw 202.118.66.1

41.etc/issue 系統進站提示資訊(主要台用)

 /etc/issue.net telnet時顯示資訊( strings in.telnetd |egrep issue)

/etc/motd 使用者進入系統後的提示資訊

42. /etc/named.boot

DNS(BIND 4.9.x) 啟動檔案

示例檔案:(Caching Only Server)

directory /etc/namedb

primary 0.0.127.in-addr.arpa named.local

cache . root.cache

其中root.cache 檔案可通過dig得到:

dig @ns.internic.net . ns > /etc/namedb/root.cache

named.local檔案内容如下:

@ IN SOA localhost. root.localhost. (

1999020301

10800

3600

86400

86400 )

IN NS localhost.

1 IN PTR localhost.

/etc/named.conf

DNS(BIND 8.1.x) 啟動檔案

(在Redhat 5.2下可用/usr/doc/bind-8.1.2/named-bootconf.pl将bind 4.9.x

的named.boot檔案轉換為bind8的named.conf檔案格式, 執行過程如下: