第七章 /etc 目錄下的檔案介紹

/etc 是 FreeBSD 系統主要設定檔所在,了解這個目錄下的檔案及其格式,對於我們管理及使用 FreeBSD 將有更深入的認識。因此,以下我們就分別說明一下這些檔案。

7.1 aliases

用以告知 sendmail 要將信轉給哪個使用者或是交由哪個程式處理。請注意,修改完這個檔案後,必須使用指令 newaliases 來讓所做的修改在 sendmail 中發生作用。這個檔案是用來設定郵件的別名,也就是可以設定要將某人的信件轉給其他地方(人員或程式)。你也可以將某人的信轉給很多人,這個檔案的位置是由 sendmail.cf 檔案中的 AliasFile 這個選項所決定的。當 sendmail 收到信時,會一行行比對,當第一行符合後,就不會再繼續下去,所以應注意優先順序。

語法:開頭的 "#" 代表該行是註解,大小寫都視為一樣

  1. root: alex
  2. webmanager: alex,jack,jim@other.hostname.com
  3. nobody: /dev/null
  4. homework: |/usr/local/bin/homework.sh
  5. olduser: :include: /usr/local/olduser_list

當設定了一堆複雜的別名之後,我們要看最後信會寄到哪裡時,可以使用下面指令來看寄給 username 的信最後寄給誰:

# sendmail -bv username

aliases 檔中將很多東西都轉向 root,因此你可以去讀 root 的信箱或是將 root 的信轉給別的地方,下面這一行是將 root 的信都轉給 my@my.domain:

root:	me@my.domain

當郵件無法送出被退回時給使用者時,都是以 MAILER-DEAMON 為帳號寄出。因為使用者可能會回覆那封被退回的信,所以這個別名是必備的。而 postmaster 則負責處理所有關於郵件問題的信件,因此也是必備的,一定要保留下面二行,這是必要的系統基本設定:

MAILER-DAEMON: postmaster
postmaster: root

在修改完 /etc/aliases 之後,我們必須執行下列指令來更新資料:

# newaliases

7.2 crontab

讓系統管理者設定定期執行的工作。你也可以用 root 執行 crontab -e 來取代這個檔。

# 設定使用的 shell, 路徑
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
# 分	小時	天	月	星期幾	身份	指令
#minute	hour	mday	month	wday	who	command
#
*/5	*	*	*	*	root	/usr/libexec/atrun

小時的欄位中如果是 *,表示每小時,天的欄位中如果是 *,表示每天,依此類推。欄位中也可以使用 "-" 來表示範圍,例如,在小時的欄位中填 8-11,表示執行的時間是 8,9,10,11,共四次。

欄位中也可以用逗點來表示,以分的欄位而言, 1,2,5,9 表示將在 1,2,5,9 分時各執行一次。我們也可以寫成像這樣 1-2,12-14 ,表示在 1,2,12,13,14 分各執行一次。

另外,也可以用 / 後面加數字表示每幾分鐘要執行一次。如在分的欄位填 0-23/2,表示 1-22 分之間,每隔二分鐘執行一次,也就是 0,2,4,6,8,10,12,14,16,18,20,22。如果在分的欄位是 */5,表示每五分鐘一次。

除此之外,也可以用一個開頭為 @ 的字串來表示各種意義:

字串 代表意義
@reboot 開機時跑一次。
@yearly 每年跑一次,等於 "0 0 1 1 *"。
@annually 和 @yearly 一樣。
@monthly 每月跑一次,等於 "0 0 1 * *"。
@weekly 每週跑一次,等於 "0 0 * * 0"。
@daily 每天跑一次,等於 "0 0 * * *"。
@midnight 和 @daily 一樣。
@hourly 每小時跑一次,等於 "0 * * * *"。

我們在安排 crontab 時,應該要錯開每個程式的執行時間,才不會有一大堆程式同時執行,造成系統負荷過高。

7.3 csh.cshrc

這是給 Shell csh、tcsh 用的內定 .cshrc 檔案,也就是進入該 Shell 時會載入的設定。所有使用 csh 及 tcsh 的使用者登入後,系統都會自動載入這個檔案中的設定,若使用者自己的家目錄中的 .cshrccsh.cshrc 有相同的設定,則會以使用者家目錄中的 .cshrc 為主。

# 檔案權限設定
umask 022

# 設定內定使用的文字編輯器為 ee
setenv  EDITOR  ee

# 設定當使用者打 ls 時,出來的結果是 ls -F 的結果
alias   ls      ls -F

