2012年3月29日 星期四

freebsd 下的 toor 帳號

參考官方手冊 13.5章節 http://www.freebsd.org/zh/FAQ/security.html

13.5. 我發現了這個 UID 0 toor 帳號,這是什麼 碗糕?我被黑掉了嗎?
放心。toor 是一個 “alternative” 管理者帳號 (toor 是 root 的轉向拼法)。 以往是跟隨 bash(1) 安裝而建制的,後來則成為系統內定建制的一 個帳號。這個帳號將伴隨一個非標準的 shell 測試使用, 讓你不需要去 更改到 root 的內建 shell。因為這些其他的 shell 並沒有跟隨系統預設值安裝 (舉例來說,某些由 ports 安裝的 shell package),而被內定安裝在 /usr/local/bin 目錄下,有可能存在不同的檔案系統中。 倘若 root 的 shell 被放在 /usr/local/bin,且 /usr (或是其他包含著 /usr/local/bin 這個子目錄的檔案系統) 因為某些原因並沒有被正常的 mount 起來的話,root 將無法正常的登入系統進行維修 (雖然說你重開機成單人模式就會問你要 載入哪個 shell)。
有些人使用 toor 帳號進行每日的 root 維護工作,如此可以使用非標準的 shell,而 root 可以保留標準 shell, 以因應單一使用者模式 (single user mode) 或緊急狀況處理。 依照系統內定值,你將無法使用 toor 登入, 因為這個帳號尚未更改密碼設定。因此你如果你想啟動這個帳號,你需要 使用 root 登入系統並且修改 toor 的密碼。

2012年3月27日 星期二

win xp 下 route 指令

 http://w-type.blogspot.com/2007/09/windows-xp-route.html


Route print 用來顯示路由表

此例中實際只安裝ㄧ片網路卡,此路由表中的幾個欄位:

Network Destination
表示路由的網路目的地,可以是 IP 網段或IP位址。

Netmask
表示子網路遮罩,用來配合 Network Destination 的運算。

Gateway
是封包欲送往的 IP 位址,如果目的 IP 位址與 Netmask AND 邏輯運算,剛好與 Network Destination 相同,封包就會送到此 Gateway IP 位址。

Interface
是此電腦送出封包的 IP 位址。

Metric
則是傳送成本的參考數字,通常與網路連接速度有關,Windows XP 本身有自動計算 Metric 的能力,以本表中範例而言100Mbps 的網路速度 Metric 設為 20,迴路(loopback)的 Metric 設為 1,越低的 Metric 表示速度越快。
接著針對每一筆路由表作說明:

1.
第一筆(Network Destination0.0.0.0 .... )是預設路徑(default route),只要路由表找不到傳送路徑的封包,最後都會由會交由預設路徑傳送,因為不論是什麼 IP 位址與 0.0.0.0 的網路遮罩作 AND 運算,結果都是 0.0.0.0,因此封包會被傳送到 192.168.1.1 此一Gateway

2.
第二筆(Network Destination127.0.0.1 ... )是迴路路徑,因此所有要傳送到 127.x.x.x 的封包最候都會送到 127.0.0.1 IP 位址,也就是電腦自己。

3.
第三筆(Network Destination192.168.1.0)是電腦目前所處的網段路徑,所有要送到 192.168.1.0 都封包都直接由電腦本身 192.168.1.3 IP 送出,不需透過其他路由器。

4.
第四筆(Network Destination192.168.1.3)是電腦本身的 IP 位址,所以要把封包送給自己,就直接送到 127.0.0.1 這個內部IP位址。

5.
第五筆(Network Destination192.168.1.255)是電腦目前所處網段的廣播路徑,要傳送到 192.168.1.255 的網段廣播封包,都直接由電腦本身 192.168.1.3 IP 送出,不需透過其他路由器。

6.
第六筆(Network Destination224.0.0.0)是於多重傳播路徑,所有要送到 224.x.x.x IP 位址都會直接交由電腦本身 192.168.1.3 IP 送出,不需透過其他路由器。

