共用方式為


互通性

管理 Mac 上的根密碼

Chris Stoneff

 

概覽:

  • 在 Mac 上提升許可權
  • 啟用根帳號
  • 為使用者專案啟用 sudo 命令

運行 OS X 的 Macintosh 基本上與仍啟用使用者帳戶控制 (UAC) 的 Windows Vista 一樣:您的管理員許可權被剝奪了,根帳號或管理員帳戶被禁用了,而且執行一些需要管理員許可權的操作時,還會提示您提升許可權。 在 Windows Vista 中,您可能知道需要管理員帳戶時如何管理和使用它。 但如果您是剛剛接觸 Mac,這對於您來說可就不是那麼簡單了。

在 Mac 中,為了執行管理功能(尤其是在終端中),您必須能夠發出 sudo 命令,而這項命令需要進行身份驗證。 這很簡單,配置 Mac 的方法是現成的,您只需重新輸入自己的密碼來提供必要的身份驗證即可。

有些人會覺得這實在是太簡單了,幾乎和 Windows 一樣,但它也意味著如果他人猜出、盜竊或破解了您的密碼,他就可以從本地或通過 SSH 訪問您的系統,這樣攻擊者就可以像電腦啟用了根一樣把它整個接收下來(根好比是 Windows 中的管理員)。 更糟糕的是,如果攻擊者使用“sudo –s”啟動 Shell 的話,系統日誌中實際上不會留下任何痕跡。

您如何按需向 Mac 使用者提供他們所需的權利,並同時增強安全性?令人驚訝的是,只要啟用根帳號即可。

預設情況下,OS X 會採取一般的安全措施,禁用根帳號。 但問題是,前面已經提到,在這種狀態下,使用者只需重新鍵入其自己的憑據,即可獲得提升的許可權。 為了確保使用者無法只通過重新輸入他們自己的憑據就可以獲得根級別(管理員)的存取權限,您需要為帳戶“根”指定密碼,以此來啟用根帳號。 為此,請使用您的 Directory Utility,或從終端發出以下命令:

sudo passwd root

然後,按照提示輸入新密碼(請參見 圖 1)。 不要忘記定期更改密碼。

fig1.gif

圖 1 為根創建密碼(按一下圖像可查看大圖)

啟用根帳號後,使用者便無法再只通過重新輸入他們自己的密碼來獲得根級別(管理員)的許可權。 這在設置許可權時可提供更細微的控制,因為現在必須調用單獨的已提升帳戶才能執行管理功能。 您可以使用協力廠商解決方案以隨機和安全的方式存儲帳戶密碼,並提供經過委派和審核的介面以根據需要獲得密碼,通過這種方法將此帳戶與一般使用者帳戶分開進行管理和保護。

完成這些工作後,您需要確保 sudo 命令可供需要它的人使用。 請記住,OS X 中有三個使用者級別:使用者、管理員和根。 預設情況下,使用者無法發出 sudo 命令,只有管理員和根使用者可以。 如果您不希望使用者具備管理員許可權,但希望他們能夠在必要時發出 sudo 命令,必須在 OS X 系統上為使用者啟用 sudo。 為此,您可以編輯 /private/etc/sudoers 檔來包含特定使用者,也可以取消圖 2 中以 '%wheel' 開頭的示例行中的注釋,然後將您的使用者添加到 wheel 組中。

fig2.gif

圖 2 為指定使用者啟用 sudo(按一下圖像可查看大圖)

按照此處概述的步驟進行操作,您可以通過自動化流程管理 Mac 系統的根密碼,這些流程會定期或在密碼恢復之後隨機生成新密碼。 因此,您的系統仍然會符合貴公司的策略,以及支付卡行業 (PCI) 資料安全標準、薩班-奧西利法案 (SOX)、健康保險流通與責任法案 (HIPAA) 和其他法案中提出的規定。 您也可以阻止使用者和管理員僅僅通過重新鍵入他們自己的密碼而不加思考地提升他們的許可權。

Chris Stoneff 是 Lieberman Software公司的產品經理,該公司致力於安全和系統管理軟體的開發。 他最大的動力在於不僅要瞭解事物的特定運作方式,而且要瞭解其原因。