NTFS:防止/拒絕刪除「個人」資料夾中的目錄

NTFS:防止/拒絕刪除「個人」資料夾中的目錄

我有一個透過 CIFS 從 Windows 7「伺服器」共享的目錄。沒有網域:只是簡單的工作組。

我的用戶端透過伺服器上的「標準使用者」(無「管理員」)帳戶透過 LAN 存取此目錄。他們使用此共享作為“個人儲存”,因此他們需要對其內部的所有內容進行完整的創建/編輯/刪除。

問題是:我在伺服器端建立了一個目錄。該單一項目不應以任何方式進行編輯,而應可讀/可瀏覽/可列出(讓我們專注於目錄本身,而不是其中的文件(有時沒有))。

我正在使用 NTFS 權限:我刪除了從must-not-delete-directory 繼承的內容,因此我可以處理它的權限。

我刪除了客戶帳戶,在這個階段,只有系統、管理員和我自己擁有他們的權限。在此階段,用戶端既不能刪除也不能開啟該資料夾。

如果我添加拒絕“完全控制”規則,則不會發生任何變化(如預期)。

如果我修改該規則並僅允許“列出資料夾/讀取資料”,同時將所有其他規則保持為“拒絕”...使用者可以刪除該資料夾

這怎麼可能?我誤會了什麼?

注意:我仔細檢查了單個文件,而不是目錄:同樣的問題!

這是 Icacls 輸出:

不得刪除 NT AUTHORITY\SYSTEM:(OI)(CI)(F) muletto\Zane:(OI)(CI)(F) BUILTIN\Administrators:(OI)(CI)(F) muletto\myNetworkUser:(OI) ( CI)(接收)

成功處理1個文件;處理 0 個檔案失敗

答案1

好的。我可以確認,如果使用者對父目錄具有刪除子級存取權限,則他們可以刪除檔案(或刪除空目錄),而無需對該檔案/目錄進行寫入存取。如果我以前意識到這一點,我已經忘記了,但它是記錄在案的行為,例如,參見KB101651

有(至少)三種方法可以解決您的問題:

  • 授予使用者對父目錄的修改存取權限,而不是完全控制存取權限。完全控制和修改之間的唯一區別是「刪除子項目」權限(允許使用者刪除子物件)和「寫入 DAC」權限(允許使用者更改物件的權限,即使他們不是所有者)。

  • 將共享的權限設為“修改”而不是“完全”。這應該具有相同的效果,但只會影響網路用戶,而不影響互動用戶。一個副作用是使用者無法更改權限,即使是對自己的文件也是如此。

  • 在子檔案/目錄上設定唯讀標誌。文件在這一點上並不清楚,但我的測試(Windows 7)表明刪除子項目不允許您刪除文件或刪除設定了唯讀標誌的目錄。它也不允許您重置只讀標誌。請注意,Explorer GUI 暗示唯讀標誌對目錄沒有影響;事實上,它可以防止目錄被刪除。 (它不會阻止新檔案寫入該目錄。) 附錄:只讀標誌不會阻止目錄被移動。

其他注意事項:

  • 您可以明確拒絕對父目錄的「刪除子項」權限,但如果使用者對父目錄具有完全控制權,則他們可以刪除拒絕條目。

  • 在父目錄上擁有「刪除子目錄」權限不允許使用者從子目錄中刪除檔案或刪除子目錄(除非子目錄為空)。 附錄:它確實允許用戶移動子目錄。

相關內容