7.
第七筆(Network Destination255.255.255.255)代表廣播位址,也就是 255.255.255.255 目的位址的封包都會直接交由電腦本身 192.168.1.3 IP 送出,不會透過其他路由器,所有在 192.168.1.x 網段的電腦都會收到此封包。
在路由表的選擇上,可能會有兩條以上符合的路徑可供選擇,這時候應該如何選擇路徑?以傳送目的地 192.168.1.100 的封包為例,在上述的路由表第一筆與 Netmask 0.0.0.0 AND 運算結果符合 Network Destination 0.0.0.0,與第三筆 Netmask 255.255.255.0 AND 的運算結果也符合 Network Destination 192.168.1.0;這時路徑會選擇以Netmask 轉換為二進制之後含1最多那一筆來傳送,因此封包最後將由第三筆路徑做處理。
上述是一張網路卡時的路由表運作,如果加入另一張網路卡時,封包將會如何傳送?我們還是先列出路由表。


由表中可以發現所有原有路徑變成兩份,因此可能有兩條路徑可以選擇,以 default route 路徑而言就有 192.168.1.1 192.168.216.254 兩條 Gateway 可走,因此路徑的選擇就依 Metric 大小來決定,metric 越小表示成本越低,所以路徑將選擇較低的 default route,因而表中顯示預設閘道(default gateway)會是 Metric 較低的 192.168.216.254。如果 Metric 一樣,這時就以隨機方式選擇路徑;如果原來的 default route 的網路連線斷了,那路徑將主動切換到另一條 default route

其他常用route 指令

● route
add 用來加入路由路徑
例如:route add 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 20
指出 Network DestinationNetmaskGatewayInterface metric


● route
-p add 用來永久加入路由路徑,使用-p 參數可以保留路徑設定,不會因為電腦重開機而消失。
例如:route -p add 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 20


● route
delete用來刪除路由路徑。
例如:route delete 192.168.0.0 mask 255.255.0.0


● route
change用來修改現有的路徑設定。
例如:route change 192.168.0.0 mask 255.255.0.0 192.168.1.1 if 0x2 metric 10

2012年3月23日 星期五

安裝sudo

# cd /usr/ports/security/sudo
# make install clean

設定檔的位置在
/usr/local/etc/sudoers
設定的方法,指定某個帳號可以使用全部權限:
帳號 ALL=(ALL) ALL
指定某個群組的使用者都有權限:
%wheel ALL=(ALL) ALL

freebsd安裝vim

使用ports安裝

# cd /usr/ports/editors/vim-lite/
# sudo make install clean

安裝完畢後即可使用vim指令,若要將vim取代vi

# alias vi='vim'

另外,由於安裝時並不會產生設定檔,需自行由安裝目錄複製
# cp /usr/local/share/vim/vim73/vimrc_example.vim /usr/local/share/vimrc

在freebsd上使用locate

基本上,安裝完locate之後,需要先建立索引檔案,否則會無法搜尋
在以往使用ubuntu時,只要直接下 updatedb 即可,但是在freebsd裡面,則是執行
 /usr/libexec/locate.updatedb

一般來說,不需要特別去執行updatedb,系統會例行更新。

* 執行時需以root權限執行

2012年3月22日 星期四

調整freebsd更新套件(ports)來源

 http://www.24m.org/wordpress/?p=258

編輯 /etc/make.conf ,如果沒有就做個新的吧。
內容如下:
KERNCONF=MYBSD
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPHOST= cvsup.tw.FreeBSD.org
SUPFILE= /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE= /usr/src/share/examples/cvsup/ports-supfile
接下來,到 /usr/src 或是 /usr/ports 底下,下
make update
然後就去喝茶吃蛋糕等吧。(通常cvsup server會限制連進來的連線數,所以一次就抓一個就好)
更新了ports tree後,要make新東西,都得到國外去抓,所以要讓抓取速度快,就得改一下make.conf,讓系統就進在台灣抓就好啦。
# for make install
MASTER_SITE_BACKUP?= \
ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} MASTER_SORT_REGEX= \.tw/ \.tw\. \.edu/ \.edu\. FETCH_CMD=fetch -U -A -P
7.1上是work的。

Freebsd 和套件有關的指令

Freebsd 和套件有關的指令 無次要群組
作者或來源 瘦河馬 2009-10-27 15:52:24
關鍵字 1freebsd 2port
此文完整連結 http://note.tc.edu.tw/179.html

