FREEBSD 的使用知識(shí)
發(fā)布時(shí)間:2008-09-08 18:48:49 作者:佚名
我要評(píng)論

1、在 unix-like 中檔案結(jié)構(gòu)是滿重要的,那么要如何去看相關(guān)檔案目錄結(jié)構(gòu)的說(shuō)明呢?
難道是 cd 到每個(gè)目錄下嗎?其實(shí)有更好的方法..
那就是用好男人 man 來(lái)看:
# man hier
2、在 console 下操作時(shí),由于屏幕顯示有限,有時(shí)需看前面顯
1、在 unix-like 中檔案結(jié)構(gòu)是滿重要的,那么要如何去看相關(guān)檔案目錄結(jié)構(gòu)的說(shuō)明呢?
難道是 cd 到每個(gè)目錄下嗎?其實(shí)有更好的方法..
那就是用好男人 man 來(lái)看:
# man hier
2、在 console 下操作時(shí),由于屏幕顯示有限,有時(shí)需看前面顯示的資料,這時(shí)你可:
. 按一下 Pause or Scroll Lock鍵后,則可利用 PageUp PageDown Up Down Home End 等鍵來(lái)看前后顯示的資料
. 再按一下 Pause or Scroll Lock則可回復(fù)等待輸入畫(huà)面.
3、 使用 pw 來(lái)管理你的帳號(hào)
在 FreeBSD 下使用 adduser 來(lái)新增帳號(hào),有些時(shí)會(huì)滿煩的,可用以下方式:
pw useradd -n <username> -g <group> -m -s /bin/csh
=> -m 代表建立使用者目錄
●同時(shí)設(shè)密碼
echo <password> | pw useradd -n <username> -g <group> -m -s /bin/csh -h 0
● 刪除帳號(hào)
pw userdel -n <username> -r
=> -r 代表同時(shí)刪除其 home 目錄等相關(guān)資料
● 修改帳號(hào)
pw usermod -g <group> -s /bin/csh
PS:無(wú)法修改帳號(hào)名稱
● lock 及 unlock 使用者帳號(hào)
pw lock <username>
pw unlock <username>
4、 激活你的 screensaver
由于 FreeBSD 大多當(dāng)為主機(jī)使用,都是常期不關(guān)機(jī)的,因此可將屏幕關(guān)掉,或使用 ScreenSaver 功能..
使用 ScreenSaver 請(qǐng)?jiān)?/etc/rc.conf 這個(gè)檔加入以下兩行:
blanktime="900"
=> 以秒數(shù)為單位,如以上為 15 分鐘
saver="logo"
=> logo 是 FreeBSD 的吉祥物(圖型接口),另也可使用 "daemon",這是文字型式
5、 檢查你的某一個(gè) ports 版本及更新
如果要更新所有的 port 只需在 /etc/ports/ 下執(zhí)行以下指令:
# make update
有時(shí)我們可能要檢查某一個(gè) ports 的版本,在每個(gè) ports 中的 Makefile 都有這一行
PORTVERSION= x.x.x
如此就可看到這個(gè) ports 的版本了,另外也可使用以下方式(用 grep),比如我們想看 mod_php4 的版本
# grep PORTVERSION= /usr/ports/www/mod_php4/Makefile
PORTVERSION= 1.4.1 -> 版本訊息
如果版本太舊了,則可利用以下方法來(lái)更新單一 ports
a. 使用 portupgrade 或 portinstall,請(qǐng)用 man 查看用法
b. 到 FreeBSD 網(wǎng)站查詢最新的 ports 信息,并抓 ports 回來(lái)更新
網(wǎng)址:http://www.freebsd.org/cgi/cvsweb.cgi/ports/
抓回來(lái)后在相關(guān)目錄更新,例如我們抓回的是 mod_php4.tar.gz,存在 /usr/tmp/ 目錄下,則解壓縮的方式如下:
# cd /usr/ports/www/mod_php4
# tar xzvf /usr/tmp/mod_php4.tar.gz
如此就 ok 了..
6、 加速你的按鍵速度..
相信使用 FreeBSD 的人很多都是在 console 下操作吧,有些時(shí),要重復(fù)某一按鍵速度實(shí)在很慢..
另一個(gè)問(wèn)題就是 cusror 的位置有些時(shí)不太明顯..
可用以下方法來(lái)改善:
在 /etc/rc.conf 中加入以下資料..
keyrate="fast"
cursor="blink" 或 "destructive"
7、 設(shè)定開(kāi)機(jī)畫(huà)面
使用 windows 的人,都知道所謂的開(kāi)機(jī)畫(huà)面,在 FreeBSD 下是否也有此功能呢?答案是肯定的,而且設(shè)定更為簡(jiǎn)便,請(qǐng)照以下 steps:
一. 首先制作一個(gè)圖型文件,檔案格式為 logo.pcx 或 logo.bmp,需注意的是 .bmp 的檔案存盤時(shí)不用壓縮,分辨率需為 640 X 480 以內(nèi)(含),色階為 256 色..
二. 將此檔案 copy 到 /boot/ 這個(gè)目錄下
三. 設(shè)定 /boot/loader.conf,加入以下資料
splash_bmp_load="YES" -> 如果使用 .bmp 格式,此項(xiàng)需設(shè)為 YES
splash_pcx_load="YES" -> 使用 .pcx,請(qǐng)將此項(xiàng)設(shè)為 YES
vera_load="YES"
bitmap_load="YES"
bitmap_name="/boot/logo.pcx" -> 請(qǐng)依你的檔案格式更改
bitmap_type="splash_image_data"
四. 重新激活
ps: 請(qǐng)檢查你的 kernel 中是否有設(shè)定以下資料,一般在 4.x 中都是內(nèi)定值..,至于 3.x 版,沒(méi)用過(guò)..^.^
preudo-device splash
如果沒(méi)有,則需將此行加入并重新編繹核心.
8、 一些 console 下使用的快速鍵..
相信大多使用 unix-like 的使用者,還是在 console 下執(zhí)行你的日常維護(hù)工作吧,那有那些按鍵組合可幫我們提高效率呢..
以下按鍵皆適用于 tcsh 及 bash..
1. 快速移動(dòng)光標(biāo)
ctrl+a -> 到最前面
ctrl+e -> 到最后面
2. 編輯方面
ctrl+d -> 刪除光標(biāo)所在字符
ctrl+w -> 刪除光標(biāo)所在字前面的字符
ctrl+u -> bash:將光標(biāo)前所有的字及字符刪掉,tcsh:刪除所有字
ctrl+k -> 將光標(biāo)后所有字符刪掉
ctrl+b -> 下個(gè)字符
ctrl+f -> 前一個(gè)字符
ctrl+m -> 和按下 enter 的結(jié)果一樣
ctrl+h -> 和按下 del 或 backspace 鍵一樣
del 或 backspace -> 刪除前一個(gè)字符
如果對(duì)按鍵有研究興趣者,不彷參考 /usr/share/syscons/keymaps/ 這個(gè)目錄,其中 us.iso.kbd 是一般我們使用的按鍵..
9、 快速切換目錄
在 FreeBSD 中常常需要切換目錄,有時(shí)目錄名稱較長(zhǎng)、或是有大小寫(xiě)、或是只記得前面幾個(gè)字,怎么辦..
其實(shí)只要輸入部份字再加上 * 這個(gè)符號(hào)就可以了..
如我們要切換到 /usr/local/ 這個(gè)目錄,只需輸入 cd /usr/lo* 就可以了..
如果輸入 cd /usr/l* 會(huì)如何呢?則會(huì)進(jìn)到 /usr/lib/ 這個(gè)目錄,這是因?yàn)?shell 找到第一個(gè)符合的條件便停止了..
10、 有關(guān)時(shí)間及時(shí)區(qū)的?#123;校
使用 FreeBSD 大多是拿來(lái)當(dāng)做主機(jī)使用,那時(shí)間及時(shí)區(qū)的正確與否就非常重要了,以下介紹如何?#123;整時(shí)間及時(shí)區(qū)
● 時(shí)間?#123;整椒?br />
1. 使用 date 指令
格式 date [yymmdd]HHMM
說(shuō)明:
yy 年數(shù),如 02 代表 2002 年
mm 月份 01-12
dd 日數(shù) 01-31
HH 時(shí)數(shù) 01-59
MM 分鐘 01-59
yy mm dd 皆可省略
例:
?#123;整日期為 2002-03-25
# date 022325
?#123;整時(shí)間為 14:20
# date 1420
2. 使用對(duì)時(shí)主機(jī)
# ntpdate clock.stdtime.gov.tw
這項(xiàng)需能連上網(wǎng)絡(luò),其中 clock.stdtime.gov.tw 是一標(biāo)準(zhǔn)時(shí)間的主機(jī)
● 時(shí)區(qū)的設(shè)定
1. 使用 tzsetup
2. 在 /etc/ 下有個(gè)檔案 localtime,這個(gè)就是本機(jī)的時(shí)區(qū)設(shè)定檔案,因此我們可用個(gè)取巧方式(不經(jīng)由 tzsetup),如以下:
# cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
這樣是不是比較快呢..
11、 如何清空檔案內(nèi)容..
有時(shí)我們需將一個(gè)檔案內(nèi)容清空,但需保留這個(gè)檔案..
一般常見(jiàn)的用法是用文字編輯器,如 vi 將這個(gè)檔案叫出來(lái),再將其內(nèi)容全部刪掉,再存盤..
這樣是不是有些煩呢?
有一個(gè)更好的方法,使用 true 指令..
如我們要將 /var/log/httpd-access.log 清空,則下以下指令..
# cd /var/log/
# true > httpd-access.log
12、 顯示目錄及檔案 => tree
有時(shí)需顯示某個(gè)目錄下所有的目錄及檔案,雖使用 ls 可達(dá)到部份功能,但并不是很方便..
在 dos 中,有個(gè) tree 指令,是不是滿好用的..
其實(shí)在 FreeBSD 中也有類似的指令 => tree..
以下我們就透過(guò) ports 來(lái)安裝 tree
# cd /usr/ports/sysutils ; make install
如此會(huì)將 tree 這個(gè)指令安裝在 /usr/local/bin/ 這個(gè)目錄下..
使用例子:
1. 顯示 /usr/ 下的目錄及檔案
# tree /usr
2. 只顯示 /usr 下的目錄
# tree -d /usr
詳細(xì)用法請(qǐng)參考 man tree
PS:可透過(guò)管道 | 及 more 來(lái)顯示
如 tree /usr | more..
13、 如何檢視檔案類型
由于 FreeBSD 并沒(méi)有像 dos 或 windows 般有擴(kuò)展名的觀念,因此要如何檢查一個(gè)檔案的類型呢?
用 file 吧..
語(yǔ)法: file <file_name>
詳細(xì)用法請(qǐng)參考 man file
14、 重復(fù)使用先前使用過(guò)的指令
你可以使用以下的方法來(lái)重復(fù)使用先前使用過(guò)的指令:
例如,我們先用 history 顯示先前輸入的指令:
# history
.
..
...
10 clear
11 cd /usr/local
12 ls
13 ls etc
14 cd ~
15 clear
1. 用 up down 可用上下一個(gè)指令,或是 ctrl+p ctrl+n 亦然
2. 配合 ! 的用法,例如以下(ps: 在<...>內(nèi)代表要輸入的東東)
!!
# !! => 重復(fù)執(zhí)行上個(gè)一個(gè)指令
!<編號(hào)>
# !11 => 執(zhí)行 cd /usr/local
!<指令> 可輸入部份字,但前面部份需符合
# !cl
執(zhí)行 15 clear 指令
!<?指令?> 輸入部份字符,部份吻合
# !?etc?
執(zhí)行 13 ls etc
以上指令在 tcsh 及 bash 下皆可使用,如此是不是可幫你省下許多時(shí)間..
15、 如何將 man 的檔案印出來(lái)..
man 是大家學(xué)習(xí) FreeBSD 的最佳資料參考來(lái)源,但在顯示器上看到底不是很方便,有沒(méi)有方法轉(zhuǎn)成一般的文件檔案呢?
使用 col 這個(gè)指令吧..
例我們要將 ssh2 轉(zhuǎn)成 ssh2.txt,則使用以下語(yǔ)法:
# man ssh2 | col -b > ssh2.txt
16、 為何查不到正確的 ports 資料..
在 /usr/ports/ 下有著幾千個(gè) ports 的安裝資料,有時(shí)我們可使用以下方式來(lái)查相關(guān)的 ports..
以下都是在 /usr/ports/ 這個(gè)目錄下執(zhí)行..
1. 先將 ports 資料轉(zhuǎn)換成一個(gè)文字文件,如 index.txt
# make print-index > index.txt
2. 使用 make search key="...." 來(lái)查
3. 將 ports 內(nèi)容轉(zhuǎn)換成 README.html
# make readmes
用以上方法,可很容易的查到相關(guān)的 ports 資料,但很奇怪的是,為何我更新一個(gè) ports 的資料后(或 ports tree),為何會(huì)查不到,查到的仍然是舊的資料..
原來(lái),在 /usr/ports/ 中有一個(gè) INDEX 檔,以上的查詢方式都是在這個(gè) INDEX 檔中查詢,當(dāng)你更新 ports 資料時(shí),這個(gè) INDEX 檔并不會(huì)隨之更新..
所以為了查詢方便,我們需以手動(dòng)的方式來(lái)做..
# make index
做完后,再更新 index.txt 及 README.html..
不過(guò)更新 INDEX 檔需要一些時(shí)間,大約 12-30 分鐘..(視計(jì)算機(jī)等級(jí)而定).
17、 用 dig 及 host 來(lái)取代 nslookup
一般我們用來(lái)檢查網(wǎng)絡(luò)是否有問(wèn)題,大多是用以下三個(gè)指令..
nslookup
ping
traceroute
其中 nsllokup 是用來(lái)檢查 dns 的相關(guān)設(shè)定, ping 用來(lái)檢查自己和對(duì)方網(wǎng)絡(luò)是否通順,而 traceroute 則是用來(lái)檢查從自己的計(jì)算機(jī)到對(duì)方的計(jì)算機(jī)所經(jīng)過(guò)的線路狀況..
不過(guò)以 nslookup 而言,個(gè)人覺(jué)得不是很實(shí)用,有時(shí)我們只是想單純的查一下某臺(tái)主機(jī)或是 MX 記錄,那使用 nslookup 就有點(diǎn)嚕嗦了..
在此介紹二個(gè)好用的指令 host 及 dig,這二個(gè)指令很類似,不過(guò)效率較 nslookup 高
# host -a <主機(jī)名稱> 或 <ip>
=> 輸入主機(jī)名稱顯示 dns 正向解析的部份,輸入 ip 則是顯示反向(ptr)
# dig <主機(jī)名稱或ip> <any a mx soa txt.. 任選一項(xiàng)>
如要顯示 MX 記錄
# dig 主機(jī)名稱 mx
個(gè)人是覺(jué)得比 nslookup 方便多了,你覺(jué)得呢.. ^.^
當(dāng)然功能不只這些,詳情請(qǐng) man dig 或 host..
18、 加快你的開(kāi)機(jī)速度..
嚴(yán)格說(shuō)起來(lái),F(xiàn)reeBSD 的開(kāi)機(jī)速度算滿快的,不過(guò)中間會(huì)有個(gè) 10 秒的延遲時(shí)間(以便讓你進(jìn)入 boot 的 command prompt mode),如果你嫌這10秒還是太慢了,那你可將時(shí)間?#123;短一些..
FreeBSD 激活時(shí)會(huì)先去參考 /boot/defaults/loader.conf 檔的設(shè)定,然后再參考 /boot/loader.conf,一般我們都不去?#123;整 /boot/defaults/loader.conf 這個(gè)檔,而直接?#123;整 /boot/loader.conf..
只要在 /boot/loader.conf 中加上以下這一行即可
autoboot_delay="秒數(shù)" 即可,如
autoboot_delay="7" 代表7秒
這樣開(kāi)機(jī)是不是更快了..
另外建議,有時(shí)間可參考一下 /boot/defaults/loader.conf 這個(gè)檔案的設(shè)定,其中有許多實(shí)用的設(shè)定哦..
19、 忘了 root 密碼
如果你忘了 root 的密碼怎么辦,這在 FreeBSD 中滿好解決的,請(qǐng)照以下 steps 來(lái)處理..
1. 進(jìn)入單人模式
開(kāi)機(jī)后,當(dāng)出現(xiàn)
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 10 seconds...
按 space(或除了 enter 以外的鍵) 鍵則會(huì)進(jìn)入 command prompt mode,同時(shí)出現(xiàn)一個(gè) ok ..
這時(shí)請(qǐng)輸入 boot -s 以進(jìn)入單人模式
2. 選擇 sh
進(jìn)入單人模式后,系統(tǒng)會(huì)詢問(wèn)你要使用那個(gè) sh,內(nèi)定是 /bin/sh ,就使用這個(gè)吧,直接按 enter 跳過(guò)
3. 將所有的硬盤分割架起來(lái)
# mount -a
4. 更改密碼
# passwd
長(zhǎng)度要在 6 個(gè)以上,輸入二次
5. 重新激活
# reboot
20、 有關(guān) kernel 的激活..
kernel 對(duì) unix-like 系統(tǒng)來(lái)說(shuō),是非常重要的一環(huán),如果 kernel 損壞或編譯出了問(wèn)題,可能會(huì)導(dǎo)致嚴(yán)重的后果..
FreeBSD 一向以安全著稱,在這方面有什么防護(hù)的措施呢?
FreeBSD 的 kernel 是放在 / 目錄下,一般會(huì)有二個(gè)
kernel
kernel.GENERIC
如果你有編譯過(guò)核心(kernel)的話,則原先的 kernel 會(huì)轉(zhuǎn)換成 kernel.old,新的核心會(huì)變成 kernel,也就是在 / 下的 kernel 檔案如下:
kernel => 新編譯過(guò)的核心
kernel.GENERIC
kernel.old => 原先的核心
那 kernel.GENERIC 是什么呢,這個(gè)是系統(tǒng)安裝時(shí)所裝好的,一般都不會(huì)變動(dòng),即使編譯過(guò)核心亦然,這個(gè)檔案可說(shuō)是救命核心,最好不要亂動(dòng),理由如下所言..
FreeBSD 激活時(shí),會(huì)使用 kernel 這個(gè)核心,如果這個(gè)檔案不存在,則會(huì)抓 kernel.old 這個(gè)檔案..
如果這二個(gè)檔案不幸都不在,那怎么辦..這時(shí)則會(huì)進(jìn)入 command prompt mode,你必需自行輸入 kernel 的名稱,如
boot <kernel 名稱> 如
boot kernel.GENERIC
了解以上之后,在編譯核心無(wú)法正常執(zhí)行時(shí),相信各位知道如何處理了..
21、 FreeBSD 在那激活程序..
一般 FreeBSD 激活后會(huì)依序執(zhí)行以下位置的程序..
1. /etc/rc.conf 這個(gè)檔案內(nèi)的程序,如 sendmail、sshd .. 都是在此執(zhí)行,另外要注意的是,在執(zhí)行這個(gè)檔案之前,會(huì)先參考 /etc/defaults/rc.conf 的設(shè)定
2. /usr/local/etc/rc.d 下的一些 .sh 檔,這些檔案的權(quán)限都是被設(shè)定成 x ,如 apache samba .. 都是在此設(shè)定
3. /etc/rc.local 這里也可設(shè)定,如我要把 postfix 設(shè)定在此,只需在這個(gè)檔案內(nèi)加一行,如下
/use/local/sbin/postfix start &
加上 & ,就不會(huì)顯示出訊息
4. 由 cron 所控制的一些檔案,當(dāng)時(shí)間到了,便會(huì)自動(dòng)執(zhí)行..
那心細(xì)的人可能會(huì)問(wèn), /etc/inetd.conf 內(nèi)設(shè)定的呢?這些在第 1 項(xiàng)就執(zhí)行了..
了解以上并時(shí)時(shí)注意是否有不明的程序在執(zhí)行(可能是被人植入木馬程序),也是日常檢視系統(tǒng)的重要工作..
22、 加快你的主機(jī)名稱查詢速度..
unix-like 系統(tǒng),初期都是使用 hosts 這個(gè)設(shè)定文件來(lái)做主機(jī)的查詢,因此有些程序在查主機(jī)名稱時(shí),都會(huì)參照這個(gè)設(shè)定檔,像 sendmail 就是一個(gè)很好的例子..
系統(tǒng)內(nèi)定第一個(gè)是會(huì)查 /etc/hosts 這個(gè)檔案,因此如果里面設(shè)定有問(wèn)題,則會(huì)影響到某些程序的執(zhí)行..
典型的 hosts 檔設(shè)定如下..以我本身的主機(jī)來(lái)說(shuō)
127.0.0.1 localhost.cmlab.idv.tw localhost
61.219.230.5 cmlab.idv.tw cmlab
61.219.230.5 cmlab.idv.tw.
其中第一及第二行最后一個(gè)項(xiàng)目是 aliases 名稱(主機(jī)別名),比如我們?cè)谥鳈C(jī)
ping cmlab.idv.tw
和
ping cmlab
是同樣的結(jié)果..
你可把一些常用的主機(jī)加到這個(gè)項(xiàng)目?jī)?nèi),如有一臺(tái) mail.cmlab.idv.tw ,假設(shè) IP 為 61.219.230.8
則在這個(gè) hosts 中加入以下
61.219.230.8 mail.cmlab.idv.tw mail
61.219.230.8 mail.cmlab.idv.tw.
這樣就行了..
另外如果有自行架設(shè) dns server,請(qǐng)注意在 /etc/host.conf 這個(gè)檔案,典型的檔案如下:
# $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
由以上可以看得出來(lái),在查詢主機(jī)名稱時(shí)的順序,是先查 hosts 再查 bind 也就是 dns,你可視你的需要修改其順序..
另外要注意的就是 /etc/resolv.conf 文件,這個(gè)是有關(guān) dns 主機(jī) search 的順序,如以我的設(shè)定如下:
domain cmlab.idv.tw
nameserver 61.219.230.5
nameserver 168.95.1.1
nameserver 168.95.192.1
其中第一行是設(shè)定我的網(wǎng)域名稱,第 2-4 行則是 dns 主機(jī)的設(shè)定,建議至少設(shè)二個(gè)以上,以免一個(gè)掛了,還有個(gè)備用的..
第2行是我的 dns 主機(jī),3-4 行是 hinet 的 dns 主機(jī)..
了解以上并有正確的設(shè)定,是有助于主機(jī)的查詢的及速度的提升..
23、 我要如何分割硬盤..
檔案目錄對(duì)于 FreeBSD (或者是所有 unix-like 系統(tǒng)),都是相當(dāng)重要的,如開(kāi)始時(shí),分割的不是很恰當(dāng),日后就會(huì)遇到一些麻煩,如空間不夠..等問(wèn)題..
那么,我們要如何分割比較恰當(dāng)呢..
這就有關(guān)于你的用途及 FreeBSD 的目錄架構(gòu)了..
一般個(gè)人是建議你如此分割:
1. / 根目錄,一般在 250 ~ 500 MB 絕對(duì)夠用,以我的根目錄來(lái)說(shuō),使用一年多了,也才用了 66 MB 多。因?yàn)檫@個(gè)目錄只是一些 kernel modules sbin bin etc .. 等目錄
2. swap 檔,一般人都不知道如何設(shè)較恰檔,這也沒(méi)一個(gè)標(biāo)準(zhǔn),最主要是要看你的 ram 及硬盤而言,一般設(shè)成 1-2.5 倍(相對(duì)于你的 ram)。如你的 ram 在 256 mb 以上(含),設(shè)成一倍;如在 64 - 128 mb,則建議設(shè)成 2 倍
如要檢查你的 swap 使用狀況,可用以下指令來(lái)看..
# pstat -T
44/4044 files
0M/127M swap space
由以上可看出目前使用的 swap 為 0 ,設(shè)定的大小為 128 M
3. /var 目錄 及 /usr 目錄
這二個(gè)目錄一般都會(huì)占比較大的空間,/var 的變動(dòng)較小,以我個(gè)人來(lái)說(shuō),一年前設(shè)為 8 GB ,在目前只使用了不到 2GB。
但要注意的是一般的 mail 軟件,都是將信件存在 /var/mail/ 中,如果你的信件很多或很大,這個(gè)部份不妨加大一些..
而 /usr 這個(gè)目錄能大就給它大一點(diǎn)的空間,因?yàn)樗?a target="_blank" href="http://www.dbjr.com.cn" class="UBBWordLink">安裝的程序,或是 hone 都是在這個(gè)目錄下(如果你沒(méi)將 home 目錄設(shè)成一個(gè)分割) ..
那這兩個(gè)要如何分配呢,我的建議是 usr 和 var 的比例為 3:1,或是 2:1
4. 有些主機(jī)使用者較多,如學(xué)校單位。如果你沒(méi)將 home 設(shè)成一個(gè) partition,則 FreeBSD 會(huì)將 home 安裝在 /usr 目錄下,如果為了管理及安全問(wèn)題,則不妨將 home 分割為單一目錄..
至于大小,我想應(yīng)該 3-5 GB 左右,就絕對(duì)夠用了
我們來(lái)舉個(gè)實(shí)際例子,假設(shè)你有一顆 40 GB 的硬盤,使用內(nèi)存為 128 MB RAM,那我建議你的硬盤如此分割..
1. / => 250 MB
2. swap => 取 2 倍,即 256 MB
3. /home 如要獨(dú)立出來(lái),給它 3-5 GB
4. 剩下來(lái)的以 3:1 或 2:1 的比例設(shè)給 /usr 及 /var
以上只是一般建議,最重要的是必需了解各目錄的性質(zhì)及實(shí)際使用情況而予以適當(dāng)?shù)姆峙洌嘘P(guān)這方面的信息,不妨參考 man hier ..
25、 簡(jiǎn)單編輯你的文件檔..
在 unix-like 中,標(biāo)準(zhǔn)的文字編輯器是 vi,不過(guò) vi 對(duì)于初學(xué)者而言,并不是很容易上手..
而在 FreeBSD 中使用的是 ee ,這個(gè)文字編輯器,雖功能沒(méi) vi 這么強(qiáng)大,但使用簡(jiǎn)便..新手不妨初期時(shí)使用個(gè)編輯器..
其使用方式很簡(jiǎn)單,只要在 command line 下 ee 即可
# ee <要編輯的檔案>
進(jìn)入 ee 畫(huà)面后,最上方是一些按鍵說(shuō)明,如要取得相關(guān)的 ee 說(shuō)明,可先按 ctrl+c 鍵,再輸入 help,則會(huì)顯示詳細(xì)說(shuō)明
有時(shí)可能只想在一個(gè)檔案內(nèi)加入一小部份的資料,那使用文字編輯器來(lái)處理,就顯得沒(méi)效率,其實(shí)我們可以利用 cat > [檔名]和 cat >> [檔名] 來(lái)做..
那這二個(gè)方式有何差異呢..
cat > [檔名] 時(shí),如果檔案不存在,則會(huì)自動(dòng)產(chǎn)生一個(gè)檔案;如檔案存在則會(huì)將檔案清空..
cat >> [檔名],檔案不存在則自動(dòng)建立此檔,如存在則將所編輯的資料加在檔案的最后..
舉個(gè)例子,如我們要編輯 /etc/mail/access 這個(gè)是 sendmail 的 relay 設(shè)定檔..
想在這個(gè)檔案中加入 192.168.88.5 relay
則可用此方法(假設(shè) access 檔案已存在,故使用 cat >> .. 的方法) ..
# cat >> /etc/mail/access
192.168.88.5 RELAY
按 ctrl+d 存盤
如此則可將 192.168.88.5 relay 加到 access 的最后一行..
不過(guò),建議大家,unix-like 的共通文字編輯器是 vi,有時(shí)間不妨好好的學(xué)一下 vi..
26、 FreeBSD 帳號(hào)及密碼的注意事項(xiàng)
在架完 FreeBSD 后,再來(lái)就是新增人員(使用者)的資料了..
在設(shè)定帳號(hào)時(shí),請(qǐng)注意以下事項(xiàng):
1.其長(zhǎng)度需在 1-16 個(gè)字符
2.使用英文小寫(xiě)字母、數(shù)字及 - _ 符號(hào)
在設(shè)定密碼時(shí),請(qǐng)注意以下事項(xiàng)
1. 密碼可設(shè)可不設(shè),但建議你一定要設(shè)
2. 長(zhǎng)度最好在 6 個(gè)字以上,你知道據(jù)安全專家的說(shuō)法,破解一個(gè)長(zhǎng)度6及長(zhǎng)度4密碼,至少要多花 10 倍的時(shí)間
3. 請(qǐng)勿用你的生日、相關(guān)證照號(hào)碼、電話..等資料,而使用大小寫(xiě)英文字母及混合特殊符號(hào),如 ct!Home-12 就是一個(gè)相當(dāng)不容易破解的密碼
4. 長(zhǎng)度最長(zhǎng)我曾設(shè)到 16 位數(shù)(最大長(zhǎng)度多少,有興趣者可自行試試)
27、 有關(guān)系統(tǒng)的一些激活問(wèn)題..
有時(shí),會(huì)修改 FreeBSD 的一些設(shè)定,如一些網(wǎng)絡(luò)參數(shù)、軟件的 .conf 設(shè)定,或是 /etc/r.conf 檔,那么如何讓設(shè)定值生效,是否一定要重新開(kāi)機(jī)呢?
這可分為三方面來(lái)說(shuō)..
1. 網(wǎng)絡(luò)相關(guān)設(shè)定,如網(wǎng)絡(luò)適配卡、hostname .. 等,只要執(zhí)行以下指令就可以重新加載你的網(wǎng)絡(luò)設(shè)定..
# sh /etc/netstart
netstart 是一個(gè) scrīpt 檔案,執(zhí)行時(shí)會(huì)去參考 /etc/rc.network。因此只要執(zhí)行這個(gè)指令就能夠重新激活網(wǎng)絡(luò)設(shè)定..
有興趣者可參考一下 netstart 及 rc.network 這二個(gè)檔的內(nèi)容,研究看看到底做了些什么東東..
2. 修改了 rc.conf 中其它的設(shè)定
可參考以下三個(gè) step 來(lái)做..
. 進(jìn)入單人模式
# shutdown now
. 選擇 sh,造內(nèi)定值即可,即 /bin/sh
. 離開(kāi)單人模式
# exit
這樣就會(huì)重新激活系統(tǒng)了..
3. 軟件的設(shè)定,如一些 *.conf 檔,像是修正了 apache sendmail .. 等
通常在 /etc/local/rc.d/ 這個(gè)目錄中會(huì)有相關(guān)的 .sh 檔,直接執(zhí)行就可以了,注意的是一般要加上參數(shù),一般的參數(shù)有以下(視軟件而定會(huì)有不同)..
start 激活
stop 停止
reload 或 restart 重新激活
第二種方法就是直接使用 killall,如我們要重新激活 inetd,可用以下方法:
# killall -1 inetd
或是
# killall -HUP inetd
這樣就可以重新激活這個(gè) daemon 了
28、 保護(hù)你的檔案
在系統(tǒng)中,有許多檔案或一些設(shè)定檔是非常重要的,加上 FreeBSD (或是一般 unix-like)系統(tǒng)都沒(méi)有類似 ms 的垃圾回收桶的功能,萬(wàn)一不幸刪掉(或修改)某個(gè)重要的檔案,可能會(huì)造成不小的困擾..
雖然,F(xiàn)reeBSD 對(duì)于檔案的權(quán)限設(shè)定的非常嚴(yán)密,但有些時(shí)候,我們以 root 身份工作,仍會(huì)有此風(fēng)險(xiǎn)..
那要如何避免這種情形發(fā)生或是保護(hù)某些重要的檔案呢?
我們可以用 chflags 來(lái)達(dá)成這個(gè)目的,顧名思義, chflags 是由二個(gè)字所組成,即 change 和 flags(檔案的旗標(biāo))..
例如我們要保護(hù) /etc/inetd.conf 這個(gè)檔案,以免誤刪或被修改,則指令如下:
# chflags schg /etc/inetd.conf
這樣就可以保護(hù)這些檔案,如要顯示這些檔案的旗標(biāo)(flag),可用 ls 來(lái)看..
# ls -lo /etc/inetd.conf => l 是小寫(xiě)的 L
-rw------- 1 root wheel schg 47 Mar 28 21:29 inetd.conf
要解除旗標(biāo)設(shè)定,可用 unschg,也就是在 schg 前加 un ,如:
# chflags unschg /etc/inetd.conf
大部份我們進(jìn)入主機(jī)都是以 root 身份執(zhí)行,因此稍不小心,可能就..因此建議將一些重要的檔案及設(shè)定檔設(shè)定為 schg flags,以保護(hù)檔案..
如 /bin、 /sbin、 /etc/.conf、 /usr/lcaol/etc/*.conf .. 這些檔案最好都是定成 schg 旗標(biāo)..
chflags 詳細(xì)用法請(qǐng)參考 man chflags..
29、 談?wù)勡浖?a target="_blank" href="http://www.dbjr.com.cn" class="UBBWordLink">安裝路徑..
FreeBSD 對(duì)于檔案目錄的觀念非常重,什么樣的檔案要放在那個(gè)目錄都有規(guī)定,這也是有別于其它 unix-like 系統(tǒng)..
一般我們將軟件安裝分成二個(gè)部份,在這里來(lái)探討一下軟件到底都安裝到那去了..
在安裝軟件時(shí),通常會(huì)安裝諸如 執(zhí)行檔、設(shè)定檔、man file、doc 文件..
1. 安裝系統(tǒng)時(shí)所安裝的軟件
執(zhí)行檔通常裝在 /bin、/sbin、/usr/bin、/usr/sbin、/usr/libexec 下
設(shè)定文件通在在 /etc 目錄下
man file 通常在 /usr/man 或 /usr/share/man
doc 文件通常在 /usr/share/doc 下
2. 經(jīng)由 package 或 port 安裝的軟件
執(zhí)行檔通常裝在 /usr/local/bin、/usr/local/sbin、/usr/local/libexec 下
設(shè)定文件通在在 /use/local/etc 目錄下
man file 通常在 /usr/local/man ..
doc 文件通常在 /usr/share/doc 下
以上并不是絕對(duì)的(所以我用通常..^.^),因?yàn)橛行┨厥馇闆r需視軟件而定..
如此有時(shí)可能會(huì)造成些許困擾,因?yàn)槿?ssh 、 bind .. 大多是在系統(tǒng)安統(tǒng)時(shí)就安裝的,那如果升級(jí)新版時(shí)怎么辦..
由于 FreeBSD 找尋執(zhí)行檔時(shí)會(huì)依照 $PATH 這個(gè)環(huán)境變量找尋,因?yàn)?/bin、/sbin、/usr/bin、/usr/sbin 比 /usr/local/bin 或 /usr/local/sbin 先,所以會(huì)先執(zhí)行..也就是先抓到舊版的執(zhí)行檔..
因此在更新時(shí)要注意這種情況,以免更新了還是執(zhí)行舊的程序..
那么如何看安時(shí)程序時(shí)的相關(guān)檔案的安裝路徑呢?通常有以下方法
1. 看 port 的 pkg-plist 檔
2. 有時(shí)用 man [執(zhí)行檔名稱] 可看到一些重要檔案的位置
3. 看說(shuō)明文件,通常在 /usr/local/share/doc 目錄下
30、 如何在 FreeBSD 同一片網(wǎng)硌卡加一個(gè) ip 地址
有的時(shí)候,需要在同一片網(wǎng)絡(luò)卡上加 ip 以達(dá)到一些特殊的要求..
在 FreeBSD 這是非常簡(jiǎn)單的,假設(shè)原先網(wǎng)絡(luò)卡的 ip 是 211.211.211.211,想加一個(gè) 211.211.211.212,使用的是 rl0 這片網(wǎng)絡(luò)卡,則做法如下..
1. 在 /etc/rc.conf 加上這一行
ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"
其中的 alias0 就是加裝的第一個(gè) ip,如要設(shè)定多個(gè)可在此修正,如 alias1、alias2.. aliasN
2. 重新激活網(wǎng)絡(luò)卡,執(zhí)行 /etc/netstart
# /etc/netstart
31、 簡(jiǎn)單的加密你的資料
在實(shí)務(wù)上我們常需要將某些敏感的資料加密,一般我們可使用 pgp 或在這里所介紹的 crypt 來(lái)達(dá)到這個(gè)功能..
crypt 是透過(guò) | 這個(gè)管道轉(zhuǎn)換功能及密碼設(shè)定來(lái)達(dá)成加密的功能,也就是說(shuō)將你所設(shè)的密碼當(dāng)做加密產(chǎn)生的種子隨機(jī)數(shù)..
先說(shuō)明一下 crypt 的使用方法:
crypt [-s] [-k] [password]
一般 -s 及 -k 參數(shù)可不予理會(huì),password 是加密或解密的密碼
在這里假設(shè)我們先產(chǎn)生一個(gè) test.txt 檔,內(nèi)容為 test,然后用 1234 這個(gè)密碼加密
# cat > test.txt
test
按 ctrl+d 存盤
先看看 test.txt 內(nèi)容
# more test.txt
test
將 test.txt 這個(gè)檔案用 1234 這個(gè)密碼加密,需配合管道 | 及轉(zhuǎn)向符號(hào)使用,加密后的文件名稱為 test2.txt
# cat test.txt | crypt 1234 > test2.txt
如此則會(huì)產(chǎn)生一個(gè)加密后的檔案 test2.txt,另外密碼可先不輸入,按 enter 鍵后會(huì)顯示 enter key: 讓你輸入密碼
我們來(lái)看看加密后的檔案內(nèi)容,原先是 test 結(jié)果變成了:
# more test2.txt
e<A8>&<A7>h => 已經(jīng)不是原來(lái)的 test
接著來(lái)將 test2.txt 解開(kāi),如下,假設(shè)解開(kāi)后的檔名為 test3.txt:
# cyrpt 1234 < test2.txt > test3.txt
以上的意思是
1234 加密時(shí)的密碼
< test2.txt 將加密的檔案轉(zhuǎn)給 crypt 處理
> test3.txt 解密后的資料轉(zhuǎn)向到 test3.txt
再顯示 test3.txt 的內(nèi)容是否和原來(lái)一樣,即 test
# more test3.txt
test
PS:
1. 加密或解密時(shí)檔名如和源文件一樣,則會(huì)將原來(lái)的檔案取代
2. 另有一個(gè)指令 enigma 和 crypt 用法完全一樣
參考資料 man crypt
32、用 telnet 簡(jiǎn)測(cè)你的服務(wù)器(Server)有無(wú)在跑
有時(shí)你可以用 telnet 測(cè)試你的 Server 有無(wú)正常的 run
例如:我要查看 ftpd 有無(wú)在跑
可下指令:# telnet localhost 21
若跑出類似以下的訊息, 表示有在跑
--------------------------------
Trying 127.0.0.1...
Connected to localhost.ahkun.
Escape character is '^]'.
220-=(<*> )=-.:. (( Welcome to PureFTPd 1.0.11 )) .:.-=(<*> )=-
220-You are user number 1 of 50 allowed
220-Local time is now 18:52 and the load is 0.06. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
若跑出以下的訊息, 表示沒(méi)在跑
------------------------------------------------
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
同理你也可以用:
telnet localhost 25 測(cè) stmpd
telnet localhost 110 測(cè) pop3d
結(jié)論:
正確來(lái)講是用 telnet 測(cè) port 啦~
33、 如何防止別人登錄到你的計(jì)算機(jī)
有時(shí),我們并不想讓別人直接登入到我們的主機(jī)或是只想限定某些人可使用,如 telnet、ssh..
或者是開(kāi)放了些服務(wù),如 ftp、smtpd ..等,由于這些都必需在主機(jī)端建有帳號(hào),因此防止不相干的人登入到你的主機(jī)是非常重要的,也是一個(gè)安全上的考量..
但一般限定的方式都是使用 ip 或是 domain 的方式,那么有無(wú)方法可解決這個(gè)問(wèn)題呢?
答案是可從 /etc/login.access 來(lái)著手,這個(gè)檔案就是限定 login 的..
一個(gè)典型的設(shè)定如下,例如我們想限定只有 root 及 使用者 john 可登入到主機(jī)(含local 及 remote):
-:ALL EXCEPT root john:ALL
可分為三個(gè)項(xiàng)目,每個(gè)項(xiàng)目間以 : 分隔,說(shuō)明如下:
1. + 或 - 代表允許或禁止
2. 設(shè)定的使用者或群組,可用 ALL EXCEPT 來(lái)強(qiáng)化限定的范圍
3. 限定的來(lái)源,如 ALL 代表全部、61.219.230. 、LOCAL、console、.bad.com ..等
適當(dāng)?shù)脑O(shè)定,可讓你的系統(tǒng)更加的安全..
詳細(xì)用法可 man login.access..
34、 一個(gè) ./ 的技巧
眾所周知,在 nix-like 中執(zhí)行目前目錄中的可執(zhí)行文件時(shí),必需加上 ./ 這二個(gè)符號(hào),很多 unix-like 的初學(xué)者都會(huì)感覺(jué)較不習(xí)慣,因?yàn)樵?dos 或 windows 的 dos 窗口中并不是如此..
其實(shí)在 unix-like 中如此設(shè)定是有其安全考量的,在使用指令或執(zhí)行文件時(shí),一般是建議使用完整的目錄,例如要使用 ls,則如下:
# /bin/ls
當(dāng)然,你直接輸入 ls 亦可正確的執(zhí)行,這是因?yàn)槟闼褂玫?shell 中環(huán)境變量 $PATH 的因素..
你可鍵入 echo $PATH,來(lái)看目前 $PATH 的設(shè)定,當(dāng)我們執(zhí)行一個(gè)指令時(shí),系統(tǒng)會(huì)依照這個(gè)環(huán)境變量來(lái)搜尋這個(gè)執(zhí)行檔并加以執(zhí)行..
內(nèi)定 shell 不會(huì)將目前目錄 . 加到 $PATH 中,因此如果你想在目前目錄執(zhí)行這個(gè)目錄下的執(zhí)行文件而不想加上 ./ 時(shí),可在你的 shell 中將 . 加入..
如一般在 FreeBSD 都是使用 tcsh,你可編輯個(gè)人 home 目錄下的 .cshrc 檔 set path = ( ........ ,在此加入 . 即可..
記得重新退出 shell 再登錄,以便讓你的新設(shè)定生效.
35、在提示列秀出 [使用者]目前工作目錄 (可以少打很多次pwd)
# cd /root
編輯 .cshrc
# set prompt="'hostname -s'# " ### 找到這一行并 mark 起來(lái)
set prompt = "[%n]%/# " ### 新增此行并存盤離開(kāi)
# logout
login: root ....重新登入
ps.其它user id 是否可照辦? 我還沒(méi)試過(guò)哩..剛裝freebsd而已
36、rm 是 DEL 一個(gè)檔案
rm -r 是 DEL 整個(gè)目錄
37、介紹一些一些有用的參數(shù)(注意大小寫(xiě))..
%B 代表高亮度
%n 代表用者名稱
%m 主機(jī)名稱
%/ 目前的目錄
一般我們可能比較在意以上幾點(diǎn),如我要管理好幾臺(tái) FreeBSD 主機(jī),那么以上幾個(gè)參數(shù)就很重要了..
舉個(gè)實(shí)例來(lái)說(shuō),如我想把我的 prompt 改成這樣,而且要高亮度顯示:
使用者名稱@主機(jī)名稱[目錄名稱]>
則 prompt 的設(shè)定應(yīng)該是這樣的..
set prompt = "%B%n@%m[%/]> "
注意 = 左右都要有一個(gè)空白,否則會(huì)出錯(cuò),導(dǎo)致無(wú)法登入,另外如果要統(tǒng)一所有使用者的 prompt 的話,除了更改 /home/使用者/.cshrc 外,最好也在 /etc/csh.cshrc 中設(shè)定這一行,另外如要新增新用者也用這種提示,則請(qǐng)?jiān)?/usr/share/skel/dot.cshrc 中也加上(或改成)這一行,這是因?yàn)椋?
tcsh 在使用時(shí)會(huì)先參考 /etc/csh.cshrc 這個(gè)檔案,再依 user 去抓其 home 目錄下的 .cshrc,而設(shè)定 /usr/share/skel/dot.cshrc 是讓你新使用者時(shí),自動(dòng)將其 prompt 設(shè)定成 set prompt = "%B%n@%m[%/]> "
這種設(shè)法,當(dāng)你在管理多臺(tái)主機(jī)及切換目錄時(shí),就不易搞錯(cuò)而發(fā)生一些慘劇
難道是 cd 到每個(gè)目錄下嗎?其實(shí)有更好的方法..
那就是用好男人 man 來(lái)看:
# man hier
2、在 console 下操作時(shí),由于屏幕顯示有限,有時(shí)需看前面顯示的資料,這時(shí)你可:
. 按一下 Pause or Scroll Lock鍵后,則可利用 PageUp PageDown Up Down Home End 等鍵來(lái)看前后顯示的資料
. 再按一下 Pause or Scroll Lock則可回復(fù)等待輸入畫(huà)面.
3、 使用 pw 來(lái)管理你的帳號(hào)
在 FreeBSD 下使用 adduser 來(lái)新增帳號(hào),有些時(shí)會(huì)滿煩的,可用以下方式:
pw useradd -n <username> -g <group> -m -s /bin/csh
=> -m 代表建立使用者目錄
●同時(shí)設(shè)密碼
echo <password> | pw useradd -n <username> -g <group> -m -s /bin/csh -h 0
● 刪除帳號(hào)
pw userdel -n <username> -r
=> -r 代表同時(shí)刪除其 home 目錄等相關(guān)資料
● 修改帳號(hào)
pw usermod -g <group> -s /bin/csh
PS:無(wú)法修改帳號(hào)名稱
● lock 及 unlock 使用者帳號(hào)
pw lock <username>
pw unlock <username>
4、 激活你的 screensaver
由于 FreeBSD 大多當(dāng)為主機(jī)使用,都是常期不關(guān)機(jī)的,因此可將屏幕關(guān)掉,或使用 ScreenSaver 功能..
使用 ScreenSaver 請(qǐng)?jiān)?/etc/rc.conf 這個(gè)檔加入以下兩行:
blanktime="900"
=> 以秒數(shù)為單位,如以上為 15 分鐘
saver="logo"
=> logo 是 FreeBSD 的吉祥物(圖型接口),另也可使用 "daemon",這是文字型式
5、 檢查你的某一個(gè) ports 版本及更新
如果要更新所有的 port 只需在 /etc/ports/ 下執(zhí)行以下指令:
# make update
有時(shí)我們可能要檢查某一個(gè) ports 的版本,在每個(gè) ports 中的 Makefile 都有這一行
PORTVERSION= x.x.x
如此就可看到這個(gè) ports 的版本了,另外也可使用以下方式(用 grep),比如我們想看 mod_php4 的版本
# grep PORTVERSION= /usr/ports/www/mod_php4/Makefile
PORTVERSION= 1.4.1 -> 版本訊息
如果版本太舊了,則可利用以下方法來(lái)更新單一 ports
a. 使用 portupgrade 或 portinstall,請(qǐng)用 man 查看用法
b. 到 FreeBSD 網(wǎng)站查詢最新的 ports 信息,并抓 ports 回來(lái)更新
網(wǎng)址:http://www.freebsd.org/cgi/cvsweb.cgi/ports/
抓回來(lái)后在相關(guān)目錄更新,例如我們抓回的是 mod_php4.tar.gz,存在 /usr/tmp/ 目錄下,則解壓縮的方式如下:
# cd /usr/ports/www/mod_php4
# tar xzvf /usr/tmp/mod_php4.tar.gz
如此就 ok 了..
6、 加速你的按鍵速度..
相信使用 FreeBSD 的人很多都是在 console 下操作吧,有些時(shí),要重復(fù)某一按鍵速度實(shí)在很慢..
另一個(gè)問(wèn)題就是 cusror 的位置有些時(shí)不太明顯..
可用以下方法來(lái)改善:
在 /etc/rc.conf 中加入以下資料..
keyrate="fast"
cursor="blink" 或 "destructive"
7、 設(shè)定開(kāi)機(jī)畫(huà)面
使用 windows 的人,都知道所謂的開(kāi)機(jī)畫(huà)面,在 FreeBSD 下是否也有此功能呢?答案是肯定的,而且設(shè)定更為簡(jiǎn)便,請(qǐng)照以下 steps:
一. 首先制作一個(gè)圖型文件,檔案格式為 logo.pcx 或 logo.bmp,需注意的是 .bmp 的檔案存盤時(shí)不用壓縮,分辨率需為 640 X 480 以內(nèi)(含),色階為 256 色..
二. 將此檔案 copy 到 /boot/ 這個(gè)目錄下
三. 設(shè)定 /boot/loader.conf,加入以下資料
splash_bmp_load="YES" -> 如果使用 .bmp 格式,此項(xiàng)需設(shè)為 YES
splash_pcx_load="YES" -> 使用 .pcx,請(qǐng)將此項(xiàng)設(shè)為 YES
vera_load="YES"
bitmap_load="YES"
bitmap_name="/boot/logo.pcx" -> 請(qǐng)依你的檔案格式更改
bitmap_type="splash_image_data"
四. 重新激活
ps: 請(qǐng)檢查你的 kernel 中是否有設(shè)定以下資料,一般在 4.x 中都是內(nèi)定值..,至于 3.x 版,沒(méi)用過(guò)..^.^
preudo-device splash
如果沒(méi)有,則需將此行加入并重新編繹核心.
8、 一些 console 下使用的快速鍵..
相信大多使用 unix-like 的使用者,還是在 console 下執(zhí)行你的日常維護(hù)工作吧,那有那些按鍵組合可幫我們提高效率呢..
以下按鍵皆適用于 tcsh 及 bash..
1. 快速移動(dòng)光標(biāo)
ctrl+a -> 到最前面
ctrl+e -> 到最后面
2. 編輯方面
ctrl+d -> 刪除光標(biāo)所在字符
ctrl+w -> 刪除光標(biāo)所在字前面的字符
ctrl+u -> bash:將光標(biāo)前所有的字及字符刪掉,tcsh:刪除所有字
ctrl+k -> 將光標(biāo)后所有字符刪掉
ctrl+b -> 下個(gè)字符
ctrl+f -> 前一個(gè)字符
ctrl+m -> 和按下 enter 的結(jié)果一樣
ctrl+h -> 和按下 del 或 backspace 鍵一樣
del 或 backspace -> 刪除前一個(gè)字符
如果對(duì)按鍵有研究興趣者,不彷參考 /usr/share/syscons/keymaps/ 這個(gè)目錄,其中 us.iso.kbd 是一般我們使用的按鍵..
9、 快速切換目錄
在 FreeBSD 中常常需要切換目錄,有時(shí)目錄名稱較長(zhǎng)、或是有大小寫(xiě)、或是只記得前面幾個(gè)字,怎么辦..
其實(shí)只要輸入部份字再加上 * 這個(gè)符號(hào)就可以了..
如我們要切換到 /usr/local/ 這個(gè)目錄,只需輸入 cd /usr/lo* 就可以了..
如果輸入 cd /usr/l* 會(huì)如何呢?則會(huì)進(jìn)到 /usr/lib/ 這個(gè)目錄,這是因?yàn)?shell 找到第一個(gè)符合的條件便停止了..
10、 有關(guān)時(shí)間及時(shí)區(qū)的?#123;校
使用 FreeBSD 大多是拿來(lái)當(dāng)做主機(jī)使用,那時(shí)間及時(shí)區(qū)的正確與否就非常重要了,以下介紹如何?#123;整時(shí)間及時(shí)區(qū)
● 時(shí)間?#123;整椒?br />
1. 使用 date 指令
格式 date [yymmdd]HHMM
說(shuō)明:
yy 年數(shù),如 02 代表 2002 年
mm 月份 01-12
dd 日數(shù) 01-31
HH 時(shí)數(shù) 01-59
MM 分鐘 01-59
yy mm dd 皆可省略
例:
?#123;整日期為 2002-03-25
# date 022325
?#123;整時(shí)間為 14:20
# date 1420
2. 使用對(duì)時(shí)主機(jī)
# ntpdate clock.stdtime.gov.tw
這項(xiàng)需能連上網(wǎng)絡(luò),其中 clock.stdtime.gov.tw 是一標(biāo)準(zhǔn)時(shí)間的主機(jī)
● 時(shí)區(qū)的設(shè)定
1. 使用 tzsetup
2. 在 /etc/ 下有個(gè)檔案 localtime,這個(gè)就是本機(jī)的時(shí)區(qū)設(shè)定檔案,因此我們可用個(gè)取巧方式(不經(jīng)由 tzsetup),如以下:
# cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
這樣是不是比較快呢..
11、 如何清空檔案內(nèi)容..
有時(shí)我們需將一個(gè)檔案內(nèi)容清空,但需保留這個(gè)檔案..
一般常見(jiàn)的用法是用文字編輯器,如 vi 將這個(gè)檔案叫出來(lái),再將其內(nèi)容全部刪掉,再存盤..
這樣是不是有些煩呢?
有一個(gè)更好的方法,使用 true 指令..
如我們要將 /var/log/httpd-access.log 清空,則下以下指令..
# cd /var/log/
# true > httpd-access.log
12、 顯示目錄及檔案 => tree
有時(shí)需顯示某個(gè)目錄下所有的目錄及檔案,雖使用 ls 可達(dá)到部份功能,但并不是很方便..
在 dos 中,有個(gè) tree 指令,是不是滿好用的..
其實(shí)在 FreeBSD 中也有類似的指令 => tree..
以下我們就透過(guò) ports 來(lái)安裝 tree
# cd /usr/ports/sysutils ; make install
如此會(huì)將 tree 這個(gè)指令安裝在 /usr/local/bin/ 這個(gè)目錄下..
使用例子:
1. 顯示 /usr/ 下的目錄及檔案
# tree /usr
2. 只顯示 /usr 下的目錄
# tree -d /usr
詳細(xì)用法請(qǐng)參考 man tree
PS:可透過(guò)管道 | 及 more 來(lái)顯示
如 tree /usr | more..
13、 如何檢視檔案類型
由于 FreeBSD 并沒(méi)有像 dos 或 windows 般有擴(kuò)展名的觀念,因此要如何檢查一個(gè)檔案的類型呢?
用 file 吧..
語(yǔ)法: file <file_name>
詳細(xì)用法請(qǐng)參考 man file
14、 重復(fù)使用先前使用過(guò)的指令
你可以使用以下的方法來(lái)重復(fù)使用先前使用過(guò)的指令:
例如,我們先用 history 顯示先前輸入的指令:
# history
.
..
...
10 clear
11 cd /usr/local
12 ls
13 ls etc
14 cd ~
15 clear
1. 用 up down 可用上下一個(gè)指令,或是 ctrl+p ctrl+n 亦然
2. 配合 ! 的用法,例如以下(ps: 在<...>內(nèi)代表要輸入的東東)
!!
# !! => 重復(fù)執(zhí)行上個(gè)一個(gè)指令
!<編號(hào)>
# !11 => 執(zhí)行 cd /usr/local
!<指令> 可輸入部份字,但前面部份需符合
# !cl
執(zhí)行 15 clear 指令
!<?指令?> 輸入部份字符,部份吻合
# !?etc?
執(zhí)行 13 ls etc
以上指令在 tcsh 及 bash 下皆可使用,如此是不是可幫你省下許多時(shí)間..
15、 如何將 man 的檔案印出來(lái)..
man 是大家學(xué)習(xí) FreeBSD 的最佳資料參考來(lái)源,但在顯示器上看到底不是很方便,有沒(méi)有方法轉(zhuǎn)成一般的文件檔案呢?
使用 col 這個(gè)指令吧..
例我們要將 ssh2 轉(zhuǎn)成 ssh2.txt,則使用以下語(yǔ)法:
# man ssh2 | col -b > ssh2.txt
16、 為何查不到正確的 ports 資料..
在 /usr/ports/ 下有著幾千個(gè) ports 的安裝資料,有時(shí)我們可使用以下方式來(lái)查相關(guān)的 ports..
以下都是在 /usr/ports/ 這個(gè)目錄下執(zhí)行..
1. 先將 ports 資料轉(zhuǎn)換成一個(gè)文字文件,如 index.txt
# make print-index > index.txt
2. 使用 make search key="...." 來(lái)查
3. 將 ports 內(nèi)容轉(zhuǎn)換成 README.html
# make readmes
用以上方法,可很容易的查到相關(guān)的 ports 資料,但很奇怪的是,為何我更新一個(gè) ports 的資料后(或 ports tree),為何會(huì)查不到,查到的仍然是舊的資料..
原來(lái),在 /usr/ports/ 中有一個(gè) INDEX 檔,以上的查詢方式都是在這個(gè) INDEX 檔中查詢,當(dāng)你更新 ports 資料時(shí),這個(gè) INDEX 檔并不會(huì)隨之更新..
所以為了查詢方便,我們需以手動(dòng)的方式來(lái)做..
# make index
做完后,再更新 index.txt 及 README.html..
不過(guò)更新 INDEX 檔需要一些時(shí)間,大約 12-30 分鐘..(視計(jì)算機(jī)等級(jí)而定).
17、 用 dig 及 host 來(lái)取代 nslookup
一般我們用來(lái)檢查網(wǎng)絡(luò)是否有問(wèn)題,大多是用以下三個(gè)指令..
nslookup
ping
traceroute
其中 nsllokup 是用來(lái)檢查 dns 的相關(guān)設(shè)定, ping 用來(lái)檢查自己和對(duì)方網(wǎng)絡(luò)是否通順,而 traceroute 則是用來(lái)檢查從自己的計(jì)算機(jī)到對(duì)方的計(jì)算機(jī)所經(jīng)過(guò)的線路狀況..
不過(guò)以 nslookup 而言,個(gè)人覺(jué)得不是很實(shí)用,有時(shí)我們只是想單純的查一下某臺(tái)主機(jī)或是 MX 記錄,那使用 nslookup 就有點(diǎn)嚕嗦了..
在此介紹二個(gè)好用的指令 host 及 dig,這二個(gè)指令很類似,不過(guò)效率較 nslookup 高
# host -a <主機(jī)名稱> 或 <ip>
=> 輸入主機(jī)名稱顯示 dns 正向解析的部份,輸入 ip 則是顯示反向(ptr)
# dig <主機(jī)名稱或ip> <any a mx soa txt.. 任選一項(xiàng)>
如要顯示 MX 記錄
# dig 主機(jī)名稱 mx
個(gè)人是覺(jué)得比 nslookup 方便多了,你覺(jué)得呢.. ^.^
當(dāng)然功能不只這些,詳情請(qǐng) man dig 或 host..
18、 加快你的開(kāi)機(jī)速度..
嚴(yán)格說(shuō)起來(lái),F(xiàn)reeBSD 的開(kāi)機(jī)速度算滿快的,不過(guò)中間會(huì)有個(gè) 10 秒的延遲時(shí)間(以便讓你進(jìn)入 boot 的 command prompt mode),如果你嫌這10秒還是太慢了,那你可將時(shí)間?#123;短一些..
FreeBSD 激活時(shí)會(huì)先去參考 /boot/defaults/loader.conf 檔的設(shè)定,然后再參考 /boot/loader.conf,一般我們都不去?#123;整 /boot/defaults/loader.conf 這個(gè)檔,而直接?#123;整 /boot/loader.conf..
只要在 /boot/loader.conf 中加上以下這一行即可
autoboot_delay="秒數(shù)" 即可,如
autoboot_delay="7" 代表7秒
這樣開(kāi)機(jī)是不是更快了..
另外建議,有時(shí)間可參考一下 /boot/defaults/loader.conf 這個(gè)檔案的設(shè)定,其中有許多實(shí)用的設(shè)定哦..
19、 忘了 root 密碼
如果你忘了 root 的密碼怎么辦,這在 FreeBSD 中滿好解決的,請(qǐng)照以下 steps 來(lái)處理..
1. 進(jìn)入單人模式
開(kāi)機(jī)后,當(dāng)出現(xiàn)
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 10 seconds...
按 space(或除了 enter 以外的鍵) 鍵則會(huì)進(jìn)入 command prompt mode,同時(shí)出現(xiàn)一個(gè) ok ..
這時(shí)請(qǐng)輸入 boot -s 以進(jìn)入單人模式
2. 選擇 sh
進(jìn)入單人模式后,系統(tǒng)會(huì)詢問(wèn)你要使用那個(gè) sh,內(nèi)定是 /bin/sh ,就使用這個(gè)吧,直接按 enter 跳過(guò)
3. 將所有的硬盤分割架起來(lái)
# mount -a
4. 更改密碼
# passwd
長(zhǎng)度要在 6 個(gè)以上,輸入二次
5. 重新激活
# reboot
20、 有關(guān) kernel 的激活..
kernel 對(duì) unix-like 系統(tǒng)來(lái)說(shuō),是非常重要的一環(huán),如果 kernel 損壞或編譯出了問(wèn)題,可能會(huì)導(dǎo)致嚴(yán)重的后果..
FreeBSD 一向以安全著稱,在這方面有什么防護(hù)的措施呢?
FreeBSD 的 kernel 是放在 / 目錄下,一般會(huì)有二個(gè)
kernel
kernel.GENERIC
如果你有編譯過(guò)核心(kernel)的話,則原先的 kernel 會(huì)轉(zhuǎn)換成 kernel.old,新的核心會(huì)變成 kernel,也就是在 / 下的 kernel 檔案如下:
kernel => 新編譯過(guò)的核心
kernel.GENERIC
kernel.old => 原先的核心
那 kernel.GENERIC 是什么呢,這個(gè)是系統(tǒng)安裝時(shí)所裝好的,一般都不會(huì)變動(dòng),即使編譯過(guò)核心亦然,這個(gè)檔案可說(shuō)是救命核心,最好不要亂動(dòng),理由如下所言..
FreeBSD 激活時(shí),會(huì)使用 kernel 這個(gè)核心,如果這個(gè)檔案不存在,則會(huì)抓 kernel.old 這個(gè)檔案..
如果這二個(gè)檔案不幸都不在,那怎么辦..這時(shí)則會(huì)進(jìn)入 command prompt mode,你必需自行輸入 kernel 的名稱,如
boot <kernel 名稱> 如
boot kernel.GENERIC
了解以上之后,在編譯核心無(wú)法正常執(zhí)行時(shí),相信各位知道如何處理了..
21、 FreeBSD 在那激活程序..
一般 FreeBSD 激活后會(huì)依序執(zhí)行以下位置的程序..
1. /etc/rc.conf 這個(gè)檔案內(nèi)的程序,如 sendmail、sshd .. 都是在此執(zhí)行,另外要注意的是,在執(zhí)行這個(gè)檔案之前,會(huì)先參考 /etc/defaults/rc.conf 的設(shè)定
2. /usr/local/etc/rc.d 下的一些 .sh 檔,這些檔案的權(quán)限都是被設(shè)定成 x ,如 apache samba .. 都是在此設(shè)定
3. /etc/rc.local 這里也可設(shè)定,如我要把 postfix 設(shè)定在此,只需在這個(gè)檔案內(nèi)加一行,如下
/use/local/sbin/postfix start &
加上 & ,就不會(huì)顯示出訊息
4. 由 cron 所控制的一些檔案,當(dāng)時(shí)間到了,便會(huì)自動(dòng)執(zhí)行..
那心細(xì)的人可能會(huì)問(wèn), /etc/inetd.conf 內(nèi)設(shè)定的呢?這些在第 1 項(xiàng)就執(zhí)行了..
了解以上并時(shí)時(shí)注意是否有不明的程序在執(zhí)行(可能是被人植入木馬程序),也是日常檢視系統(tǒng)的重要工作..
22、 加快你的主機(jī)名稱查詢速度..
unix-like 系統(tǒng),初期都是使用 hosts 這個(gè)設(shè)定文件來(lái)做主機(jī)的查詢,因此有些程序在查主機(jī)名稱時(shí),都會(huì)參照這個(gè)設(shè)定檔,像 sendmail 就是一個(gè)很好的例子..
系統(tǒng)內(nèi)定第一個(gè)是會(huì)查 /etc/hosts 這個(gè)檔案,因此如果里面設(shè)定有問(wèn)題,則會(huì)影響到某些程序的執(zhí)行..
典型的 hosts 檔設(shè)定如下..以我本身的主機(jī)來(lái)說(shuō)
127.0.0.1 localhost.cmlab.idv.tw localhost
61.219.230.5 cmlab.idv.tw cmlab
61.219.230.5 cmlab.idv.tw.
其中第一及第二行最后一個(gè)項(xiàng)目是 aliases 名稱(主機(jī)別名),比如我們?cè)谥鳈C(jī)
ping cmlab.idv.tw
和
ping cmlab
是同樣的結(jié)果..
你可把一些常用的主機(jī)加到這個(gè)項(xiàng)目?jī)?nèi),如有一臺(tái) mail.cmlab.idv.tw ,假設(shè) IP 為 61.219.230.8
則在這個(gè) hosts 中加入以下
61.219.230.8 mail.cmlab.idv.tw mail
61.219.230.8 mail.cmlab.idv.tw.
這樣就行了..
另外如果有自行架設(shè) dns server,請(qǐng)注意在 /etc/host.conf 這個(gè)檔案,典型的檔案如下:
# $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
由以上可以看得出來(lái),在查詢主機(jī)名稱時(shí)的順序,是先查 hosts 再查 bind 也就是 dns,你可視你的需要修改其順序..
另外要注意的就是 /etc/resolv.conf 文件,這個(gè)是有關(guān) dns 主機(jī) search 的順序,如以我的設(shè)定如下:
domain cmlab.idv.tw
nameserver 61.219.230.5
nameserver 168.95.1.1
nameserver 168.95.192.1
其中第一行是設(shè)定我的網(wǎng)域名稱,第 2-4 行則是 dns 主機(jī)的設(shè)定,建議至少設(shè)二個(gè)以上,以免一個(gè)掛了,還有個(gè)備用的..
第2行是我的 dns 主機(jī),3-4 行是 hinet 的 dns 主機(jī)..
了解以上并有正確的設(shè)定,是有助于主機(jī)的查詢的及速度的提升..
23、 我要如何分割硬盤..
檔案目錄對(duì)于 FreeBSD (或者是所有 unix-like 系統(tǒng)),都是相當(dāng)重要的,如開(kāi)始時(shí),分割的不是很恰當(dāng),日后就會(huì)遇到一些麻煩,如空間不夠..等問(wèn)題..
那么,我們要如何分割比較恰當(dāng)呢..
這就有關(guān)于你的用途及 FreeBSD 的目錄架構(gòu)了..
一般個(gè)人是建議你如此分割:
1. / 根目錄,一般在 250 ~ 500 MB 絕對(duì)夠用,以我的根目錄來(lái)說(shuō),使用一年多了,也才用了 66 MB 多。因?yàn)檫@個(gè)目錄只是一些 kernel modules sbin bin etc .. 等目錄
2. swap 檔,一般人都不知道如何設(shè)較恰檔,這也沒(méi)一個(gè)標(biāo)準(zhǔn),最主要是要看你的 ram 及硬盤而言,一般設(shè)成 1-2.5 倍(相對(duì)于你的 ram)。如你的 ram 在 256 mb 以上(含),設(shè)成一倍;如在 64 - 128 mb,則建議設(shè)成 2 倍
如要檢查你的 swap 使用狀況,可用以下指令來(lái)看..
# pstat -T
44/4044 files
0M/127M swap space
由以上可看出目前使用的 swap 為 0 ,設(shè)定的大小為 128 M
3. /var 目錄 及 /usr 目錄
這二個(gè)目錄一般都會(huì)占比較大的空間,/var 的變動(dòng)較小,以我個(gè)人來(lái)說(shuō),一年前設(shè)為 8 GB ,在目前只使用了不到 2GB。
但要注意的是一般的 mail 軟件,都是將信件存在 /var/mail/ 中,如果你的信件很多或很大,這個(gè)部份不妨加大一些..
而 /usr 這個(gè)目錄能大就給它大一點(diǎn)的空間,因?yàn)樗?a target="_blank" href="http://www.dbjr.com.cn" class="UBBWordLink">安裝的程序,或是 hone 都是在這個(gè)目錄下(如果你沒(méi)將 home 目錄設(shè)成一個(gè)分割) ..
那這兩個(gè)要如何分配呢,我的建議是 usr 和 var 的比例為 3:1,或是 2:1
4. 有些主機(jī)使用者較多,如學(xué)校單位。如果你沒(méi)將 home 設(shè)成一個(gè) partition,則 FreeBSD 會(huì)將 home 安裝在 /usr 目錄下,如果為了管理及安全問(wèn)題,則不妨將 home 分割為單一目錄..
至于大小,我想應(yīng)該 3-5 GB 左右,就絕對(duì)夠用了
我們來(lái)舉個(gè)實(shí)際例子,假設(shè)你有一顆 40 GB 的硬盤,使用內(nèi)存為 128 MB RAM,那我建議你的硬盤如此分割..
1. / => 250 MB
2. swap => 取 2 倍,即 256 MB
3. /home 如要獨(dú)立出來(lái),給它 3-5 GB
4. 剩下來(lái)的以 3:1 或 2:1 的比例設(shè)給 /usr 及 /var
以上只是一般建議,最重要的是必需了解各目錄的性質(zhì)及實(shí)際使用情況而予以適當(dāng)?shù)姆峙洌嘘P(guān)這方面的信息,不妨參考 man hier ..
25、 簡(jiǎn)單編輯你的文件檔..
在 unix-like 中,標(biāo)準(zhǔn)的文字編輯器是 vi,不過(guò) vi 對(duì)于初學(xué)者而言,并不是很容易上手..
而在 FreeBSD 中使用的是 ee ,這個(gè)文字編輯器,雖功能沒(méi) vi 這么強(qiáng)大,但使用簡(jiǎn)便..新手不妨初期時(shí)使用個(gè)編輯器..
其使用方式很簡(jiǎn)單,只要在 command line 下 ee 即可
# ee <要編輯的檔案>
進(jìn)入 ee 畫(huà)面后,最上方是一些按鍵說(shuō)明,如要取得相關(guān)的 ee 說(shuō)明,可先按 ctrl+c 鍵,再輸入 help,則會(huì)顯示詳細(xì)說(shuō)明
有時(shí)可能只想在一個(gè)檔案內(nèi)加入一小部份的資料,那使用文字編輯器來(lái)處理,就顯得沒(méi)效率,其實(shí)我們可以利用 cat > [檔名]和 cat >> [檔名] 來(lái)做..
那這二個(gè)方式有何差異呢..
cat > [檔名] 時(shí),如果檔案不存在,則會(huì)自動(dòng)產(chǎn)生一個(gè)檔案;如檔案存在則會(huì)將檔案清空..
cat >> [檔名],檔案不存在則自動(dòng)建立此檔,如存在則將所編輯的資料加在檔案的最后..
舉個(gè)例子,如我們要編輯 /etc/mail/access 這個(gè)是 sendmail 的 relay 設(shè)定檔..
想在這個(gè)檔案中加入 192.168.88.5 relay
則可用此方法(假設(shè) access 檔案已存在,故使用 cat >> .. 的方法) ..
# cat >> /etc/mail/access
192.168.88.5 RELAY
按 ctrl+d 存盤
如此則可將 192.168.88.5 relay 加到 access 的最后一行..
不過(guò),建議大家,unix-like 的共通文字編輯器是 vi,有時(shí)間不妨好好的學(xué)一下 vi..
26、 FreeBSD 帳號(hào)及密碼的注意事項(xiàng)
在架完 FreeBSD 后,再來(lái)就是新增人員(使用者)的資料了..
在設(shè)定帳號(hào)時(shí),請(qǐng)注意以下事項(xiàng):
1.其長(zhǎng)度需在 1-16 個(gè)字符
2.使用英文小寫(xiě)字母、數(shù)字及 - _ 符號(hào)
在設(shè)定密碼時(shí),請(qǐng)注意以下事項(xiàng)
1. 密碼可設(shè)可不設(shè),但建議你一定要設(shè)
2. 長(zhǎng)度最好在 6 個(gè)字以上,你知道據(jù)安全專家的說(shuō)法,破解一個(gè)長(zhǎng)度6及長(zhǎng)度4密碼,至少要多花 10 倍的時(shí)間
3. 請(qǐng)勿用你的生日、相關(guān)證照號(hào)碼、電話..等資料,而使用大小寫(xiě)英文字母及混合特殊符號(hào),如 ct!Home-12 就是一個(gè)相當(dāng)不容易破解的密碼
4. 長(zhǎng)度最長(zhǎng)我曾設(shè)到 16 位數(shù)(最大長(zhǎng)度多少,有興趣者可自行試試)
27、 有關(guān)系統(tǒng)的一些激活問(wèn)題..
有時(shí),會(huì)修改 FreeBSD 的一些設(shè)定,如一些網(wǎng)絡(luò)參數(shù)、軟件的 .conf 設(shè)定,或是 /etc/r.conf 檔,那么如何讓設(shè)定值生效,是否一定要重新開(kāi)機(jī)呢?
這可分為三方面來(lái)說(shuō)..
1. 網(wǎng)絡(luò)相關(guān)設(shè)定,如網(wǎng)絡(luò)適配卡、hostname .. 等,只要執(zhí)行以下指令就可以重新加載你的網(wǎng)絡(luò)設(shè)定..
# sh /etc/netstart
netstart 是一個(gè) scrīpt 檔案,執(zhí)行時(shí)會(huì)去參考 /etc/rc.network。因此只要執(zhí)行這個(gè)指令就能夠重新激活網(wǎng)絡(luò)設(shè)定..
有興趣者可參考一下 netstart 及 rc.network 這二個(gè)檔的內(nèi)容,研究看看到底做了些什么東東..
2. 修改了 rc.conf 中其它的設(shè)定
可參考以下三個(gè) step 來(lái)做..
. 進(jìn)入單人模式
# shutdown now
. 選擇 sh,造內(nèi)定值即可,即 /bin/sh
. 離開(kāi)單人模式
# exit
這樣就會(huì)重新激活系統(tǒng)了..
3. 軟件的設(shè)定,如一些 *.conf 檔,像是修正了 apache sendmail .. 等
通常在 /etc/local/rc.d/ 這個(gè)目錄中會(huì)有相關(guān)的 .sh 檔,直接執(zhí)行就可以了,注意的是一般要加上參數(shù),一般的參數(shù)有以下(視軟件而定會(huì)有不同)..
start 激活
stop 停止
reload 或 restart 重新激活
第二種方法就是直接使用 killall,如我們要重新激活 inetd,可用以下方法:
# killall -1 inetd
或是
# killall -HUP inetd
這樣就可以重新激活這個(gè) daemon 了
28、 保護(hù)你的檔案
在系統(tǒng)中,有許多檔案或一些設(shè)定檔是非常重要的,加上 FreeBSD (或是一般 unix-like)系統(tǒng)都沒(méi)有類似 ms 的垃圾回收桶的功能,萬(wàn)一不幸刪掉(或修改)某個(gè)重要的檔案,可能會(huì)造成不小的困擾..
雖然,F(xiàn)reeBSD 對(duì)于檔案的權(quán)限設(shè)定的非常嚴(yán)密,但有些時(shí)候,我們以 root 身份工作,仍會(huì)有此風(fēng)險(xiǎn)..
那要如何避免這種情形發(fā)生或是保護(hù)某些重要的檔案呢?
我們可以用 chflags 來(lái)達(dá)成這個(gè)目的,顧名思義, chflags 是由二個(gè)字所組成,即 change 和 flags(檔案的旗標(biāo))..
例如我們要保護(hù) /etc/inetd.conf 這個(gè)檔案,以免誤刪或被修改,則指令如下:
# chflags schg /etc/inetd.conf
這樣就可以保護(hù)這些檔案,如要顯示這些檔案的旗標(biāo)(flag),可用 ls 來(lái)看..
# ls -lo /etc/inetd.conf => l 是小寫(xiě)的 L
-rw------- 1 root wheel schg 47 Mar 28 21:29 inetd.conf
要解除旗標(biāo)設(shè)定,可用 unschg,也就是在 schg 前加 un ,如:
# chflags unschg /etc/inetd.conf
大部份我們進(jìn)入主機(jī)都是以 root 身份執(zhí)行,因此稍不小心,可能就..因此建議將一些重要的檔案及設(shè)定檔設(shè)定為 schg flags,以保護(hù)檔案..
如 /bin、 /sbin、 /etc/.conf、 /usr/lcaol/etc/*.conf .. 這些檔案最好都是定成 schg 旗標(biāo)..
chflags 詳細(xì)用法請(qǐng)參考 man chflags..
29、 談?wù)勡浖?a target="_blank" href="http://www.dbjr.com.cn" class="UBBWordLink">安裝路徑..
FreeBSD 對(duì)于檔案目錄的觀念非常重,什么樣的檔案要放在那個(gè)目錄都有規(guī)定,這也是有別于其它 unix-like 系統(tǒng)..
一般我們將軟件安裝分成二個(gè)部份,在這里來(lái)探討一下軟件到底都安裝到那去了..
在安裝軟件時(shí),通常會(huì)安裝諸如 執(zhí)行檔、設(shè)定檔、man file、doc 文件..
1. 安裝系統(tǒng)時(shí)所安裝的軟件
執(zhí)行檔通常裝在 /bin、/sbin、/usr/bin、/usr/sbin、/usr/libexec 下
設(shè)定文件通在在 /etc 目錄下
man file 通常在 /usr/man 或 /usr/share/man
doc 文件通常在 /usr/share/doc 下
2. 經(jīng)由 package 或 port 安裝的軟件
執(zhí)行檔通常裝在 /usr/local/bin、/usr/local/sbin、/usr/local/libexec 下
設(shè)定文件通在在 /use/local/etc 目錄下
man file 通常在 /usr/local/man ..
doc 文件通常在 /usr/share/doc 下
以上并不是絕對(duì)的(所以我用通常..^.^),因?yàn)橛行┨厥馇闆r需視軟件而定..
如此有時(shí)可能會(huì)造成些許困擾,因?yàn)槿?ssh 、 bind .. 大多是在系統(tǒng)安統(tǒng)時(shí)就安裝的,那如果升級(jí)新版時(shí)怎么辦..
由于 FreeBSD 找尋執(zhí)行檔時(shí)會(huì)依照 $PATH 這個(gè)環(huán)境變量找尋,因?yàn)?/bin、/sbin、/usr/bin、/usr/sbin 比 /usr/local/bin 或 /usr/local/sbin 先,所以會(huì)先執(zhí)行..也就是先抓到舊版的執(zhí)行檔..
因此在更新時(shí)要注意這種情況,以免更新了還是執(zhí)行舊的程序..
那么如何看安時(shí)程序時(shí)的相關(guān)檔案的安裝路徑呢?通常有以下方法
1. 看 port 的 pkg-plist 檔
2. 有時(shí)用 man [執(zhí)行檔名稱] 可看到一些重要檔案的位置
3. 看說(shuō)明文件,通常在 /usr/local/share/doc 目錄下
30、 如何在 FreeBSD 同一片網(wǎng)硌卡加一個(gè) ip 地址
有的時(shí)候,需要在同一片網(wǎng)絡(luò)卡上加 ip 以達(dá)到一些特殊的要求..
在 FreeBSD 這是非常簡(jiǎn)單的,假設(shè)原先網(wǎng)絡(luò)卡的 ip 是 211.211.211.211,想加一個(gè) 211.211.211.212,使用的是 rl0 這片網(wǎng)絡(luò)卡,則做法如下..
1. 在 /etc/rc.conf 加上這一行
ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"
其中的 alias0 就是加裝的第一個(gè) ip,如要設(shè)定多個(gè)可在此修正,如 alias1、alias2.. aliasN
2. 重新激活網(wǎng)絡(luò)卡,執(zhí)行 /etc/netstart
# /etc/netstart
31、 簡(jiǎn)單的加密你的資料
在實(shí)務(wù)上我們常需要將某些敏感的資料加密,一般我們可使用 pgp 或在這里所介紹的 crypt 來(lái)達(dá)到這個(gè)功能..
crypt 是透過(guò) | 這個(gè)管道轉(zhuǎn)換功能及密碼設(shè)定來(lái)達(dá)成加密的功能,也就是說(shuō)將你所設(shè)的密碼當(dāng)做加密產(chǎn)生的種子隨機(jī)數(shù)..
先說(shuō)明一下 crypt 的使用方法:
crypt [-s] [-k] [password]
一般 -s 及 -k 參數(shù)可不予理會(huì),password 是加密或解密的密碼
在這里假設(shè)我們先產(chǎn)生一個(gè) test.txt 檔,內(nèi)容為 test,然后用 1234 這個(gè)密碼加密
# cat > test.txt
test
按 ctrl+d 存盤
先看看 test.txt 內(nèi)容
# more test.txt
test
將 test.txt 這個(gè)檔案用 1234 這個(gè)密碼加密,需配合管道 | 及轉(zhuǎn)向符號(hào)使用,加密后的文件名稱為 test2.txt
# cat test.txt | crypt 1234 > test2.txt
如此則會(huì)產(chǎn)生一個(gè)加密后的檔案 test2.txt,另外密碼可先不輸入,按 enter 鍵后會(huì)顯示 enter key: 讓你輸入密碼
我們來(lái)看看加密后的檔案內(nèi)容,原先是 test 結(jié)果變成了:
# more test2.txt
e<A8>&<A7>h => 已經(jīng)不是原來(lái)的 test
接著來(lái)將 test2.txt 解開(kāi),如下,假設(shè)解開(kāi)后的檔名為 test3.txt:
# cyrpt 1234 < test2.txt > test3.txt
以上的意思是
1234 加密時(shí)的密碼
< test2.txt 將加密的檔案轉(zhuǎn)給 crypt 處理
> test3.txt 解密后的資料轉(zhuǎn)向到 test3.txt
再顯示 test3.txt 的內(nèi)容是否和原來(lái)一樣,即 test
# more test3.txt
test
PS:
1. 加密或解密時(shí)檔名如和源文件一樣,則會(huì)將原來(lái)的檔案取代
2. 另有一個(gè)指令 enigma 和 crypt 用法完全一樣
參考資料 man crypt
32、用 telnet 簡(jiǎn)測(cè)你的服務(wù)器(Server)有無(wú)在跑
有時(shí)你可以用 telnet 測(cè)試你的 Server 有無(wú)正常的 run
例如:我要查看 ftpd 有無(wú)在跑
可下指令:# telnet localhost 21
若跑出類似以下的訊息, 表示有在跑
--------------------------------
Trying 127.0.0.1...
Connected to localhost.ahkun.
Escape character is '^]'.
220-=(<*> )=-.:. (( Welcome to PureFTPd 1.0.11 )) .:.-=(<*> )=-
220-You are user number 1 of 50 allowed
220-Local time is now 18:52 and the load is 0.06. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
若跑出以下的訊息, 表示沒(méi)在跑
------------------------------------------------
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
同理你也可以用:
telnet localhost 25 測(cè) stmpd
telnet localhost 110 測(cè) pop3d
結(jié)論:
正確來(lái)講是用 telnet 測(cè) port 啦~
33、 如何防止別人登錄到你的計(jì)算機(jī)
有時(shí),我們并不想讓別人直接登入到我們的主機(jī)或是只想限定某些人可使用,如 telnet、ssh..
或者是開(kāi)放了些服務(wù),如 ftp、smtpd ..等,由于這些都必需在主機(jī)端建有帳號(hào),因此防止不相干的人登入到你的主機(jī)是非常重要的,也是一個(gè)安全上的考量..
但一般限定的方式都是使用 ip 或是 domain 的方式,那么有無(wú)方法可解決這個(gè)問(wèn)題呢?
答案是可從 /etc/login.access 來(lái)著手,這個(gè)檔案就是限定 login 的..
一個(gè)典型的設(shè)定如下,例如我們想限定只有 root 及 使用者 john 可登入到主機(jī)(含local 及 remote):
-:ALL EXCEPT root john:ALL
可分為三個(gè)項(xiàng)目,每個(gè)項(xiàng)目間以 : 分隔,說(shuō)明如下:
1. + 或 - 代表允許或禁止
2. 設(shè)定的使用者或群組,可用 ALL EXCEPT 來(lái)強(qiáng)化限定的范圍
3. 限定的來(lái)源,如 ALL 代表全部、61.219.230. 、LOCAL、console、.bad.com ..等
適當(dāng)?shù)脑O(shè)定,可讓你的系統(tǒng)更加的安全..
詳細(xì)用法可 man login.access..
34、 一個(gè) ./ 的技巧
眾所周知,在 nix-like 中執(zhí)行目前目錄中的可執(zhí)行文件時(shí),必需加上 ./ 這二個(gè)符號(hào),很多 unix-like 的初學(xué)者都會(huì)感覺(jué)較不習(xí)慣,因?yàn)樵?dos 或 windows 的 dos 窗口中并不是如此..
其實(shí)在 unix-like 中如此設(shè)定是有其安全考量的,在使用指令或執(zhí)行文件時(shí),一般是建議使用完整的目錄,例如要使用 ls,則如下:
# /bin/ls
當(dāng)然,你直接輸入 ls 亦可正確的執(zhí)行,這是因?yàn)槟闼褂玫?shell 中環(huán)境變量 $PATH 的因素..
你可鍵入 echo $PATH,來(lái)看目前 $PATH 的設(shè)定,當(dāng)我們執(zhí)行一個(gè)指令時(shí),系統(tǒng)會(huì)依照這個(gè)環(huán)境變量來(lái)搜尋這個(gè)執(zhí)行檔并加以執(zhí)行..
內(nèi)定 shell 不會(huì)將目前目錄 . 加到 $PATH 中,因此如果你想在目前目錄執(zhí)行這個(gè)目錄下的執(zhí)行文件而不想加上 ./ 時(shí),可在你的 shell 中將 . 加入..
如一般在 FreeBSD 都是使用 tcsh,你可編輯個(gè)人 home 目錄下的 .cshrc 檔 set path = ( ........ ,在此加入 . 即可..
記得重新退出 shell 再登錄,以便讓你的新設(shè)定生效.
35、在提示列秀出 [使用者]目前工作目錄 (可以少打很多次pwd)
# cd /root
編輯 .cshrc
# set prompt="'hostname -s'# " ### 找到這一行并 mark 起來(lái)
set prompt = "[%n]%/# " ### 新增此行并存盤離開(kāi)
# logout
login: root ....重新登入
ps.其它user id 是否可照辦? 我還沒(méi)試過(guò)哩..剛裝freebsd而已
36、rm 是 DEL 一個(gè)檔案
rm -r 是 DEL 整個(gè)目錄
37、介紹一些一些有用的參數(shù)(注意大小寫(xiě))..
%B 代表高亮度
%n 代表用者名稱
%m 主機(jī)名稱
%/ 目前的目錄
一般我們可能比較在意以上幾點(diǎn),如我要管理好幾臺(tái) FreeBSD 主機(jī),那么以上幾個(gè)參數(shù)就很重要了..
舉個(gè)實(shí)例來(lái)說(shuō),如我想把我的 prompt 改成這樣,而且要高亮度顯示:
使用者名稱@主機(jī)名稱[目錄名稱]>
則 prompt 的設(shè)定應(yīng)該是這樣的..
set prompt = "%B%n@%m[%/]> "
注意 = 左右都要有一個(gè)空白,否則會(huì)出錯(cuò),導(dǎo)致無(wú)法登入,另外如果要統(tǒng)一所有使用者的 prompt 的話,除了更改 /home/使用者/.cshrc 外,最好也在 /etc/csh.cshrc 中設(shè)定這一行,另外如要新增新用者也用這種提示,則請(qǐng)?jiān)?/usr/share/skel/dot.cshrc 中也加上(或改成)這一行,這是因?yàn)椋?
tcsh 在使用時(shí)會(huì)先參考 /etc/csh.cshrc 這個(gè)檔案,再依 user 去抓其 home 目錄下的 .cshrc,而設(shè)定 /usr/share/skel/dot.cshrc 是讓你新使用者時(shí),自動(dòng)將其 prompt 設(shè)定成 set prompt = "%B%n@%m[%/]> "
這種設(shè)法,當(dāng)你在管理多臺(tái)主機(jī)及切換目錄時(shí),就不易搞錯(cuò)而發(fā)生一些慘劇
相關(guān)文章
Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié)
這篇文章主要介紹了Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié),需要的朋友可以參考下2023-05-03- 一些朋友問(wèn)小編FreeBSD如何添加硬盤?別擔(dān)心,今天小編就為大家分享FreeBSD添加硬盤的方法,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-06
- 今天小編為大家?guī)?lái)的是Freebsd PF 安裝使用詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-06
FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?
最近一些朋友問(wèn)小編 FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?今天小編要為大家?guī)?lái)的是 FreeBSD下zfs: failed with error 6錯(cuò)誤的解決方法,有需要的朋友一起去看2017-04-06Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解
今天小編要為大家?guī)?lái)的是Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-01- 今天小編將為大家?guī)?lái)的是Unix中的dot命令詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧2017-03-22
freebsd時(shí)間設(shè)置小節(jié)詳解
近日!一些朋友對(duì)于freebsd時(shí)間設(shè)置小節(jié)存在疑慮!下面小編將為大家?guī)?lái)的是freebsd時(shí)間設(shè)置小節(jié)詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧2017-03-19- 今天小編要為大家?guī)?lái)的是grub2引導(dǎo)freebsd詳解!希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-03-19
- 下面小編為大家?guī)?lái)的是FreeBSD10安裝內(nèi)核源代碼方法講解!希望能夠幫助到大家!有需要的朋友一起去看看吧2017-03-19
FreeBSD下如何使GraphicsMagick支持中文字體?
最近一些朋友在問(wèn)FreeBSD下如何使GraphicsMagick支持中文字體?今天小編為大家?guī)?lái)的是FreeBSD下使GraphicsMagick支持中文字體的方法!有需要的朋友一起去看看吧2017-03-15