星期二, 7月 24, 2007

在提示列秀出 [使用者]目前工作目錄

在提示列秀出 [使用者]目前工作目錄 (可以少打很多次pwd)

# cd /root
編輯 .cshrc

# set prompt="'hostname -s'# " ### 找到這一行並 mark 起來
set prompt = "[%n]%/# " ### 新增此行並存檔離開

# logout

login: root ....重新登入

ps.其他user id 是否可照辦? 我還沒試過哩..剛裝freebsd而已

再介紹一些一些有用的參數(注意大小寫)..

%B 代表高亮度
%n 代表用者名稱
%m 主機名稱
%/ 目前的目錄

一般我們可能比較在意以上幾點,如我要管理好幾台 FreeBSD 主機,那麼以上幾個參數就很重要了..

舉個實例來說,如我想把我的 prompt 改成這樣,而且要高亮度顯示:

使用者名稱@主機名稱[目錄名稱]>

則 prompt 的設定應該是這樣的..

set prompt = "%B%n@%m[%/]> "

注意 = 左右都要有一個空白,否則會出錯,導致無法登入,另外如果要統一所有使用者的 prompt 的話,除了更改 /home/使用者/.cshrc 外,最好也在 /etc/csh.cshrc 中設定這一行,另外如要新增新用者也用這種提示,則請在 /usr/share/skel/dot.cshrc 中也加上(或改成)這一行,這是因為:

tcsh 在使用時會先參考 /etc/csh.cshrc 這個檔案,再依 user 去抓其 home 目錄下的 .cshrc,而設定 /usr/share/skel/dot.cshrc 是讓你新使用者時,自動將其 prompt 設定成 set prompt = "%B%n@%m[%/]> "

這種設法,當你在管理多台主機及切換目錄時,就不易搞錯而發生一些慘劇..
Read rest of entry

一個 ./ 的技巧

一個 ./ 的技巧

眾所週知,在 nix-like 中執行目前目錄中的可執行檔時,必需加上 ./ 這二個符號,很多 unix-like 的初學者都會感覺較不習慣,因為在 dos 或 windows 的 dos 視窗中並不是如此..

其實在 unix-like 中如此設定是有其安全考量的,在使用指令或執行檔時,一般是建議使用完整的目錄,例如要使用 ls,則如下:

# /bin/ls

當然,你直接輸入 ls 亦可正確的執行,這是因為你所使用的 shell 中環境變數 $PATH 的因素..

你可鍵入 echo $PATH,來看目前 $PATH 的設定,當我們執行一個指令時,系統會依照這個環境變數來搜尋這個執行檔並加以執行..

內定 shell 不會將目前目錄 . 加到 $PATH 中,因此如果你想在目前目錄執行這個目錄下的執行檔而不想加上 ./ 時,可在你的 shell 中將 . 加入..

