文件服务器权限的备份与半自动恢复——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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章