Freebsd 套件和套件有關的指令
Freebsd 有著極棒的套件管理方式,讓使用者一點也不會覺得麻煩和混亂。
在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports,什麼是 ports?
在網路上諸多的套件,經安裝及測試沒問題後,將其依編譯時所需的組態設定、編譯程序及安裝程序以固定的格式擺在一起,並經 Freebsd 維護小組認可後即加入 ports 的集合中。當安裝完 freebsd 後(或同時),可以選擇安裝 ports 的集合,如此未來若有套件想安裝,只要進到  /usr/ports/ 一陣亂找後,就能找到想要的套件了。
一、安裝 ports 的集合(ports tree/ports collection)
# sysinstall
Configure --> Distributions -->ports 然後選擇 install,可以丟入 cd或dvd,讓他由光碟片安裝,要花滿久的時間,至少一個小時,可以先去喝杯茶。
二、用ports安裝套件的方法
安裝完 ports 的集合之後,未來要用 ports 安裝套件就像吃飯一樣簡單
例如要安裝 mysql 6.0
# cd /usr/ports/databases/mysql60-server/
# make install
如此會產生一個 work/ 的資料夾,裡面有下載回來的套件,如果要安裝完畢後刪除下載檔,加一個'clean' 即可
# make install clean
三、有關套件的指令:
安裝好的套件在 /var/db/pkg
查看套件資訊 # pkg_info -L <== -L可看版本
加入套件 # pkg_add 套件名
刪除套件 # pkg_delete 套件名 <==套件名必需完整。
查看套件相依性 # pkg_tree <==請ports sysutils/pkg_tree安裝
看現在版本和/usr/ports中的版本比較 # pkg_version -v
四、維持ports 集合的更新
ports 的集合也需要更新,以取得新的套件及/usr/src的原始碼更新,更新 ports tree 的方法很簡單,可以使用 CVSup 來保持 ports 在最新狀態。
CVSup 是一套用來維持軟體原始碼和開發團隊同步的工具,它會經由網路向所設定的軟體伺服器檢查並更新原始碼的版本。我們可以使用 CVSup 來更新 port tree,也可以用來更新 /usr/src 目錄下的 FreeBSD 原始碼。
安裝 CVSup,因為我們不使用圖形介面,所以安裝 cvsup-without-gui
# cd /usr/ports/net/cvsup-without-gui
# make install
完成後,在系統中有一份以 CVSup 更新 port tree 的設定檔範例,可以直接加以修改或著先複製一份後再修改。我們將該設定檔範例複製到 /root 之後再加以修改:
# cp /usr/share/examples/cvsup/ports-supfile /root/
修改 /root/ports-supfile 所要使用的 CVSup 伺服器:
*default host=cvsup.tw.freebsd.org
設定完畢之後,就可以開始進行 ports 的更新了
# cvsup -g -L 2 /root/ports-supfile 上述指令中,參數 g 表示不使用圖形介面,而參數 L 及其後所跟隨的數字 2 表示我們要看到更新過程的記錄的詳細程度,數字可以從 0 ~ 2,最後的檔名表示所要使用的設定檔。
這樣就能維持 ports tree 的更新。
五、現有套件的更新
現有套件可使用以下指令來查看是否有更新
# pkg_version -v
倘若有較新版本的套件想更新時,可以先移除舊的再安裝新的,但這樣不是很方便,所以可以使用portupgrade來更新
安裝portupgrade
# cd /usr/ports/ports-mgmt/portupgrade
# make install
安裝完畢後,未來要更新套件,就到ports中套件的目錄下 portupgrade 指令即可
安裝完套件記得要執行 rehash 才會生效,否則要重新登入。

設定freebsd啟用tab鍵補全指令

剛安裝完畢的freebsd無法使用tab鍵來補全指令,需調整下列檔案
vi /etc/csh.cshrc
新增 set autolist
此時只有root權限有tab補全功能
若要調整非root使用者,將使用者的shell由sh調整成csh
pw usermod 用户ID -s /bin/csh
設定完之後,重新login將會發現最前面的提示自由#變為%

安裝freebsd筆記

freebsd安裝比linux麻煩...

freebsd官方網站 http://www.freebsd.org/

下載專區內有不同的檔案,其官方說明如下

