geek 的所有交易 設定權限從命令列

Greg Shields

內容

很多 Cacls
經過一段時間的管理使用權限
構想的權限

一個老朋友和夥伴 IT 專業人員有這指說我發現自己很多最近重複。 它與您怎麼完成在日常工作中的工作,和您的工作。 他說食指空氣中"IT 專業人員不了解完成其工作,從命令列不會是 IT 專業人員在下一個五年。

fig01.gif

[圖 1 的範例檔案伺服器資料夾結構

現在很明顯的陳述式,但是它是每個 IT 專業人員應該注意到。 無論您為 jack-of-all-trades 或您深入深特定的焦點,取得雙手關閉該滑鼠和鍵盤到可說一個數字技術,如果您是才能成功未來的年必須母片。 為什麼在命令列嗎? 簡單地說: 效率、 重複性和保證。

如果您管理技術,以透過其 GUI,有效地完成那里任何動作 evaporates 一次完成。 只是不能重複使用滑鼠按鍵。 相較之下,完成該動作,透過命令列,是否透過命令或指令碼 — 讓您可以一再重複使用您的工作。

無處是比設定與管理 Windows 檔案系統權限,我們做一直工作更明顯。 我們設定 perms 檔案和資料夾。 我們會更新,並管理我們的共用權限。 時候,我們甚至可能會更新在登錄中的物件權限。 所有這些都是可以透過瀏覽器或 regedit 圖形介面來完成的動作。 但使用這些介面是很麻煩,容易發生錯誤,在您的手腕上的硬碟。 如果您以前已經發現大部分的方式透過只將它損毀的一個很長的權限變更您在使用 「 拒絕存取 」 中間的某處,您知道這個麻煩。

透過 GUI 的權限修改是特別有問題,因為到牽涉的動作項目在播放中。 小型環境中可能有數千個個別的資料夾] 和 [數百個可以有多個指定的權限的任何其中的使用者。 管理可能會造成的潛在組態的龐大數是不容易的工作。 如果您與一個以上的系統管理員共用工作負載,您可以確定項目將會變更非常第二個和您最後完美複雜的資料夾結構 perms。

解決這些問題的方法是認可您自己從命令列管理檔案系統權限。 取得您送交滑鼠,並投入 familiarizing 自己的幾個工具的一些工作您將會得到獎賞更有效率的解決方案是無限地重複執行成功的完成保證。

很多 Cacls

我們將討論的第一個工具就 「 變更存取控制清單 」,cacls,命令列工具已長和 fruitful 歷程記錄與 Windows 作業系統。 原始 cacls 隨附 Windows NT 4.0 並啟用一組的基本功能的變更在命令列的權限,但已限制它可以完成。 如果要解決這些限制,Microsoft 後續發行在 「 Windows NT 資源工具箱 」 中的展開的 xcacls。 稍後還的不受支援的 xcacls.vbs 已發行的進一步的功能,但在效能方面的回溯。

最近和完整功能版本,icacls,Windows Vista 與 Windows Server 2008 的船隻,以及可以下載 Windows XP 和 Windows Server 2003,在 support.microsoft.com/kb/919240. Icacls 包含許多實驗的 VBScript 中找到新增的功能,但到達為大幅更快的執行檔。 Icacls 也會加入支援管理 Windows 整合等級的存取控制,我們不包含此文件中第二個圖層。

讓我們假設您負責管理檔案伺服器的權限,以類似 圖 1 ] 中的資料夾結構。 那里您會看到根資料夾命名為包含 [財務的共用和行銷的子資料夾包含其他子資料夾。 您也會注意到這資料夾的設定,讓越來越小群組的人可以存取較低層級的共用。 就例如財務使用者可以讀取 [預算] 資料夾中的資訊,但只預算使用者可以寫入它。 受限制的資料夾也是有沒有人應該要能夠除了使用 [限制的存取,請參閱下方的。 今天,這是一個一般的結構,許多檔案伺服器上。

您可以使用 icacls 來設定權限一樣在 圖 1 ,但如何確切執行這項操作不立即明顯。 指標資料夾的指定權限設,您可以使用下列語法:

icacls C:\Shared\Finance\Metrics /grant:r "Finance Users":(OI)(CI)M /grant:r "Metrics Users":(OI)(CI)M

不幸的是,使用很棒的電源是很好的複雜性。 如您見 icacls' 語法可以很是以 impenetrable 至少是直到您了解 Windows 權限的運作方式。 請記住的個別的使用權限可以在套用到單一資料夾物件或物件加上子資料夾及檔案。 這是繼承的概念。 當您將瀏覽器 GUI 中簡單的修改權限套用至為在 [圖 2 ,資料夾,實際將它套用到該資料夾,以及所有子資料夾及檔案。

fig02.gif

[圖 2 會 自動套用簡單權限設定繼承的子資料夾和 檔案。

在命令列上面時,您可以看到每個群組,M 的修改位於之後 (OI)(CI) 的獨立物件繼承 」 和容器繼承 」 分別。 這兩個這些都需要 icacls 將簡單如果您想要修改權限。 您會發現,": r"/grant 參數後面會加。 這個修飾詞指示 icacls 以加入您在命令列中設定權限之前清除任何直接套用的使用權限物件上。

複雜,是,但 Windows 權限是複雜。 請注意,結束目標 — 可重複使用的命令,實際將項目簡單得多。

若要繼續範例,讓我們逐步 icacls 命令列,您可以使用來重設,並正確地將敘述的權限套用到財務資料夾結構,以及其根整組:

Icacls C:\Shared /inheritance:r /grant:r "Domain Users":(OI)(CI)R /grant:r 
   "File Admins":(OI)(CI)F

Icacls C:\Shared\Finance /inheritance:r /grant:r "Finance Users":(OI)(CI)R /grant:r 
   "File Admins":(OI)(CI)F

Icacls C:\Shared\Finance\Budget /grant:r "Budget Users":(OI)(CI)M
Icacls C:\Shared\Finance\Metrics /grant:r "Metrics Users":(OI)(CI)M

第一行實際完成兩項工作。 它的開頭,"/ 繼承: r"切換至完全移除所有繼承的權限 [上方] 資料夾,讓 「 共用資料夾不會繼承。 這會中斷共用資料夾的繼承從其上的資料夾。 完成之後,為網域使用者] 和 [完全控制檔案系統管理員權限設定的 「 讀取 」 權限。

由於我們不希望能夠存取 「 財務 」 資料夾在所有網域使用者,列兩個會中斷,並再一次清除權限繼承。 它然後將 「 完全控制 」 權限套用至檔案系統管理員和財務使用者將 [讀取] 權限。

使用線條三個和第四個,我們不想中斷權限繼承,因為檔案系統管理員和財務使用者] 群組可以相同的存取這些子資料夾。 這些並列中我們只授予其他權限 — 除了現有繼承的權限,使指標使用者與預算使用者可以寫入這些資料夾。

設定 [行銷] 資料夾的權限會稍有不同。 為產品的資料夾我們辦到的財務下, 子資料夾,但 [限制] 資料夾將被有點不同,我們使用相同的權限流程。 讓我們假設該資料夾包含高度秘密提示問題的文件,應該會看到只在極少數的個人。 您的第一個想法可能,"A-哈! 這裡,我會使用拒絕權限,來防止錯誤的使用者存取此資料夾!"

但是請記住拒絕權限的大部分的情況下太強大的實際設定,它會自動覆寫每個其他的權限。 因此,新增 「 拒絕 」 權限到此資料夾的行銷 Users 群組表示的任何限制也行銷使用者的使用者會被關閉時。 為更適當的解決方案是中斷繼承一次,並只排除行銷 Users 群組的所有權限。 因此,三個 icacls 命令列,才能設定此結構的權限會

Icacls C:\Shared\Marketing /inheritance:r /grant:r 
  "Finance Users":(OI)(CI)R /grant:r "File Admins":(OI)(CI)F

Icacls C:\Shared\Marketing\Product /grant:r "Product Users":(OI)(CI)M

Icacls C:\Shared\Marketing\Restricted /inheritance:r /grant:r 
   "File Admins":(OI)(CI)F /grant:r "Restricted Users":(OI)(CI)M

經過一段時間的管理使用權限

因此花七個線條在命令提示字元中設定這個簡單的資料夾結構的權限。 看起來像是工作完成相當少,但請考慮您的 IT 環境,並經過一段時間的項目如何變更很多。 幾次您已設定只將某些缺乏經驗的其他系統管理員時立即進行變更的資料夾結構? 多少次已經服務中心回應電話盲目地修改您 exquisitely 設計的權限的結構在使用者的 whim? 這些是常見的問題如果您的環境有太多具有太多的存取權的人特別困難的。 如果您使用滑鼠和 Windows GUI 讓所有這些資料夾保持在一直線上時,您在長夜晚追蹤變更的。

我要提供您多更好的解決方案。 如果您花額外的時間最多前面撰寫您的權限結構程式碼到命令列工具類似 icacls,重新套用該結構包含小以上按兩下批次檔。 一旦您已製作像上述七行,請將它們周圍保留以供稍後使用。 您會發現它會變成一般只是一次叫用這些行還原您的權限結構回到其預期的狀態。

如果內建的自動化多樣式 icacls 也可讓您儲存及重新套用權限。 一次您已套用七個行上面,執行這個命令您相同對應的項:

icacls C:\Shared /save {fileName} /T

Icacls 將分析的 C:\Shared 的權限結構,並建立 {fileName} 中所識別的檔案。 如 [ 圖 3 ,此檔案的內容會位於以二進位格式,且的結果檔案應該不在中開啟文字編輯器如 「 記事本 」。 但是,您可以使用這個檔案是在稍後重新套用這些權限。 重新套用到相同的資料夾權限的命令語法

fig03.gif

[圖 3 Icacls ’ 儲存函式建立可以在一個稍後重新套用的權限的檔案時間

icacls C:\Shared /restore {fileName} 

這,您有的容易部署解決方案時它們已經從您的原始設計 deviated 修正權限。

構想的權限

如您所見,icacls 是設定和管理使用權限非常有用的。 它不在優點可讓您看到您的權限結構。 如果您發現自己資料夾樹狀目錄下查核,每個資料夾上按一下滑鼠右鍵並選擇 [檢查每個物件的安全性] 索引標籤的內容就會知道是什麼是痛苦。 Icacls 沒有檢視權限,一種機制,但它的工具是文字為基礎和不完全的有用。 如果您執行命令

icacls C:\Shared /t

icacls 會列出您的整個資料夾結構中的每個物件上權限 ; 不過,監看依逐一飛 screenfuls 的文字不能找出中斷的權限。

是到目前為止的更好的作法是下載可用 AccessEnum 工具. AccessEnum 是一個非常簡單的應用程式,可協助您以視覺化方式檢視指派給特定的資料夾結構的使用權限。 特別,當您在資料夾樹狀目錄中的最上層資料夾目標 AccessEnum 時,工具會掃描檔案和資料夾下方和報告回權限的父代不同。

此差異為基礎] 檢視的權限可協助您尋找的權限已被設定錯誤。 它的運作是由於自然的方式,在其中的資料夾結構中設定權限。 如果您查看回 圖 1 ,您會看到如何設計良好的讀取權限通常是向下從流向頂部層級。 修改使用者變更的讀者,參與者權限設定在特定層級結構下。 AccessEnum 的差異為基礎的檢視會支援這隱藏不會變更的權限,並公開只執行一項。 [圖 4 ] 顯示 AccessEnum 的檢視可能的外觀套用至這個資料行的 [範例] 資料夾結構時的範例。

fig04.gif

[圖 4 AccessEnum 協助與視覺化 您權限結構。

使用 icacls 和 AccessEnum 的最後的結果應該是更為一致的應用程式內檔案伺服器的權限。 進一步的結果會更高的資料的安全性層級,當您將確定您的使用者可以存取只在 [檔案] 和 [意義的資料夾。

這個簡短的說明只會接觸到介紹 Windows 權限和方式可將它們套用。 透過像 icacls 工具,您可以設定套用到只有一個資料夾到以下,資料夾沒有繼承有用想要在單一圖層只允許存取的權限。 您可以設定需要特殊處理,無論您對其套用何種判別控制項的資料完整性層級。 您甚至可以跨整個結構,必要時搜尋檔案及權限。 因此取得雙手關閉該滑鼠,並開始架構從命令列的權限。

Greg 盾 ,MVP,是在集中技術協力電腦。 取得多個 Greg 的 Jack-of-all-Trades 秘訣和技巧,在 www.ConcentratedTech.com.