# 設定當使用者打 cd.. 時,變成是打 cd ..
alias cd.. 'cd ..'

# 設定命令提示符號為 "主機名稱 [所在目錄] -使用者名稱->"
set prompt = "%B%m [%/] -%n-> "

7.4 csh.login

這是給 Shell csh、tcsh 用的內定 .login 檔案,也就是進入該 Shell 時會載入的設定。使用 csh 及 tcsh 的使用者登入後,將自動載入這個檔案中的設定,如果使用者家目錄中的 .login 設定和 csh.login 相衝突時,將以使用者家目錄中的 .login 設定為主。

# 要讀取系統訊息則將下面一行的 # 拿掉
# msgs -f

# 允許終端機訊息,設為 y 才可以使用 write 的指令,
# 傳送訊息給其他使用者
# mesg y

# 設定支援中文的終端機
setenv ENABLE_STARTUP_LOCALE zh_TW.Big5
setenv LC_CTYPE is_IS.ISO_8859-1
setenv LANG zh_TW.Big5

# 登入時顯示 FreeBSD Tip
[ -x /usr/games/fortune ] && /usr/games/fortune freebsd-tips

7.5 csh.logout

這是給 Shell csh、tcsh 用的內定 .login 檔案,也就是離開該 Shell 時會載入的設定。在離開 Shell 時,Shell 會載入 /etc/csh.logout~/.logout 的設定。請 man csh

7.6 defaults/periodic.conf

這個檔定義了 /etc/periodic 目錄下哪些程式要定期執行。我們可以新增並編輯 /etc/periodic.conf/etc/periodic.conf.local 來覆蓋這個檔案的設定。 您可以 man periodic.conf 來得到更多的資訊。

7.7 defaults/rc.conf

系統開機時會讀取這個設定檔以決定應該執行哪些工作,例如網路設定、該執行哪些系統服務等。 /etc/defaults 目錄下的 rc.conf 中所有設定都是預設值,如果我們要修改, 請新增 /etc/rc.conf 來加入你的設定,這樣在日後升級時我們的設定才不會覆蓋。如果 /etc/defaults/rc.conf 中的設定和 /etc/rc.conf 重覆時,會以 /etc/rc.conf 為主。 另外,當我們執行 /stand/sysinstall 後所做的設定,也會被寫入 /etc/rc.conf 中。 建議您可以讀一下 rc.conf 看看我們有哪些可以設定的項目。

7.8 fbtab

大多數的人都是使用虛擬的終端機,我們登入系統時所使用的 tty 是虛擬的終端機 ttyv0、ttyv1 等。FreeBSD 將系統裝置視為檔案,放在 /dev/,而 console 就是 /dev/console 這個檔,但該檔的擁有者是 root。有的應用程式用要求使用 /dev/console 的存取權限,fbtab 這個檔案是用來定義當你從虛擬的終端機登入時,能自動取得某個裝置的權限。詳細說明請 man fbtab

7.9 fstab

這個檔案用來定義開機時要掛入的檔案分割區。

# 裝置名稱	掛入點	      檔案系統	參數		Dump	Pass#
/dev/ad0s1b	none		swap	sw		0	0
/dev/ad0s1a	/		ufs	rw		1	1
/dev/ad1s1f	/home		ufs	rw		2	2
/dev/ad0s1e	/usr		ufs	rw		2	2
/dev/ad1s1e	/var		ufs	rw		2	2
/dev/acd0c	/cdrom		cd9660	ro,noauto	0	0
proc		/proc		procfs	rw		0

7.10 ftpusers

這個檔案用來定義哪些使用者不可以使用 FTP 登入,只要將使用者登入的帳號加入這個檔案中,該使用者就不能使用 FTP 登入系統了。例如,我們要讓使用者 tom 無法使用 FTP 來登入系統,只要在 fupusers 檔案開頭加入該使用者名稱。ftpusers 中也可以加入群組名稱,如果您不希望某個群組的使用者使用 FTP 登入,只要在該檔案中加入 @groupname 即可。開頭為 "@" 表示該行的設定為群組名稱。

# $FreeBSD: src/etc/ftpusers,v 1.6 1999/08/27 23:23:41 peter Exp $
#
# list of users disallowed any ftp access.
# read by ftpd(8).
@noftp
tom
root
toor
daemon
operator
bin
tty
kmem
games
news
man
bind
uucp
xten
pop
nobody

7.11 ftpchroot

