Mac OS X 10.5 Fast System Deployment Practice
Mac OS X 10.5快速系統部署實踐
注:
前一篇在這里:[ Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(2) v1](#)
?
### 本地管理員
??? 在企業中,為了方便管理用戶,每個用戶都有為了完成工作而設定的各自權限。為了管理每臺電腦,管理員必需要有足夠的權利管理該電腦系統,所以一個具有足夠高權限的本地管理員帳戶就是必不可少的了。
?? ?大家都知道,Mac OS X是基于BSD的類Unix系統的,它的核心是Darwin, 是Apple早在1989年發布的,它主要從FreeBSD, NEXTSTEP等系統發展過來的,它符合SUSv3和POSIX UNIX規范,從10.6版本開始全面升級到64位編碼。在Mac里面,系統管理員一般情況下不需要使用root用戶來管理系統,而一個具有管理員權限的帳戶就可以完成絕大多數的系統管理工作。所以,我們第一步要做的就是建立一個管理員帳戶。
#### ??? 其實,通過安裝盤安裝MAc OS X系統的時候,系統會提示用戶生成第一個用戶帳戶,其實這個帳戶就是一個管理員帳戶,使用這個帳戶作為企業本地管理員帳戶就可以,如果這樣請跳過本小節仔細閱讀下一小節的內容。
??? 使用圖形界面生成一個管理員帳戶也是最簡單的,下面同樣只給出一個屏幕截圖。
?
[](http://docs.google.com/File?id=dfm3jbw9_222dx95qrc3_b)
#### 使用shell命令
??? 完全可以用shell命令來完成管理員的帳戶建立:
<table id="trh-" style="width: 100%;" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000"><tbody><tr><td width="100%"><p>sudo -s</p><p>echo "Creating System Admin Account..."</p><p>dscl . -create /Users/sysadmin</p><p>dscl . -create /Users/sysadmin UserShell /bin/bash</p><p>dscl . -create /Users/sysadmin RealName "System Admin"</p><p>dscl . -create /Users/sysadmin UniqueID 501</p><p>dscl . -create /Users/sysadmin PrimaryGroupID 80</p><p>dscl . -create /Users/sysadmin NFSHomeDirectory /Users/sysadmin</p><p>dscl . -passwd /Users/sysadmin "sadigowre4t0au4"</p><p>dscl . -append /Groups/admin GroupMembership sysadmin</p><p>?</p><p>cp -R /System/Library/User/ Template/English.lproj /Users/zhangsan</p><p>chown -R sysadmin /Users/sysadmin</p></td></tr></tbody></table>
??? 上面的bash腳本創建了真實姓名是"System Admin",Unix用戶名是sysadmin的,Unix唯一ID是501的,具有管理員權限(加入到admin管理員組)的本地帳戶。大家可以對比看出普通用戶和管理員帳戶的區別。
#### root用戶
????root在UNIX世界里是特殊的用戶,它是計算機的God, 它可以做任何事情,而管理員身份的用戶可以通過各種方式實現root用戶的功能,一般情況下不會用到root, 所以Mac默認是禁止root用戶的。如果管理需要可以打開root帳戶.
?
????在圖形方式里,不同版本的Mac OS X,使用的工具有點不同,詳細的操作可以參見Apple的官方文檔: [在 Mac OS X 中啟用和使用 root 用戶](http://support.apple.com/kb/HT1528?viewlocale=zh_CN "在 Mac OS X 中啟用和使用 root 用戶")
?
????使用命令行:
| sudo passwd root |
|-----|
????之后輸入root用戶密碼,并確認一次。
??? 當然,我們還可以使用下面的命令行來打開和禁止root用戶(對于10.5的Leopard系統測試通過,之前的系統沒有測試)
<table id="n-06" style="width: 100%;" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000"><tbody><tr><td width="100%"><span style="font-family: courier new,courier;"><span style="color: #800000;"><span class="comment"># enable root user account</span><br/><span class="punct">/</span><span class="regex">usr</span><span class="punct">/</span><span class="ident">sbin</span><span class="punct">/</span><span class="ident">dsenableroot -u adminusername -p adminuserpassword -r rootpassword</span></span></span><br/></td></tr></tbody></table>
???其中 -u后面的adminusername是一個具有管理員身份的賬戶,后面的-padminuserpassword是該賬戶的密碼,后面就是-rrootpassword就是被重新設置的root用戶的密碼。注意,在設置密碼的時候有些特殊字符需要轉義。
### 管理員帳戶安全和隱藏
??? 為了保護管理員帳戶的安全,該帳戶應使用適當強度的密碼,這一點自不必多說;只有工作內容需要知道的人才可以知道,并教育員工確立對帳戶和密碼的保護和正確使用意識,以及密碼的保存形式等的管理都是保證這個密碼長期有效的保障。
?
?? ?為了系統更安全,管理員帳戶名稱最好對普通用戶隱藏,首先普通用戶沒有必要知道有這么一個帳戶,同時也給系統破解帶來障礙。
?
??? 這要從幾個層面來考慮,首先是管理員的home目錄需要隱藏,其次, 在系統偏好->里面不顯示管理員帳戶名, 再有就是在登陸列表中也不能顯示。
?
????首先,需要找到一個小于500的空余UID號,也就是一個沒有其他本地用戶(系統或者用戶)使用的UID號。Mac OSX默認的是:對于所有電腦用戶生成的用戶帳號,都是大于500的,而小于500的是留給系統本身使用的,操作系統為了能夠正常運行,需要一些帳號,比如web服務的帳號_www, root等等。而這些小于500的UID帳號是默認不在圖形界面系統中自動顯示的。
??? 使用圖形界面可以查找不同用戶的UID號碼, 如下圖的User ID:
[](http://docs.google.com/File?id=dfm3jbw9_233pjvsn6c8_b)
??? 使用下面的命令可以列出所有當前系統用戶占用的UID:
<table id="xnqk" style="width: 100%;" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000"><tbody><tr><td width="100%"><span style="color: #660000; font-family: Courier New;">dscl . list /Users UniqueID</span><br/></td></tr></tbody></table>
????其次,變更管理員帳戶Home目錄的路徑,這一點可以使用圖形方式解決, 上圖中的Home Directory就是用戶的Home目錄設置,你可以改變它,這樣以后該用戶登陸后,就會使用這個設置.
或者是命令行方式, 如下面的命令:
| dscl . -create /Users/sysadmin NFSHomeDirectory /Users/sysadmin |
|-----|
??? 或者可以使用隱藏目錄的命令如SetFile,來設置目錄的擴展屬性,使其對于圖形界面Finder等隱藏。這種方式也是可以接受的,但是相比把home目錄移動的方法,個人認為還是移動Home的方法更隱蔽。
| ?sudo setfile -a V /Users/sysadmin |
|-----|
上面的命令就在Finder里面隱藏了sysadmin管理員帳戶的Home目錄。
?
????然后,設置LoginWindow不顯示特定的帳戶。這一點可以借助其它軟件來實現,而更方便的是使用命令行. 例如,使用Cocktail軟件就可以隱藏管理員帳戶在登陸窗口的顯示, 如下圖.
[](http://docs.google.com/File?id=dfm3jbw9_234f5cmkwhh_b)
??? 使用命令行的方式,例如下面的命令行隱藏了sysadmin:
| sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add sysadmin |
|-----|
?
????最后,測試:
?? ?一定要測試,測試的結果可能是一種方法不能解決,可能需要另外一種或者多種方法組合才能解決問題。
?
????還有一種方法,也可以做到隱藏的作用,但是有點復雜。原理就是,類UNIX系統使用插件的方式以支持現代認證域的概念,這樣它具有可以擴展的特性,我們就要利用這個特性來添加一個本地認證域到用戶認證系統中,這個方法有它自己的優勢。這里不多贅述。
?
#### 遠程管理服務
????為了方便遠程管理,我們一般需要在客戶端打開必要的管理服務,并確認在這些管理服務中,遠程管理員帳戶/用戶組被授權足夠權限,一般是所有權限。當然,為了管理分級/分層的需要,有的可以是“Read-Only”權限等。
??? 具體設置在, System Preferences->Sharing, 選中 x和x? 的兩個選項,并且選擇添加用戶,賦予足夠的權限。
[](http://docs.google.com/File?id=dfm3jbw9_236d32879gb_b)
?? ?對于Remote Management還需要具體設定管理員的具體權限,我這里選種了所有的權限。對于不同企業的來說很可能會不一樣。
[](http://docs.google.com/File?id=dfm3jbw9_237dc3f7gcf_b)
???一般來說,要打開Remote Login和RemoteManagement兩個選項,這樣管理員即可以使用ssh的命令行方式管理客戶機,也可以使用Apple RemoteDesktop的圖形方式來管理.這兩種方式都給管理員以方便遠程管理。當然了,一定要注意企業內部的安全管理規定,有的情況或者并不是對所有人都適合這樣的設置。
??? 使用命令行也可以達到添加管理員用戶為遠程管理服務的認可權限。
#### 主密碼和FileVault
????主密碼(Master password)可以用于很多地方,比如,可以不用登陸就重置用戶密碼,而且用于FileVault,當用戶忘記自己的FileVault密碼的時候,管理員可以使用主密碼恢復用戶的FileVault數據, 所以這個主密碼很重要,而且應該是全企業統一,各版本統一,即便是需要變更也要保留完整的變更歷史。即便企業目前沒有計劃使用這個功能,也建議設置這個主密碼。
?
????官方目前沒有中文的說明,英文的在這里:[Creating a master password](http://docs.info.apple.com/article.html?path=Mac/10.5/en/8737.html "Creating a master password")
????其實很簡單,進入System Preferences的Security的Safe標簽,點擊Set Master Password,輸入密碼。如果該項被鎖住了,請先開鎖。
?
????如果忘記/找不到主密碼,可以刪除主密碼文件,然后再設置一個新的,但是如果有使用FileVault的用戶,他們加密數據只有使用原來的主密碼才可以解密,新主密碼只有在用戶數據解密后重新加密,主密碼才起作用。
?
????主密碼相關文件保存在KeyChain文件里面:/Library/Keychains/FileVaultMaster.keychain和/Library/Keychains/FileVaultMaster.cer。只要刪除他們,就可以重置主密碼了。所以為了安全起見,一定要檢查這兩個文件的權限屬性,一定要適當。
#### 登陸窗口背景
??? 這是一個關乎外觀而無關功能的小技巧,這里只是提醒一下,也就是把默認的LoginWindow的背景畫面變更為帶有公司宣傳或者簡單敘述公司使用規章的背景。
??? 首先制作一張公司背景圖,應該是JPG格式的,大小,存放在任何一個地方,但是最好給所有人只讀的權限,比如說,保存位置在/System/Library/CoreServices/CompanyLogin.jpg
??? 然后使用下面的語句變更背景
<table id="an6c" style="width: 648px; height: 39px;" border="1" cellspacing="0" cellpadding="3" bordercolor="#000000"><tbody><tr><td width="100%"><span style="font-family: courier new,courier;">sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture <br/> /System/Library/CoreServices/CompanyLogin.jpg</span></td></tr></tbody></table>
??? 退出登錄后察看是否起作用,否則請檢查該圖形文件的屬性。
#### 常用工具???
?? ?有好多系統管理工具,這里不可能完全涵蓋,只是列出一部分使用最多的。如果誰有好的建議,我們歡迎積極提出反饋。
?? ?Cocktail
?? ?Onyx
?
?
*續:[Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(3) v1](http://blog.csdn.net/afatgoat/archive/2009/08/19/4462848.aspx)*
?
?
Tony Liu
2009 Calgary
- 前言
- Mac OS X:如何將個人文件夾從默認卷移到其他卷(適合OSX10.5 Leopard)
- Mac OS X:Finder菜單中的Connect to Server選項禁止和打開
- Mac OS X: 蘋果機支持的分區表類型及問題解決
- Mac OS X: 偏好Preferences基礎(1)
- Mac OS X: 如何變更Office for Mac的注冊碼
- Mac OS X: 禁止/防止網絡用戶復制app程序到桌面
- Mac OS X: 用戶帳戶的選擇
- Mac OS X: 實用腳本程序(bash scripts)系列
- Mac OS X: 共享iPhoto圖片
- Mac OS X: 實用腳本程序(bash scripts)系列-2
- Mac OS X: 實用腳本程序(bash scripts)系列-3
- Mac OS X: 實用腳本程序(bash scripts)系列-4
- Mac OS X: 實用腳本程序(bash scripts)系列-5
- Mac OS X: 實用腳本程序(bash scripts)系列-6
- Mac OS X:升級rsync和同步應用實例
- Mac OS X: XAMP在Mac上的實現
- Mac OS X瘦身多法
- Mac OS X 10.5快速系統部署實踐-計劃(2) v1
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(1) v1
- Mac OS X數據備份方案一例
- Mac OS X數據備份方案一例(2)
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(2) v1
- Mac OS X: 打印系統治療
- Mac OS X:禁止崩潰報告
- Mac OS X:Snow Leopard的幾個改動(管理員相關)
- Mac OS X排錯:雪豹的最新更新Airport可能不支持無線802.11n網絡
- Mac OS X:雪豹內置支持讀寫NTFS卷
- Mac OS X:定制生成新用戶的程序包
- Mac OS X:在Windows里面使用命令行設置啟動系統
- Mac OS X: 實用腳本程序(bash scripts)系列-7
- Mac OS X:一種從APP中獲得PKG的方法
- Mac OS X: bash腳本實現添加無線SSID(Update2009-10-09)
- Mac OS X: 實用腳本程序(bash scripts)系列-8
- Mac OS X 10.5快速系統部署實踐-制作核心系統鏡像(4) v1
- Mac OS X: 徹底刪除GeekTool(bash腳本)
- Mac OS X: 實用腳本程序(bash scripts)系列-9
- 把你的Leopard變成Mac OS X的系統發布服務器(1)
- 把你的Leopard變成Mac OS X的系統發布服務器(2)
- 把你的Leopard變成Mac OS X的系統發布服務器(3)
- Mac OS X: 訪問控制遠程CUPS服務
- Mac &amp; Win混合平臺訪問和工具
- Mac OS X: DeployStudio更新v1.0rc16
- Mac: 想當Apple菜鳥不容易(1)
- Mac: 想當 Apple菜鳥不容易(2)
- Mac: 想當 Apple菜鳥不容易(3)
- Mac: 想當 Apple菜鳥不容易(4完)
- Mac電腦上處理攝像機上的存儲內容
- Mac OS X: Google自動更新程序的卸載
- 雪豹系統和SMB不兼容的問題的解決匯總
- Mac OS X: 實用腳本程序(bash scripts)系列-10
- Mac OS X:MagicPrefs介紹
- Mac OS X: 系統部署后程序安裝的用戶提示
- Mac OS X:開啟單程序模式
- Mac OS X: 在腳本里關閉Airport
- Mac筆記本電池:十點建議和其它
- Mac OS X: Launchd執行程序的一個例子
- Mac OS X:修改SMART Utility期限限制
- Mac OS X:網絡用戶環境個性配置實例
- Mac OS X:強制退出CD/DVD盤
- Mac OS X: launchd plist在線編輯器
- Mac OS X: 實用腳本程序(bash scripts)系列-11
- Mac OS X: 實用腳本程序(bash scripts)系列-12
- Mac: 卸載Safari 5.0.2
- Mac OS X: 實用腳本程序(bash scripts)系列-13
- Mac OS X: 文件圖標制作和變更(Resource Fork)
- Mac OS X 10.6.6更新之后NTFS只讀的解決
- Mac: 網絡用戶遇到Adobe Reader 9.x/10.x異常退出的解決
- Mac OS X: airport命令的參數
- Mac OS X的Spotlight綜述
- Mac OS X:AFP和SMB共享配置詳細配置
- Mac OS X:詳細解讀Munki和應用
- Mac OS X:顯示/設置分辨率的命令(源程序)
- Mac OS X: 是否升級到Lion?
- OSX: 禁止Flash Player 10.3自動更新
- OSX腳本:禁止系統自動添加AppStore圖標到用戶Dock上
- 獅子GM版本的安裝
- OS X Lion獅子安裝盤的初步研究
- OS X Lion獅子的恢復盤的刪除二法
- OSX: Finder的側邊欄(Sidebar)不顯示已裝載的網絡共享
- OSX:隱藏文件或文件夾
- OS X: 實用腳本程序(bash scripts)系列-13
- OS X: 實用腳本程序(bash scripts)系列-14
- OSX:Lion支持登錄窗口的Policy Banner
- OSX: 讓獅子說中文