上一節(jié)講的是AFS系統(tǒng)中數(shù)據(jù)庫系統(tǒng)的配置,還有一些問題的討論和解決方法,這一節(jié)要說AFS系統(tǒng)中最基本的安全性配置和文件服務器的配置。在我的試驗系統(tǒng)中碰到了很多的問題,很多都是比較典型的,在OpenAFS的mailist上都可以查到有人提出,但有些是沒有答案的。我在這里寫出我的解決方案,來和大家分享。這次最不爽的就是我的服務器多次硬盤出問題!害的我光是重裝系統(tǒng)就裝了4次!!8 Cell安全機制的初始化 現(xiàn)在我們來初始化cell的安全機制。首先從創(chuàng)建認證數(shù)據(jù)庫(Authentication DataBase)中的兩個初始化憑證開始:
1:一個普通的管理員帳戶,通常叫做 admin 。如果你選擇了一個不同的名稱,那么記得在后面所有的操作中都是這個名字了。
在你安裝完第一臺AFS機器后,你可以讓所有的管理員使用這個 admin 帳戶,或者你可以為每一個管理員都創(chuàng)建一個管理員帳戶。這樣作雖然有些麻煩,但是可以更好管理所作的管理操作。
2:AFS服務器系統(tǒng)(AFS server processes)的憑證,叫做 afs 。沒有用戶會用這個身份登陸系統(tǒng),但是認證服務器的許可發(fā)行服務模塊(Authentication Server‘s Ticket Granting Service: TGS)使用相關聯(lián)的密鑰(key)來加密發(fā)布給AFS客戶端(AFS clients)在和服務器做相互認證時所使用的服務器許可憑證(server tickets)。
在后面的步驟7介紹中AFS服務器的密鑰會被存放在文件 /usr/afs/etc/KeyFile 中。AFS的服務器器組件在解密服務器許可憑證(server tickets)的時候就會使用這個文件。
在下面的配置中并沒有配置相關AFS備份系統(tǒng)(AFS Backup System)中的安全機制。
1:進入kas交互模式。因為現(xiàn)在運行在非認證模式下,所以在命令行中要使用 -noauth 參數(shù)(記得kaserver要正常運行哦):
----------------------------------------
# kas -cell afs.server -noauth
ka>
----------------------------------------
2:使用 kas create 命令創(chuàng)建認證服務器憑證,名叫 admin 和 afs :
----------------------------------------
ka> create afs (創(chuàng)建afs帳戶)
initial_password: afs_passwd (輸入密碼)
Verifying, please re-enter initial_password: afs_passwd (再次輸入密碼)
----------------------------------------
ka> create admin (創(chuàng)建admin帳戶)
initial_password: admin_passwd (輸入密碼)
Verifying, please re-enter initial_password: admin_passwd (再次輸入密碼)
----------------------------------------
3:使用 kas examine 命令來顯示afs憑證。輸出的信息是從你所設置的 afs_passwd 串在被服務器密鑰加密后得到的一個常量的詳細信息。在后面的步驟8中我們還可以用 bos listkeys 命令來檢驗這些信息:
----------------------------------------
ka> examine afs
User data for afs
Key (0) chsum is checksum .................. (后面還有很多信息我懶得寫了)
----------------------------------------
4:使用 kas setfields 命令為admin帳戶打開 ADMIN 屬性。這使得admin用戶可以有權(quán)限使用kas命令。然后使用 kas examine 命令驗證 ADMIN 屬性已經(jīng)打開并在第一行輸出:
----------------------------------------
ka> setfields admin -flags admin
ka> examine admin
User data for admin (ADMIN) ..................
----------------------------------------
5:使用 kas quit 命令退出kas交互模式:
----------------------------------------
ka> quit
#
----------------------------------------
6:使用 bos adduser 命令增加 admin 用戶進文件 /usr/afs/etc/UserList。這使得 admin 用戶可以有權(quán)限使用 bos 和 vos 命令:
----------------------------------------
# bos adduser SA-test2 admin -cell afs.server -noauth
----------------------------------------
7:使用 bos addkey 命令在文件 /usr/afs/etc/KeyFile 中定義AFS服務器密鑰。
安全起見不要在命令行里輸入密碼,只有在象和bos命令交互的時候才可以輸入密碼,此時的密碼是不回顯的,此命令中輸入的密碼就是你在步驟2中所設置的密碼:
----------------------------------------
# bos addkey SA-test2 -kvno 0 -cell afs.server -noauth
Input key: afs_passwd (輸入密碼)
Retype input key: afs_passwd (再次輸入密碼)
----------------------------------------
8:使用 bos listkeys 命令驗證這個新key的詳細和我們在步驟3中所以顯示的認證數(shù)據(jù)庫中afs憑證的key的詳細是相同的:
----------------------------------------
# bos listkeys SA-test2 -cell afs.server -noauth
key 0 has chsum checksum ...................
....................
all done.
----------------------------------------
如果有bos取不到tickets或者認證失敗的錯誤報告,你可以不用理會。在我的試驗中沒有遇到這樣的情況。
如果要設置不同的key,用下面的命令。。。。。。。。。
9:使用 pts createuser 命令為 adimin 用戶在保護數(shù)據(jù)庫中創(chuàng)建憑證。
默認情況下,保護服務器(Protection Server)將分配 AFS UID 1 給admin用戶,因為這是你在AFS系統(tǒng)中創(chuàng)建的第一個用戶。如果本地密碼文件(一般是 /etc/passwd)已經(jīng)有了admin用戶并且UNIX UID不是1的話,那么最好在 pts createuser 命令使用 -id 參數(shù)讓 AFS UID 和已經(jīng)存在的UNIX UID相符。當然還是用默認的最好啦:
----------------------------------------
# pts createuser -name admin -cell afs.server [-id <AFS UID>] -noauth
User admin has id 1........... (1 就是 AFS UID)
----------------------------------------
10:使用 pts adduser 命令讓admin用戶成為 system:administrators 組的成員,然后使用 pts membership 命令來驗證這個新成員。這樣使得admin用戶可以有pts的權(quán)限和一部分權(quán)限的fs命令:
----------------------------------------
# pts adduser admin system:administrators -cell afs.server -noauth
# pts membership admin -cell afs.server -noauth
Group admin (id: 1) is a member of :
system:administrators
----------------------------------------
11:使用 bos restart 命令加上 -all 參數(shù)重啟數(shù)據(jù)庫服務器各個部件,這樣啟動后就是使用了新的服務器密鑰了:
----------------------------------------
# bos restart SA-test2 -all -cell afs.server -noauth
----------------------------------------
12:重啟后可以使用 bos status 命令查看各個服務器啟動運行狀態(tài):
----------------------------------------
# bos status SA-test2 -noauth
Instance kaserver, currently running normally.
Instance buserver, currently running normally.
Instance ptserver, currently running normally.
Instance vlserver, currently running normally.
----------------------------------------
到這里我們已經(jīng)成功初始化了cell的安全機制。下面我們將配置啟動文件服務器。我在考慮是不是需要再換一篇,寫成OpenAFS學習手札(5)?因為我發(fā)現(xiàn)一篇blog太長了很不方便。 |
|
|