FreeBSD 內附的 FTP daemon 還有一個重要的功能,就是可以讓使用者登入後,只看得到自己的家目錄。如果在 ftpchroot 這個檔案中有該使用者名稱或以 "@" 為開頭的群組名稱,使用者登入後,根目錄就會是自己的家目錄,而無法切換目錄到非家目錄的其他系統目錄中。

7.12 gettytab

終端機模式設定檔。例如登入前的提示訊息設定等。我們直接來看 default 的部份:

# im= 就是別人連上你的機器時會看到的字串,其中 \r\n 表示換行
# 其中的%s %m %h %t 分別對應到 FreeBSD i386 alexwang.com ttyp0,
# 如果你不想顯示 FreeBSD ,就把 %s 拿掉。最後一行 if=/etc/issue
# 就是表如果沒有 issue 這個檔的話,就執行 default。
default:\
	:cb:ce:ck:lc:fd#1000:im=\r\n%s/%m (%h) (%t)\r\n\r\n:sp#1200:\
	:if=/etc/issue:

7.13 group

設定使用者群組。在 FreeBSD 中,如果使用者要具有 su 成 root 的權限,必須將該使用者加入 wheel 群組中。我們要注意的是每一個群組的編號 (gid) 不可以重覆。請參考第五章「使用者管理」。

7.14 host.conf

這個檔案只出現在 FreeBSD 4.x,它是用來設定 DNS 查詢的順序。預設的查詢順序是先查詢 hosts 這個檔,再由 bind 向 DNS Server 查詢。如果有 NIS 的話,還要再加入 nis 那一行。

# $FreeBSD: src/etc/host.conf,v 1.6 1999/08/27 23:23:41 peter Exp $
# First try the /etc/hosts file
hosts
# Now try the nameserver next.
bind
# If you have YP/NIS configured, uncomment the next line
# nis

7.15 hosts

定義常用機器的 hostname 及 IP,以節省向 DNS Server 查詢的時間。如果你的主機有多個 domain name,將你最喜歡的放在最前面,這樣寄信時才會出現該 domain name。檔案中最少要有 localhost 和自己的 domain name。

127.0.0.1               localhost.com localhost
192.168.0.1             mydomain.com mydomain
192.168.0.1             mydomain.com.
192.168.0.2             mail.mydomain.com mail
140.115.83.240          bbs.mgt.ncu.edu.tw bbs.mgt
140.115.75.5            bbs.ba.mgt.ncu.edu.tw bbs

7.16 hosts.allow

設定允許或拒絕使用本機服務、連線的主機。例如你可以在這裡加入拒絕某台電腦使用 telnet 連線到你的機器。我們將在第十九章「系統安全」中會詳細的說明如何使用這個檔案來讓我們的主機更安全。

7.17 hosts.equiv

設定遠端信任主機及使用者,詳細說明請 man hosts.equiv

7.18 hosts.lpd

可以使用本地列表機的主機,只要加入主機名稱或 IP 即可。

7.19 inetd.conf

設定 inetd 所要提供的服務,要和 /etc/services 搭配設定。如果要開放某一項服務,只要將開頭的 # 符號移除即可。當修改這個檔後,必須重跑 inetd 才會生效。

# kill -1 `cat /var/run/inetd.pid`

7.20 localtime

這個檔記載你所在的時區資料,你可以經由 /stand/sysinstall 來設定時區。該程式會自動將 /usr/share/zoneinfo 中合適的檔案複製一份成為 /etc/localtime

7.21 locate.rc

用來設定 local database 的設定。詳細的說明請 man updatedbman locate

7.22 login.access

用來設定登入系統使用者的權限,我們可以在這裡設定是否允許使用者從 console 登入、從不同區域登入的權限等。
當某個使用者登入後,會先依本檔中的設定來控制使用者的登入來源。這裡所使用的規則是由上往下比對,先符合者優先,也就是 first match wins,來決定該使用者可以登入或是被拒絕。它的格式是以 ":" 分割成三個欄位:

permission : users : origins

我們也可以使用 EXCEPT 的運算符號寫出非常簡潔的規則。群組的設定只有在使用者名稱不符合規則時才會被用到,而且這個程式並不會去查使用者主要的群組是什麼。

7.23 login.conf

這個檔案用來控制不同帳號可以使用的系統資源,它會依照使用者在密碼檔中的 login class 來尋找相對應的 class 設定,如果沒有分類則使用 default 的預設值。請參考第五章系統資源限制一節的說明。

7.24 mail.rc

