深入理解NTFS磁盤中共享資源權限設置

概述:
    對於Windows Server 2003,特別是Windows Server 2003 R2,用戶對於本地或遠程計算機資源的管理越來越方便和高效!文件服務器角色做爲Windows Server 2003最核心功能之一,有着多種使用方式,比如文件共享,DFS等。但不論是文件共享還是Dfs,要想安全高效的正常工作,都離不開合理的權限設置。
    本文以自己在部署文件服務器過程中的實踐總結,對共享資源權限設置經驗做一簡單分享,希望能給初次涉及相關應用的朋友提供參考!
    注:
     本文討論的文件權限控制只適應於NTFS格式的磁盤分區,因爲FAT和FAT磁盤分區沒有ACL表,所以無法利用NTFS進行權限控制,FAT或FAT32磁盤分區不在本次討論範圍之列!
 
一:理解共享權限與NTFS權限
    文件服務器的目的是提供共享資源,允許特定用戶和組通過網絡訪問適當的網絡共享資源。
    安全合理的設置網絡共享資源控制離不開正確的網絡共享資源訪問權限。
  網絡共享資源訪問權限是由共享權限和NTFS權限組合而成,取兩者的最小權限集合。其中:
    1:共享權限僅對通過網絡訪問的用戶和組起作用,無法對任何本地用戶和交互式登錄的用戶起作用,本地用戶和交互式登錄的訪問權限通過NTFS權限控制。
    2:共享權限決定了通過網絡訪問共享資源所能取得的最大權限。
    3:作爲Win2003新特徵之一,默認情況共享權限中的Everyone 不包含Anonymous(匿名用戶)。
       4:NTFS 權限作用於以任何方式訪問文件或文件夾的用戶。
       5:NTFS權限不僅可應用於文件夾,也可以應用於具體文件。
       6:文件權限優先於文件夾權限
       7:顯式的拒絕權限優先。
            8:顯式的允許權限優先於繼承的拒絕權限
 
二:理解共享權限決定了通過網絡訪問共享資源所能取得的最大權限
  個人感覺“共享權限決定了通過網絡訪問共享資源所能取得的最大權限”是理解整個共享資源權限設置中最關鍵的地方,多數共享資源權限設置設想與實際效果出現偏差,都與沒有正確理解這句的含義有關。
  我們知道,網絡共享資源訪問權限是由共享權限和NTFS權限組合而成,但共享權限決定了最大權限訪問,而實際訪問權限是取兩者最嚴格權限集。
    如果NTFS權限比共享權限小,那就取NTFS權限。
    如果NTFS權限比共享權限大,那就取共享權限。
 
三:三個典型案例深入理解共享資源權限設置
    案例一目標:理解共享權限決定通過網絡訪問共享資源所能取得的最大權限
    實驗步驟:
    1:在文件服務器共享資源中將某一個共享文件夾共享權限設爲只讀。
              
 
    2:對同一文件夾,在安全選項框中給該用戶所屬組NTFS權限設置爲完全控制
             
 
        3:在客戶機通過網絡訪問該文件夾,只能查看文件夾,無法修改刪除以及新建文件夾或文件
             
 
        通過該案例可以確認共享權限決定通過網絡訪問共享資源所能取得的最大權限。
 
 
    案例二目標:理解權限繼承和如何查看和分析有效權限
  實驗步驟:
    1:在文件服務器共享資源中將某一個共享文件夾共享權限設爲完全控制。
            
 
        2:NTFS安全權限選擇默認選項。
            
 
   3:在客戶機通過網絡訪問該文件夾,測試此時該用戶權限。
            
 
            
 
           由上面兩圖很明顯看出,此時用戶可以創建文件夾也可以創建文件,
           同時也可以刪除自己創建的文件夾或文件。但從NTFS權限設置來看,
      用戶應該只有讀取和列出文件夾權限,沒有寫入和修改的權限。
      但爲什麼會出現上圖所示的看似異常情況呢?
      原因分析與定位:
    1:在文件服務器對該文件夾針對測試用戶查看有效權限,實際權限如下圖
              
 
      上圖可以看出在當前案例權限設置下,該用戶確實擁有創建和寫入的權限。但這種權限不是顯式設置,而是通過繼承擁有的。那麼上述那個權限是該用戶從哪兒繼承擁有的呢,權限查看工具Showacls可以幫我們找到答案:
     
 
           從上圖我們可以看出具體原因所在:
   該用戶之所以擁有上述兩個權限,是因爲在NTFS權限設置中採用的是默認權限設置,默認權限設置中除了讀取權限外,還有一個“特別的權限”。特別權限繼承自磁盤根目錄權限設置。默認的磁盤根目錄NTFS權限設置如下圖:
         
 
   在“高級”選項中,我們可以很清楚知道當前用戶所屬的域用戶組有創建和寫入權限:
 
            之所以通過權限查看工具看到的不是直接的User(Superlan\Users),而是BUILTIN\Users用戶。參考相關資料可以知道,BUILTIN\Users用戶組默認包括域中創建的所有用戶成員,也包括Domain Users用戶組。
 

    案例三目標:理解顯式的允許權限優先於繼承的拒絕權限
  實驗步驟:
   1:對共享文件夾中itTrainer子文件夾添加Superlan\itTrainer用戶,並添加”拒絕寫入”權限。
          
 
           2:在itTrainer文件夾中,添加一個TestFolder文件夾,並對ITTrainer用戶添加“允許寫入”權限。
          
 
            此時對於該文件夾,itTrainer用戶既有顯式的允許寫入權限,又有繼承的拒絕寫入權限。那麼實際的權限到底是允不允許寫入,在客戶端測試就很容易得出結論:
 
          
 
四:共享資源權限設置建議
    通過上面幾個典型案例的權限設置和分析,已經把共享資源權限設置中比較難以理解的知識點做了詳細的闡述。相信如果真正理解上述相關知識,設置安全可靠的文件服務器不會再是一件難事。
  有興趣的朋友可以自行測試,也可以參考以下鏈接中的權限控制:
  [url]http://alligator.blog.51cto.com/36993/97664[/url]
  如有疑問,歡迎與我溝通和交流。

    下面列出共享資源權限設置的幾點建議:
  1:爲提高性能和控制方便,儘量不要針對單個文件設置權限,建議將文件放置於特定文件夾,針對文件夾設置權限
  2:爲提高性能和控制方便,儘量不要針對單個用戶設置權限,建議將用戶放置於安全特定組,針對安全組設置權限
       3:爲更好控制訪問權限,避免權限繼承混亂,建議必要時刪除權限繼承,手動設置權限。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章