學習誌
首頁 FreeBSD 系統管理 安裝應用軟體

下一頁 上一頁 最近更新:2008年09月26日20時03分39秒
Valid XHTML 1.1! Valid CSS!

要以package的方式安裝軟體時,需要先下載該軟體的package檔案,通常package檔案的名稱是以.tar.gz為結尾。因為cvsup-without-gui這個軟體在ports下找得到,所以在網路設定好之後,可以用pkg_add -r來安裝。

root@myhost [~] > pkg_add -r sudo
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/sudo.tbz... Done.

If you store accounts in external place and want to use password
authentication for sudo, you must create /etc/pam.d/sudo file like:

=====================================================================
#
# PAM configuration for the "sudoers" service
#
# auth
auth            include         system

# account
account         include         system

# session
session         include         system

# password
password        include         system
=====================================================================

不用懷疑,sudo已經安裝完成,接下來做一些後續設定。下達以下指令:

root@myhost [~] > visudo

visudo: Command not found.

如果有以上情形發生,是一個正常的現象。這是為了加速搜尋可執行的程式的速度,而使用記憶體來記憶可執行的程式在硬碟中存放的位置,建立一個索引。每次執行程式的時候就不用搜尋硬碟。每次剛安裝完軟體,硬碟中的可執行的程式就增加了一些,但是在記憶體中的索引卻不一定會同步更新。就會產生Command not found這種「指令找不到」的情形。

解決的方式有二種:一是下達rehash指令,更新在記憶體中的索引;二是重新登入系統。

root@myhost [~] > rehash

而正常執行visudo的效果相當於使用vi這個文字編輯軟體來編輯/usr/local/etc/sudoers,請找到這兩行:

# Uncomment to allow people in group wheel to run all commands
# %wheel  ALL=(ALL)       ALL

改成:

# Uncomment to allow people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

在預設的情形下,wheel群組裡的使用者可以用su指令變成root身份,但是要輸入root密碼才能通過身份驗證,如果主機需要多人協同管理,只使用su時,每個管理者都會知道root密碼,萬一任何一個管理者存心不良,那麼系統可能毀於一旦。而sudo可以提供更多彈性的權限管理:使用者下達sudo指令時,則是輸入自己的密碼通過身份驗證。而且sudo可以限定特定的使用者執行特定的程式或下達特定指令時才擁有root權限。以上的設定讓wheel群組裡的使用者可以用sudo指令變成root身份,所以在設定sudo後,可以改變su的權限認證模式,使得wheel群組裡的使用者不能用su指令變成root身份。