用來設定 mail 的參數。當 mail 指令執行時,它會先讀 /usr/share/misc/mail.rc/usr/local/etc/mail.rc/etc/mail.rc,最後再讀使用者的 ~/mailrc 這個檔。請 man mail,您不必動到這個檔。

7.25 make.conf

當我們在重新編譯 FreeBSD 內附的程式時 (例如使用 port 安裝軟體時),我們所使用的指令 make 會讀取 /etc/make.conf 來取得一些編譯時的參數。它可以讓你在 make 時覆蓋一些設定而不必去修改 source tree。make.conf檔案一定要使用有效的 Makefile 語法。一般而言,我們會修改一些關於下載檔案的 FTP 站台設定,以從 port 安裝軟體而言,當下達 make install 指令時,make 會去抓一些必要的檔案,如果要去國外抓的話實在太慢了,所以我們會將 FTP 站台設定為離我最近或最快的站台。只要在 make.conf 中最下方加入下列設定即可:

# 當使用 port 安裝軟體時,優先使用中央大學資工系及交大資工的 FTP
MASTER_SITE_BACKUP?=    \
	ftp://freebsd.csie.ncu.edu.tw/distfiles/${DIST_SUBDIR}/ \
	ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=	${MASTER_SITE_BACKUP}

7.26 manpath.config

設定 man 指令的參數,如 man 的文件所在等。

7.27 master.passwd

FreeBSD 使用 shadow password 的方式來保護密碼檔,只有 root 才可以讀取編碼後的密碼檔 /etc/master.passwd,而一般使用者只能看到 passwd 檔中的資料。但是這並不是系統用來驗証的檔案,為了加快速度,FreeBSD 將該檔做成資料庫 /etc/spwd.db/etc/pwd.db, 因此在修改完 master.passwd 後,必須使用指令 pwd_mkdb 來將 master.passwd 做成資料庫檔案。不過一般而言,我會使用 vipw 這個指令來修改 master.passwdvipw 會先將 master.passwd 以預設的文書編輯軟體打開,修改完存檔後,它會視需要自動更新資料庫。

它的格式是:

name:password:UID:GID:class:change:expire:fullname:home:shell
# expr `date +%s` + 86400 \* 30

7.28 motd

系統登入後,會自動秀出一段文字,稱為 Message Of The Day(motd)。這一段文字是可以修改的,你可以編輯 /etc/motd 來製作自己的畫面。如果您不希望 motd 內容出現 FreeBSD 的版本資訊,您可以在 rc.conf 中加入下面內容:

update_motd="YES"

如此一來,下次您更新 motd 的內容時,系統就不會自動將版本資訊加入 motd 中。

7.29 namedb/

如果你有架 Name Server 的話,你必須設定該目錄下的檔案。詳細說明請參考 DNS伺服器一章的說明。

7.30 netstart

這個檔案並不會被其他程式所使用,它只是讓你在單人模式下執行,用以啟動網路。而多人模式的網路設定在於 /etc/rc.network。

7.31 networks

用來設定本地網路的資訊。

7.32 newsyslog.conf

這個檔用來定期檢查 /var/log/ 的檔案,設定當 log 到一定大小或是定期的將舊的檔案壓縮備份,並刪除太老舊的檔案。

語法:

logfilename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
logfilename log 檔名稱
[owner:group] log 檔擁有人:群組
mode 該 log 檔的權限(檔案屬性)
count 最多計算到多少,例如 cron 是 3 表示將有四個壓縮檔:cron.0.gz, cron.1.gz, cron.2.gz, cron.3.gz。
size 檔案最大到多少即壓縮備份,以 KB 計。
when 什麼時候做備份,請 man newsyslog 來看詳細說明。以 @ 為首代表用 ISO 8601 結構的時間格式。以 $ 為首代表使用每天、每週、每月。
一些例子:
$D0 每天半夜十二點
$D23 每天 23:00 時
$W0D23 每週日 23:00
$W5D16 每週五 16:00
$MLD0 每月最後一天半夜十二點
$M5D6 每月第五天 6:00
[ZB] Z 表示要將該檔以 gzip 壓縮起來,B 表示該檔是 binary 檔。
[/pid_file] pid 檔的絕對路徑,如果有設定,則會送出 sig_num 給該程式。
[sig_num] 要送給該 daemon 程的 signal number,預設是 SIGHUP。

7.33 nsmb.conf

我們可以在 FreeBSD 中使用 mount_smbfs 來掛入 Windows 網路芳鄰中所分享出來的共享資料夾。而 nsmb.conf 就是執行 mount_smbfs 所使用的設定檔。我們可以設定所要使用的 codepage、使用者名稱及密碼等,請 man nsmb.conf 以取得相關的設定說明。

