文件服務器權限的備份與半自動恢復——windows篇

 你有沒有試過,當某天文件服務器突然死掉之後,重裝系統添加好用戶之後,麻煩事來了,以前幾十甚至上面個共享目錄的NTFS權限要重新設

置,那不累死人?難道真的沒有辦法了。其實我們動動腦子,問題還是能解決的。
也許有人說,建個原來一樣的用戶名後,權限就不用重新設了,這當然是錯的,因爲NTFS權限是和UID匹配的,而非用戶名,同一個用戶,UID

是不同的。廢話少說,我們開始吧。

首先,先要備份文件目錄的權限,應該很多人都知道吧,就是用cacls命令了,先看cacls命令的用法:
顯示或者修改文件的訪問控制表(ACL)
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
        [/P user:perm [...]] [/D user [...]]
filename      顯示 ACL。
/T            更改當前目錄及其所有子目錄中指定文件的 ACL。
/E            編輯 ACL 而不替換。
/C            在出現拒絕訪問錯誤時繼續。
/G user:perm  賦予指定用戶訪問權限。
    Perm 可以是: R  讀取
             W  寫入
             C  更改(寫入)
             F  完全控制
/R user       撤銷指定用戶的訪問權限(僅在與 /E 一起使用時合法)。
/P user:perm  替換指定用戶的訪問權限。
        Perm 可以是: N  無
                     R  讀取
                     W  寫入
                     C  更改(寫入)
                  F  完全控制
/D user       拒絕指定用戶的訪問。

在命令中可以使用通配符指定多個文件。
也可以在命令中指定多個用戶。
---------------------------------------------------------------------------------------
備份的時候我們用得的參數比較少,一般來說就是:cacls 需要備份的共享目錄 /t >cacls.txt

就可以把整個共享目錄的acl列表(也就是權限了)導出到當前目錄下的cacls.txt,我們打開cacls.txt看看。
D:/test COMPUTER/small:(OI)(CI)F
        NT AUTHORITY/SYSTEM:(OI)(CI)F
D:/test/ BUILTIN/Users:(OI)(CI)R
             COMPUTER/small:(OI)(CI)F
NT AUTHORITY/SYSTEM:(OI)(CI)F
其中 COMPUTER就是機器名了, BUILTIN表示後面是組名, NT AUTHORITY後面就是系統用戶了,而用戶名後的(OI)表示對象繼承(ACE 會由目錄繼

承),(CI)表示容器繼承(ACE 會由文件繼承),其它還有IO 表示只繼承(ACE 不適用於當前文件/目錄)。

第二,這纔是重點,我們需要恢復NTFS權限,也可以用cacls這個命令,我們打開備份的權限列表,如test目錄:
cacls D:/test /t /c /e /g  small:F
當我們使用/c參數時有些目錄可能會出現到需要你輸入Y/N,現在xcacls就能解決這個問題了,它有個很好的參數,那就是/Y 禁止在替換用戶訪問權限時出現確認提示。默認情況下,CACLS 要求確認。由於存在此功能,在批處理例程中使用 CACLS 時,例程將停止響應並等待輸入正確答案。引入 /Y 選項後可消除此確認,從而可以在批處理模式下使用 Xcacls.exe。

如:在命令提示符下鍵入 XCACLS *.* /G administrator:RW /Y,然後按 Enter 以替換當前文件夾中所有文件和文件夾的 ACL,而不掃描子文

件夾且不進行確認。

但如果我們有很多用戶很多目錄,而它們的權限又各不相同的話,這樣一個個來設,那也是一件挺大的工程。但下面,我介

紹一種更好的辦法,可以省去大量的時間。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
我們要先下載“半自動恢復權限程序測試版”(可到[url]http://n3tl04d.ys168.com[/url]或中國網管聯盟論壇下載 權

限恢復),要建立和原系統一樣的用戶名,先看說明。
對備份權限的文本處理,我們先要去掉用戶名前的主機名和後面的(OI)(CI)等多餘的東東。
如下面
D:/test/BUILTIN/Users:(OI)(CI)R
        COMPUTER/bl:(OI)(CI)F
    NT AUTHORITY/SYSTEM:(OI)(CI)F
應該要變成
D:/test/Users:R
    bl:F
    SYSTEM:F
然後去掉父目錄(如D:/test)的繼承,接下來就可以使用該程序恢復NTFS權限了,使用很簡單,就是“ca d:/cacls.txt(NTFS權限的備份文本文件)”,至此,權限全部恢復完畢。

本文出自 “n3tl04d's Blog-技術成就夢想” 博客,請務必保留此出處[url]http://n3tl04d.blog.51cto.com/89255/67303[/url]

發佈了26 篇原創文章 · 獲贊 2 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章