設置 Windows ACL 以允許子目錄訪問
我們正在將一些目錄從 NetWare 移動到 Windows,並且遇到了權限差異。因為 NetWare 使這很容易,所以我們有整個卷,在卷的頂部沒有使用者擁有任何權限,並且第一層、第二層和第三層目錄是授予權限的地方。由於 NetWare 受託人系統的工作方式,如果您可以訪問樹深處的目錄,則可以毫無問題地從根目錄瀏覽到該目錄。這有一個方便的副作用,即僅在您列舉您無權進入的目錄時顯示您有權訪問的目錄。
“僅顯示您有權訪問的目錄”的問題是通過 Microsoft 的基於訪問的列舉 (ABE) 解決的,是的,這是一件好事。
我們遇到的問題是弄清楚需要設置哪些權限和安全策略才能允許使用者從根共享瀏覽到他們有權訪問的目錄。範例使這更容易解釋。
\\server\share\finance\audit\auditreports\HR-Q4-2007
審計小組授予人力資源經理對上述審計報告目錄的權限(“HR-Q4-2007”)。在 NetWare 下,這將允許 HR 經理從 \server\share\ 開始,然後瀏覽財務、審計和審計報告,以進入目錄。一個許可,它就奏效了。
“繞過遍歷檢查”安全策略意味著 HR 經理可以將驅動器直接映射到 \server\share\finance\audit\auditreports\HR-Q4-2007\ 並且它會正常工作。這不是我們想要的,我們希望使用者能夠從頂部開始向下瀏覽。
這是否需要使用“遍歷文件夾”NTFS 權限來啟用此功能?如果是這樣,這意味著一個更複雜的權限環境,但我們可以解決它。當ABE也在使用時,這個問題如何解決?
您正在尋找應用於無繼承文件夾的“列出文件夾內容”權限(包括“遍歷文件夾”權限)。但是,為了使基於訪問的列舉起作用,您不能沿層次結構繼承該權限,因此您必須對它有點瘋狂。
在共享的根目錄下,添加權限“人力資源經理 - 列出文件夾內容”,然後在“高級”設置中,將該權限設置為“僅適用於此文件夾”。因為您沒有繼承對子文件夾或文件的新權限,所以 ABE 將“隱藏”使用者無權訪問的子文件夾和文件,但仍允許“人力資源經理”使用者遍歷共享的頂級文件夾。
重複向下移動層次結構的每個級別,直到您達到“人力資源經理”權限已允許的級別。
為許多不同的組執行此操作會導致文件夾上的 ACL 很大,並可能導致很多管理問題。我最終使用“經過身份驗證的使用者 - 列出文件夾內容”應用於共享的根目錄,並在根目錄下使用受限文件夾。我還嘗試使我的權限層次結構盡可能淺,這樣我就不必對較低級別的其他組執行“僅限此文件夾”的技巧,如果可能的話。
這是一個醜陋的黑客,但這是我所知道的讓基於訪問的列舉來做你想做的事情的最好方法。“繼承的權限過濾器”會非常好,並且會做我們想要的,但微軟沒有實現這樣的事情。
(我從不特別喜歡 Netware,但是文件系統上的權限模型與實時繼承和繼承過濾有關,非常棒。)