7.34 opiekeys

FreeBSD 內建一種密碼驗證的方法 OPIE (One Time Password In Everything),就是一種只能使用一次的密碼。而 opiekeys 這個檔案是用來存放使用 OPIE 的使用者設定。您可以 man opieman opiepasswd 以取得更多資訊。

7.35 pam.d

PAM 是 Pluggable Authentication Module 的縮寫。它是 FreeBSD 內建的一種極富彈性的認證機制,您可以參考這個網頁來取得更多關於 PAM 的資訊:http://www.freebsd.org/doc/en_US.ISO8859-1/articles/pam/;或者如果您安裝時有安裝 FreeBSD 文件,您也可以在下列目錄找到關於 PAM 的說明:

# ls /usr/share/doc/en_US.ISO8859-1/articles/pam

7.36 passwd

FreeBSD 使用 shadow password 的方式來保護密碼檔,只有 root 才可以讀取編碼後的密碼檔 /etc/master.passwd,而一般使用者只能看到 passwd 檔中的資料。但是這並不是系統用來驗証的檔案,為了加快速度,FreeBSD 將該檔做成資料庫 /etc/spwd.db/etc/pwd.db, 因此在修改完 master.passwd 後,必須使用指令 pwd_mkdb 來將 master.passwd 做成資料庫檔案。不過一般而言,我會使用 vipw 這個指令來修改 master.passwd,vipw 會先將 master.passwd 以預設的文書編輯軟體打開,修改完存檔後,它會視需要自動更新資料庫。你不需要改 passwd 的內容,只要改 master.passwd 即可。詳細說明請參考 man master.passwd 的說明。

7.37 pccard_ether

用以啟動或停用 PCCARD 網路設備的執行檔。

7.38 periodic/daily

設定每天要執行一次的程式。該目錄下放的是 shell script,如果你想自行增加的話,只需在該目錄下編輯新的 shell script 並將權限設為可執行即可,或者編輯 /etc/daily.local,加入想要執行的指令。在 /etc/defaults/periodic.conf 中定義了定期執行的設定,以下即為 daily 選項每個檔案所執行的動作:

檔案 動作 預設執行
100.clean-disks 清理磁碟,要清除的檔案類型可以在 periodic.conf 中設定。
110.clean-tmps 清除 /tmp。
120.clean-preserve 刪除 /var/preserve 中它舊的檔案。
130.clean-msgs 清除舊的系統訊息。
140.clean-rwho 清除 /var/rwho 中的舊資料。
150.clean-hoststat 清除 /var/spool/.hoststat。
200.backup-passwd 備份 /etc/master.passwd 及 /etc/group 並比對是否有更動。
210.backup-aliases 備份 /etc/mail/aliases。
300.calendar 執行 calendar -a。
310.accounting 移轉 /var/account/ 的檔案。
330.news 執行 /etc/news.expire。
340.uucp 執行 /etc/uuclean.daily。
400.status-disks 執行 df 及 dump -W。
405.status-ata-raid 檢查 ATA Raid 的狀態。
420.status-network 執行 netstat -i。
430.status-rwho 執行 uptime。
440.status-mailq 執行 mailq。
450.status-security 執行 /etc/security。
460.status-mail-rejects 統計/var/log/maillog 中記錄拒絕的信件數量。
470.status-named 統計 DNS 拒絕記錄。
500.queuerun 手動執行 mail queue。
999.local 執行 /etc/daily.local 中使用者自行定義的指令。  

7.39 periodic/weekly

設定每週要執行一次的程式。該目錄下放的是 shell script,如果你想自行增加的話,只需在該目錄下編輯新的 shell script 並將權限設為可執行即可。在 /etc/defaults/periodic.conf 中定義了定期執行的設定,以下為每週會執行的工作:

檔案 動作 預設執行
120.clean_kvmdb 清除過期的 /var/db/kvm_*.db。
310.locate 執行 /usr/libexec/locate.updatedb。
320.whatis 執行 /usr/libexec/makewhatis.local。
330.catman 執行 /usr/libexec/catman.local。
340.noid 找出沒有擁有人或群組的檔案。
400.status_pkg 使用 pkg_version(1) 找出老舊的 package。
999.local 執行其它在 /etc/weekly.local 中使用者自行定義的指令。  

7.40 periodic/monthly