dvd1
This contains everything necessary to install the base FreeBSD operating system, a collection of pre-built packages aimed at getting a graphical workstation up and running. It also supports booting into a "livefs" based rescue mode. This should be all you need if you can burn and use DVD-sized media.
disc1
This contains the base FreeBSD operating system. It also supports booting into a "livefs" based rescue mode. There are no pre-built packages.
bootonly
This supports booting a machine using the CDROM drive but does not contain the support for installing FreeBSD from the CD itself. You would need to perform a network based install (e.g. from an FTP server) after booting from the CD.
memstick
This can be written to an USB memory stick (flash drive) and used to do an install on machines capable of booting off USB drives. It also supports booting into a "livefs" based rescue mode. There are no pre-built packages. As one example of how to use the memstick image, assuming the USB drive appears as /dev/da0 on your machine something like this should work:
# dd if=FreeBSD-9.0-RELEASE-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync
Be careful to make sure you get the target (of=) correct.
選擇自己所需即可

FreeBSD下Mount總結!

轉自 http://blog.xuite.net/yugechiu/man/6032375

FreeBSD下Mount總結!
--------------------------------------------------------------------------------

1.mount FAT/FAT32分區:(C盤為例)
mount -t msdos /dev/ad0s1 /mnt

mount_msdos /dev/ad0s1 /mnt for 4.x
mount_msdosfs /dev/ad0s1 /mnt for 5.x
2.mout Windows的擴展分區(FAT/FAT32):
命令和1一樣,只是要記住:擴展分區從s5開始,例如mount D盤,可用:
mount -t msdos /dev/ad0s5 /mnt
mount_msdos /dev/ad0s5 /mnt for 4.x
mount_msdosfs /dev/ad0s5 /mnt for 5.x

3.mount NTFS分區:(C盤為例)
mount -t ntfs /dev/ad0s1 /mnt

mount_ntfs /dev/ad0s1 /mnt
[注意]1.chinese/gbfs 的 ntfs 似乎有問題,不建議玩家級用戶使用
注意2.:要讓mount上的windows 分區(或CD-ROM)顯示中文,需要升級你的ports,再安裝gbfs:
#cd /usr/ports/chinese/gbfs
#make install clean
然後編譯內核,註釋掉options CD9660
options MSDOS
注意3.在5.1-current上不用安裝gbfs,用:
mount_msdosfs -L zh_CN.GB18030 /dev/ad0sX /mnt
命令就可以支持FAT32分區上的中文文件名,當然,locale可以不用18030,zh_CN.eucCN, zh_CN.GBK都可以!

4.mount Linux Ext2fs/Ext3fs:
在內核裡面加入options EXT2FS,編譯內核。
mount 的時候用mount_ext2fs 命令即可,ext3fs的mount也用mount_ext2fs
5.mount 普通數據光盤:
mount_cd9660 /dev/acd0 /cdrom
6.mount ISO 文件
在5.x中如下
mdconfig -a -t vnode -f abc.iso -u 1
mount_cd9660 /dev/md1 /cdrom
4.8的版本
vnconfig /dev/vn0 /home/xiaoche/a.iso
mount -t cd9660 /dev/vn0 /mnt
umount /mnt
vnconfig -u /dev/vn0
7.mount CD、VCD、DVD
播放CD、VCD、DVD不用先mount上。
如果你一定要mount上,可以這樣:#mount _cd9660 -s 0 /dev/acd0 /cdrom
8.mount 軟盤:
1.Format:
# /usr/sbin/fdformat -f 1440 /dev/fd0
2. Run disklabel:
# /sbin/disklabel -B -r -w /dev/fd0 fd1440
3.Create New FS:
# /sbin/newfs_msdos /dev/fd0
4.Mount & Use
#mount_msdosfs /dev/fd0 /mnt

9.mount usb
確保內核中有如下項
device scbus
device da
device cd
在GENERIC中默認都有,如果沒有,請編譯內核。
大多數U盤用的是FAT 文件系統,所以用
mount -t msdos /dev/da0 /mnt
掛載
10.mount ZIP軟盤: OneZ 兄提供
#mount_msdosfs /dev/afd0s4 /mnt/zip

相關閱讀
unmount
http://wiki.debian.org.hk/w/Unmount/eject_filesystem

常見問題:
無法卸載,有可能是正在使用該掛載目錄,切換至其他目錄再卸載即可。