如一般在 FreeBSD 都是使用 tcsh,你可編輯個人 home 目錄下的 .cshrc 檔 set path = ( ........ ,在此加入 . 即可..

記得重新退出 shell 再登錄,以便讓你的新設定生效..
Read rest of entry

如何防止別人登錄到你的電腦

如何防止別人登錄到你的電腦

有時,我們並不想讓別人直接登入到我們的主機或是只想限定某些人可使用,如 telnet、ssh..

或者是開放了些服務,如 ftp、smtpd ..等,由於這些都必需在主機端建有帳號,因此防止不相干的人登入到你的主機是非常重要的,也是一個安全上的考量..

但一般限定的方式都是使用 ip 或是 domain 的方式,那麼有無方法可解決這個問題呢?

答案是可從 /etc/login.access 來著手,這個檔案就是限定 login 的..

一個典型的設定如下,例如我們想限定只有 root 及 使用者 john 可登入到主機(含local 及 remote):

-:ALL EXCEPT root john:ALL

可分為三個項目,每個項目間以 : 分隔,說明如下:

1. + 或 - 代表允許或禁止

2. 設定的使用者或群組,可用 ALL EXCEPT 來強化限定的範圍

3. 限定的來源,如 ALL 代表全部、61.219.230. 、LOCAL、console、.bad.com ..等

適當的設定,可讓你的系統更加的安全..

詳細用法可 man login.access..
Read rest of entry

如何在 FreeBSD 同一片網硌卡加一個 ip 位址

如何在 FreeBSD 同一片網硌卡加一個 ip 位址

有的時候,需要在同一片網路卡上加 ip 以達到一些特殊的要求..

在 FreeBSD 這是非常簡單的,假設原先網路卡的 ip 是 211.211.211.211,想加一個 211.211.211.212,使用的是 rl0 這片網路卡,則做法如下..

1. 在 /etc/rc.conf 加上這一行

ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"

其中的 alias0 就是加裝的第一個 ip,如要設定多個可在此修正,如 alias1、alias2.. aliasN

2. 重新啟動網路卡,執行 /etc/netstart

# /etc/netstart

這樣你的網路設定就生效了..



嗯~手癢補充一下~
這個部份(netmask 255.255.255.255), 好像是同網段才如此設
若不同網段該是如此吧?(netmask 255.255.255.0)
例如:172.16.5.120 需設為:
ifconfig_rl0_alias0="inet 172.16.5.120 netmask 255.255.255.0"
Read rest of entry
有關系統的一些啟動問題..

有時,會修改 FreeBSD 的一些設定,如一些網路參數、軟體的 .conf 設定,或是 /etc/r.conf 檔,那麼如何讓設定值生效,是否一定要重新開機呢?

這可分為三方面來說..

1. 網路相關設定,如網路介面卡、hostname .. 等,只要執行以下指令就可以重新載入你的網路設定..

# sh /etc/netstart

netstart 是一個 script 檔案,執行時會去參考 /etc/rc.network。因此只要執行這個指令就能夠重新啟動網路設定..

有興趣者可參考一下 netstart 及 rc.network 這二個檔的內容,研究看看到底做了些什麼東東..

2. 修改了 rc.conf 中其它的設定

可參考以下三個 step 來做..

. 進入單人模式
# shutdown now

. 選擇 sh,造內定值即可,即 /bin/sh

. 離開單人模式
# exit

這樣就會重新啟動系統了..

3. 軟體的設定,如一些 *.conf 檔,像是修正了 apache sendmail .. 等

通常在 /etc/local/rc.d/ 這個目錄中會有相關的 .sh 檔,直接執行就可以了,注意的是一般要加上參數,一般的參數有以下(視軟體而定會有不同)..

start 啟動
stop 停止
reload 或 restart 重新啟動

第二種方法就是直接使用 killall,如我們要重新啟動 inetd,可用以下方法:

# killall -1 inetd

或是

# killall -HUP inetd

這樣就可以重新啟動這個 daemon 了
Read rest of entry

FreeBSD加快你的主機名稱查詢速度..

加快你的主機名稱查詢速度..

unix-like 系統,初期都是使用 hosts 這個設定檔來做主機的查詢,因此有些程式在查主機名稱時,都會參照這個設定檔,像 sendmail 就是一個很好的例子..

系統內定第一個是會查 /etc/hosts 這個檔案,因此如果裏面設定有問題,則會影響到某些程式的執行..

典型的 hosts 檔設定如下..以我本身的主機來說

127.0.0.1 localhost.cmlab.idv.tw localhost
61.219.230.5 cmlab.idv.tw cmlab
61.219.230.5 cmlab.idv.tw.

其中第一及第二行最後一個項目是 aliases 名稱(主機別名),比如我們在主機

ping cmlab.idv.tw



ping cmlab

是同樣的結果..

你可把一些常用的主機加到這個項目內,如有一台 mail.cmlab.idv.tw ,假設 IP 為 61.219.230.8

則在這個 hosts 中加入以下

61.219.230.8 mail.cmlab.idv.tw mail
61.219.230.8 mail.cmlab.idv.tw.

這樣就行了..

另外如果有自行架設 dns server,請注意在 /etc/host.conf 這個檔案,典型的檔案如下:

# $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

由以上可以看得出來,在查詢主機名稱時的順序,是先查 hosts 再查 bind 也就是 dns,你可視你的需要修改其順序..

另外要注意的就是 /etc/resolv.conf 檔,這個是有關 dns 主機 search 的順序,如以我的設定如下:

domain cmlab.idv.tw
nameserver 61.219.230.5
nameserver 168.95.1.1
nameserver 168.95.192.1

其中第一行是設定我的網域名稱,第 2-4 行則是 dns 主機的設定,建議至少設二個以上,以免一個掛了,還有個備用的..

第2行是我的 dns 主機,3-4 行是 hinet 的 dns 主機..

了解以上並有正確的設定,是有助於主機的查詢的及速度的提升..
Read rest of entry

FreeBSD忘了 root 密碼

忘了 root 密碼

如果你忘了 root 的密碼怎麼辦,這在 FreeBSD 中滿好解決的,請照以下 steps 來處理..

1. 進入單人模式

開機後,當出現

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 10 seconds...

按 space(或除了 enter 以外的鍵) 鍵則會進入 command prompt mode,同時出現一個 ok ..

這時請輸入 boot -s 以進入單人模式

2. 選擇 sh

進入單人模式後,系統會詢問你要使用那個 sh,內定是 /bin/sh ,就使用這個吧,直接按 enter 跳過

3. 將所有的硬碟分割架起來

# mount -a

4. 更改密碼

# passwd

長度要在 6 個以上,輸入二次

5. 重新啟動

# reboot


好了,你的密碼已重新設定了..
Read rest of entry

FreeBSD用 dig 及 host 來取代 nslookup

用 dig 及 host 來取代 nslookup

一般我們用來檢查網路是否有問題,大多是用以下三個指令..

nslookup
ping
traceroute

其中 nslookup 是用來檢查 dns 的相關設定, ping 用來檢查自己和對方網路是否通順,而 traceroute 則是用來檢查從自己的電腦到對方的電腦所經過的線路狀況..

不過以 nslookup 而言,個人覺得不是很實用,有時我們只是想單純的查一下某台主機或是 MX 記錄,那使用 nslookup 就有點嚕嗦了..

在此介紹二個好用的指令 host 及 dig,這二個指令很類似,不過效率較 nslookup 高

# host -a <主機名稱> 或

=> 輸入主機名稱顯示 dns 正向解析的部份,輸入 ip 則是顯示反向(ptr)

# dig <主機名稱或ip>

如要顯示 MX 記錄

# dig 主機名稱 mx

個人是覺得比 nslookup 方便多了,你覺得呢.. ^.^

當然功能不只這些,詳情請 man dig 或 host..
Read rest of entry

FreeBSD如何清空檔案內容..

如何清空檔案內容..

有時我們需將一個檔案內容清空,但需保留這個檔案..

一般常見的用法是用文字編輯器,如 vi 將這個檔案叫出來,再將其內容全部刪掉,再存檔..

這樣是不是有些煩呢?

有一個更好的方法,使用 true 指令..

如我們要將 /var/log/httpd-access.log 清空,則下以下指令..

# cd /var/log/
# true > httpd-access.log
Read rest of entry
有關時間及時區的調校

使用 FreeBSD 大多是拿來當做主機使用,那時間及時區的正確與否就非常重要了,以下介紹如何調整時間及時區

● 時間調整方法

1. 使用 date 指令

格式 date [yymmdd]HHMM
說明:
yy 年數,如 02 代表 2002 年
mm 月份 01-12
dd 日數 01-31
HH 時數 01-59
MM 分鐘 01-59

yy mm dd 皆可省略

例:

調整日期為 2002-03-25
# date 022325

調整時間為 14:20
# date 1420

2. 使用對時主機

# ntpdate clock.stdtime.gov.tw

這項需能連上網路,其中 clock.stdtime.gov.tw 是一標準時間的主機

● 時區的設定

1. 使用 tzsetup

2. 在 /etc/ 下有個檔案 localtime,這個就是本機的時區設定檔案,因此我們可用個取巧方式(不經由 tzsetup),如以下:

# cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime

這樣是不是比較快呢..
Read rest of entry

FreeBSD一些 console 下使用的快速鍵..

一些 console 下使用的快速鍵..
相信大多使用 unix-like 的使用者,還是在 console 下執行你的日常維護工作吧,那有那些按鍵組合可幫我們提高效率呢..

以下按鍵皆適用於 tcsh 及 bash..
1. 快速移動游標
ctrl+a -> 到最前面
ctrl+e -> 到最後面
2. 編輯方面
ctrl+d -> 刪除游標所在字元
ctrl+w -> 刪除游標所在字前面的字元
ctrl+u -> bash:將游標前所有的字及字元刪掉,tcsh:刪除所有字
ctrl+k -> 將游標後所有字元刪掉
ctrl+b -> 下個字元
ctrl+f -> 前一個字元
ctrl+m -> 和按下 enter 的結果一樣
ctrl+h -> 和按下 del 或 backspace 鍵一樣
del 或 backspace -> 刪除前一個字元
如果對按鍵有研究興趣者,不彷參考 /usr/share/syscons/keymaps/ 這個目錄,其中 us.iso.kbd 是一般我們使用的按鍵..
Read rest of entry

FreeBSD 使用 pw 來管理你的帳號

使用 pw 來管理你的帳號
在 FreeBSD 下使用 adduser 來新增帳號,有些時會滿煩的,可用以下方式:

pw useradd -n -g -m -s /bin/csh
=> -m 代表建立使用者目錄
●同時設密碼
echo pw useradd -n -g -m -s /bin/csh -h 0
● 刪除帳號 pw userdel -n -r
=> -r 代表同時刪除其 home 目錄等相關資料
● 修改帳號 pw usermod -g -s /bin/csh
PS:無法修改帳號名稱
● lock 及 unlock 使用者帳號
pw lock
pw unlock
Read rest of entry

星期四, 7月 19, 2007

OpenBSD安裝完後的設定

安裝完OpenBSD後,因為都是拿來做防火牆,因此在工作上通常會做一些設定:
1、設定sudo
#visudo
尋找#%wheel ALL=(ALL) NOPASSWD: ALL
將前面的#刪除(用游標移到#上面按x)
:wq 離開並儲存設定

2、新增帳號並加入管理群組
#adduser 帳號
加入wheel群組

**修改/etc/rc.conf.local 以便打開PF(防火牆)
1、如無/etc/rc.conf.local
輸入以下命令來產生
#touch /etc/rc.conf.local
2、加入
ntpd_flags=""
pf=YES

**修改NTP Server的位址
修改/etc/ntpd.conf
輸入server 172.31.x.x
確認listen on * 沒有被mark
將#刪除

**打開packet forwarding 功能與CARP
在/etc/sysctl.conf中輸入
net.inet.ip.forwarding=1
net.inet.carp.preempt=1
net.inet.carp.arpbalance=1(若要針對CARP做負載平衡)

vi /etc/resolv.conf
lookup flie bind
nameserver 168.95.1.1

vi /etc/mygate
x.x.x.x

vi /etc/mail/aliases
root: xxx@xxxxx.com
wq離開


設定網卡ip
vi hostname.vr0
inet 172.31.x.x 255.255.0.0 NONE
!route add -net 10.1.x.0/24 172.31.x.x

vi hostname.carp0
inet 172.31.x.x 255.255.0.0 172.31.255.255 vhid 1 advskew 100 pass aaa

**設定pfsync經由將二個防火牆的狀態同步,以便達到服務不中斷
在二個防火牆加入下列
hostname.pfsync0
up syncdev vr0

**有用的工具pfctl和pftop
檢查pf.conf的文法是否有問題
#pfctl -nf pf.conf

載入pf.conf並使其立即生效
#pfctl -f pf.conf

列出防火牆的狀態
#pfctl -s all


pftop以表列的方式列出防火牆的狀態,按h會列出可用的按鍵及其說明

pftop為一個另行安裝的套件,並不含在基本安裝裡,可用以下命令安裝
#pkg_add -v
http://openbsd.cc.ntu.edu.tw/pub/OpenBSD/x.x/packages/i386/pftop-y.y.tgz

x.x 為OpenBsd的版本
y.y 為pftop的版本

詳細說明可參考man pfctl 和man pftop
Read rest of entry

星期一, 7月 09, 2007

find指令

用find找檔案大小
find /var -size +10000000c -print
查找/var下大於10M的文件
Read rest of entry

maillog太大了

當/var/log/maillog太大時
maillog 檔案是可以刪除,但是請注意一般的 mailog 通常都是程式透過 syslog 服務來提供資訊紀錄。若是你刪除該檔案的話,請注意到因為該檔案已經開啟讀寫中,砍掉後該檔案並不會自動建立,除非你重新把 syslog daemon 重新啟動過 ( or 發送 SIGHUP ) 後,maillog 檔案才會產生。 一般真的要把檔案佔用空間清除的話,通常清空檔案就好,像是使用:
代碼:
true > filename
而另外實務上,請多利用 logrotate 來管理 log 檔案整理,這樣會是比較完備的管理策略。
Read rest of entry
 

Recommended Product

  • ads
  • ads
  • ads
  • ads
  • ads
  • ads
  • ads
  • ads

How to Order?

My Blog List

喜歡不一定擁有 Copyright © 2009 Shopping Bag is Designed by Ipietoon Sponsored by Online Business Journal