設定每月要執行一次的程式。該目錄下放的是 shell script,如果你想自行增加的話,只需在該目錄下編輯新的 shell script 並將權限設為可執行即可。在 /etc/defaults/periodic.conf 中定義了定期執行的設定,以下為每月為執行的檔案:

檔案 動作 預設執行
200.accounting 執行 ac 指令,統計使用者登入時間。
999.local 執行其他 /etc/monthly.local 使用者自行定義的指令。  

7.41 periodic/security

periodic/security 中存放著每天會執行的 security check 檔案,這些檔案執行與否,同樣定義在 /etc/defaults/periodic.conf 中,以下為每日會執行的檔案:

檔案 動作 預設執行
100.setchksetuid 檢查是否有新增的 setuid 程式。
200.chkmounts 檢查掛入磁碟的改變。
300.chkuid0 列出所有 uid 為 0 的使用者。
400.passwdless 列出沒有密碼的使用者。
500.ipfwdenied 列出 ipfw 所拒絕的連線。
510.ipfdenied 列出 ipf 所拒絕的連線。
550.ipfwlimit 列出 ipfw log 中,超出限制的相同記錄。
600.ip6fwdenied 列出 ip6fw 所拒絕的連線。
650.ip6fwlimit 列出 ip6fw log 中,超出限制的相同記錄。
700.kernelmsg 列出 dmesg 的內容。
800.loginfail 列出登入失敗的資訊。
900.tcpwrap 列出 TCP Wrap 所拒絕的連線。

7.42 phones

用來設定遠端主機電話的資料庫,以供指令 tip 使用,詳情請 man tip

7.43 ppp/

設定 ppp 及 pppd 的設定檔。請參考第六章網路設定中的 ADSL 及 modem 的設定。

7.44 printcap

這個檔案定義了列表機的設定,請參考 man lptcontrol

7.45 profile

這個檔案是當你使用 bash 為 shell 時,進入 shell 會讀取的設定。就像 tcsh 所使用的 csh.cshrc 一樣。

7.46 rc

當系統開機時,kernel 會先去載入 /sbin/init ,然後 /sbin/init 會去執行 /etc/rc ,而 rc 會去執行 /etc/rc.d/*etc/rc.* 的檔案。幾乎所的設定都在 rc.conf 中,所以你只要去修改 rc.conf 就好了。

7.47 rc.d

這個目錄下存放了所有開機時會自動執行的程式,這些程式會依我們在 rc.conf 中的設定決定需不需要被執行。

7.48 rc.firewall

這個檔案是作防火牆的設定。你可以在該檔中加入你想要的設定,不過前提是你的系統已經準備好防火牆的相關設定了。詳情請參考防火牆設定一章的說明。

7.49 rc.local

這個檔案是讓你設定開機要執行的程式。你可以在該檔中加入啟動程式的指令,如果 rc.local 不存在,請自行新增。你也可以在 /etc/rc.d 的目錄中,放在你一開機想要執行的 shell script,並將權限改為可執行。

7.50 rc.*

/etc/ 的其他 rc.* 的檔案,如 rc.i386、rc.network 等,你不必去更動它們。一般而言,你想做的設定都可以在 /etc/rc.conf 中達成。如果你想要知道更多它們的資訊,請 man rc

7.51 resolv.conf

設定你 DNS 查詢的主機順序。例如下列範例中,我們設定我們的 domain 為 mydomain.com ,而 nameserver 的後面加上的 IP 就是 DNS Server 的位址。

domain  mydomain.com
nameserver      61.64.127.1
nameserver      168.95.1.1

7.52 services

這個檔案定義了每個網路服務所使用的 port 及名稱。

7.53 shells

這個檔案定義了使用者可以使用的 shell。只要是可以使用的 shell 都要在該檔案中加入。有些程式為去檢查使用者所使用的 shell 是否在 shells 中,例如 FTP 就不允許非使用 shells 中定義的 shell 的使用者登入。

7.54 ssh

這個目錄存放了 SSH daemon 所使用的金鑰及設定檔。

7.55 sysctl.conf

這個檔案的內容會在開機時被 sysctl 這個指令所執行,用來對系統進行一些參數的調校,請參考第八章系統調校的說明。

7.56 syslog.conf

這個檔案定義了系統記錄檔所儲存的位置及記錄的規則。

7.57 ttys

定義 tty 的形式及某些 tty 允不允許 root 登入。例入 root 就不能從 ttyp* 登入。有的 tty 後面有加 secure, 表示 root 可以從該 tty 登入。