频道栏目
首页 > 系统 > Linux > 正文

文件服务器权限的备份与半自动恢复之windows篇

2009-07-14 09:07:32           
收藏   我要投稿

来源:n3tl04ds Blog

你有没有试过,当某天文件服务器突然死掉之后,重装系统添加好用户之后,麻烦事来了,以前几十甚至上百个共享目录的NTFS权限要重新设置,那不累死人?难道真的没有办法了。其实我们动动脑子,问题还是能解决的。也许有人说,建个原来一样的用户名后,权限就不用重新设了,这当然是错的,因为NTFS权限是和UID匹配的,而非用户名,同一个用户,UID是不同的。废话少说,我们开始吧。

   首先,先要备份文件目录的权限,应该很多人都知道吧,就是用cacls命令了,先看cacls命令的用法:
显示或者修改文件的访问控制表(ACL)

               [/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: est COMPUTERsmall:(OI)(CI)F
        NT AUTHORITYSYSTEM:(OI)(CI)F
             COMPUTERsmall:(OI)(CI)F
NT AUTHORITYSYSTEM:(OI)(CI)F
其中 COMPUTER就是机器名了, BUILTIN表示后面是组名, NT AUTHORITY后面就是系统用户了,而用户名后的(OI)表示对象继承(ACE 会由目录继承),(CI)表示容器继承(ACE 会由文件继承),其它还有IO 表示只继承(ACE 不适用于当前文件/目录)。
cacls D: est /t /c /e /g  small:F
当我们使用/c参数时有些目录可能会出现到需要你输入Y/N,现在xcacls就能解决这个问题了,它有个很好的参数,那就是 /Y  禁止在替换用户访问权限时出现确认提示。
如:在命令提示符下键入 XCACLS *.* /G administrator:RW /Y,然后按 Enter 以替换当前文件夹中所有文件和文件夹的 ACL,而不扫描子文件夹且不进行确认。
但如果我们有很多用户很多目录,而它们的权限又各不相同的话,这样一个个来设,那也是一件挺大的工程。但下面,我介绍一种更好的办法,可以省去大量的时间。
   我们要先下载“半自动恢复权限程序测试版”(可到http://n3tl04d.ys168.com/或中国网管联盟论坛下载 权限恢复),要建立和原系统一样的用户名,先看说明。
对备份权限的文本处理,我们先要去掉用户名前的主机名和后面的(OI)(CI)等多余的东东。
如下面
D: estdddd BUILTINUsers:(OI)(CI)R
             COMPUTERl:(OI)(CI)F
             NT AUTHORITYSYSTEM:(OI)(CI)F
应该要变成
D: estdddd Users:R
             bl:F
             SYSTEM:F
然后去掉父目录(如D: est)的继承,接下来就可以使用该程序恢复NTFS权限了,使用很简单,就是“ca d:cacls.txt(NTFS权限的备份文本文件)”

至此,权限全部恢复完毕。

上一篇:Linux防火墙扩展技术与入侵检测实现
下一篇:在单个硬盘驱动器上构建双引导 Linux 系统
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站