关于文件夹权限的十个问答

1、当设置文件夹权限的时候“共享”与“安全”有什么区别?

    a.当为一个文件夹设置共享之后,就会有“共享”的选项需要设置共享的目的是用来通过网络来访问的,
    b.当分区格式为NTFS的时候,就会有“安全”的选项需要设置,一个放置在NTFS分区中的文件夹,总是会有“安全”选项,即使这个文件夹不是被用于共享目的的,有一种可能是,仅为本地使用时:一台电脑的D盘是NTFS格式的,这台电脑是给多个人使用的,这个时候可以为不同的本地用户设置“安全”权限来实现各人对于文件访问安全的需求,这样不同的用户登录此台电脑时,就可以控制各人不能访问其他本地帐号的访问了。

2、“共享”和“安全”都有的时候,此时该怎样分别设置“共享”和“安全”?

    这种情况是非常常见的,一台Server如果是作为文件服务器的,那么大多数的情况下(也是推荐的设置)一个文件夹既在NTFS分区中,也会用于共享,个人认为,此时考虑权限设置的简化和清晰以及安全性的保证,在“共享”中应当设置everyone --> 完全控制,然后到“安全”中设置详细的权限,比如说某个域中的组可以完全控制,某个域中的帐号只可以读等等。可能会有人认为在共享”中设置everyone完全控制有安全隐患,但是事实上此时这个文件夹的权限会另外由“安全”中的设置来控制权限,所以并不会有安全隐患,除非你把“安全”中也设置成为everyone完全控制。

3、既然如你所推荐,在“共享”中把Everyone设成完全控制,那么请教,里面的其他读、修改这些选择岂非是无用的?难道微软瞎搞?

    有一种情况下是有用的,就是当你的分区是FAT16/FAT32时,此时是没有“安全”选项的,所以此时需要通过“共享”中的设置来设定一些不同的权限,当然比起“安全”来,它的详细程度要差很多。

4、说了半天Everyone,那么Everyone到底是什么?

    在windows2000以及之前的OS版本中,这个组除了包含包括"Authenticated Users"和"Guests"两个组,还包含了"Anonymous Logon"组,它表示"每个人"的意思。

    在windows2003和XP中,Everyone只包括"Authenticated Users"和"Guests"两个组,而不再包括"Anonymous Logon"组,所以它表示了"可访问计算机的所有用户",而不再是"每个人"!请注意这是有区别的,"可访问计算机的所有用户"意味着必须是通过认证的用户,而"每个人"则不必考虑用户是否通过了认证。从安全方面来看,这一点是直接导致安全隐患是否存在关键所在!

附: 如果想在 Windows XP中实现Windows 2000中那种"Everyone"设计机制,那么可以通过编辑"本地安全策略"来实现,方法是:在"运行"栏中输入"Secpol.msc"命令打开" 安全设置"管理单元,依次展开"安全设置"→"本地策略",然后进入"安全选项",双击右侧的"网络访问:让‘每个人'权限应用于匿名
用户"项,然后选择"已启用"项即可。

5、又搞出Authenticated Users 和Anonymous Logon,这两个家伙又是什么?

    Anonymous Logon:任何没有经过Windows 验证程序(Authentication),而以匿名方式登录域的用户均属于此组;

    Authenticated Users:与前项相反,所有经过Windows 验证程序登录的用户均属于此组。设置权限和用户权力时,可考虑用此项代替,需要注意的是:计算机帐号也是一种用户

6、如此麻烦,那么我在设置权限的时候设置DomainUsers、Authenticated Users以及Everyone有什么区别?

    前面第3个里面说了2k和2k3的everyone是有区别的,我们这里用2k3中的everyone来说:
    Domainusers:只是代表域中的用户帐号。
    Authenticated Users:森林中所有经过Windows 验证程序登录的用户均属于此组,包括用户帐号和计算机帐号。

    Everyone:包含"Authenticated Users"和"Guests"两个组。
    注意上面蓝色highlight的地方,事实上一个森林中会有很多个域,此时如果仅仅设置domainuser,其他域中的帐号将无法访问。所以如果你的文件夹需要For森林中所有用户,那么建议设定Authenticated Users,而Everyone由于包含了Guests组,一般不建议,即使Guests组中仅仅包括默认被禁用的guest帐号,此时如果guest被启用,那么你设置Everyone读的文件夹就会允许被访问。

7、你说的Authenticated Users包括计算机帐号无法理解,用户帐号有密码,而计算机帐号并没有密码一说,那么没有密码又何来验证?经过验证的计算机帐号又有什么用?

   
计算机帐号没有密码,他是通过本身来验证的。文件夹验证权限的顺序是
    a、先使用当前登录的用户帐号验证身份
    b、如果a
不通过,再使用计算机帐号验证身份。
   
你可以做一个实验,为一个网络上的文件夹仅仅设置一个权限Authenticated Users 读,然后你到另一台处于相同域中的电脑上,登录到本机,此时你会发现你仍然可以通过访问刚刚设置的那个共享文件夹,其实此时由于登录到本机,而本机的帐号是无法通过域中的身份验证的,所以此时实际上是通过计算机帐号验证的。
    c、计算机帐号的验证据我所知会用在一个地方:组策略
    组策略中有一种是“计算机策略”,这种策略是在客户端电脑的登入到域之前就生效的,如果我在计算机策略中设置了一个“开机脚本”,那么你可以想象,电脑尚未登录,它是怎样提供身份验证给DC然后下载脚本的呢?看看你DC上的sysvol这个共享目录,它的“安全”设置就是通过 Authenticated Users 这个组来设的,目的就是为了让域中计算机帐号也能通过验证来下载开机脚本。所以如果你的开机脚本不是放在默认的sysvol路径下,而是在某个域中文件服务器的共享目录中,此时你需要为这个目录设置Authenticated Users 读,你的客户端电脑才可以访问;否则如果仅仅是用DomainUsers来设置,脚本将会由于无权访问而无法运行,这个也可以做个实验验证一下。

8、我们服务器上一个共享文件夹中的的一个子文件夹,谁也无法打开,提示没有权限,我使用管理员帐号也不行,我右键打开文件夹的属性,发现在“安全”中没有任何设置,我尝试在其的父文件夹来将权限“套”下来,可是仍然提示我没有权限。此时我改怎样才能打开此文件夹。

    这种情况较为常见,一般原因是有人有意或无意将这个子文件夹的权限给全部删除了,(大多无意的情况是在取消此子文件夹继承权限选项时,面对提示,选择了“移除”)此时即使是本地的管理员组中的成员也无法访问。我的处理思路是这样的:
    a、因为是由于没有权限而无法访问,所以需要加权限,然后此时即使是本地管理员组中的成员也无法加权限,只有这个文件夹的“所有者”(Owner)可以,这个“所有者”一般来说是这个文件夹的创建者,查看方法:
        在此子文件夹的属性对话框,点击"安全"选项卡设置界面中的"高级"按钮,在弹出的"(用户名)高级安全设置"界面中点击"所有者"选项卡,从其中的"目前该项目的所有者"列表中就可以看到当前资源的所有者是谁了。



     b、如果你恰好认识这个“所有者”,然后让他登录去加权限,当然最好;可是往往是你一时无法找到此“所有者”,或者甚至此帐号都被删除了,那么此时只能去修改“所有者”,本地管理员组中的成员可以修改本地电脑中任意文件夹的“所有者”。

    OK,所以一般来说处理这个问题的办法是:
    a、用本地管理员帐号,修改其“所有者”为本地管理员组,地方同查看“所有者”一样,并点完所有“确定”,关闭属性对话框。
    b、用本地管理员帐号,为自己增加完全控制的权限。
    c、此时应可以打开此文件夹,并可为其他人增加权限。

9、我们文件服务器上的文件夹被删除了,但是不知道是被谁删除的,有什么办法可以找到肇事者?

    这个问题也曾一度困扰我好久,目前能够知道的办法是:
    a、在你的文件服务器上,针对此文件夹开启“审核”,可以仅仅选择domainusers --> delete



    b、在你的文件服务器上的本地安全策略中开启:稽核物件存取-成功



    c、将你的Eventlog上的Security部分设置的足够大,因为开启了审核之后,日志量非常大,如果不设大了,后面的默认会覆盖前面的,就没法查了。之前我遇到的是每天有600MB的日志,所以我又做了一个Script,每天导出并删除Security的Eventlog。

    d、如果有人删除了文件夹需要找到这个家伙,可以到Eventlog的Security部分去search,在描述字段输入那个文件夹的路径名称,并且设置好时间区间。

10、有什么办法能够备份权限?

    是的,对于文件服务器来说,对文件夹权限的备份仅次于备份文件夹本身,一般来说备份软件都提供了这项支持,如Veritas的或者是自带的NTbackup,他们在备份文件夹的时候会将其中的“安全”的权限也备份下来。

    而“共享”的权限的备份可以使用下面的方法:

http://gnaw0725.blogbus.com/logs/7519797.html

二、共享属性、共享权限的保留 
<
1>利用注册表的导出/导入实现,具体操作如下:
1
  在共享资源所在源计算机上,开始/运行:regedit 
2
  找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares
3
 shares项上右键,将所有共享及其权限设置信息导出为.reg文件 
4
  在目标计算机上,双击.reg文件导入 
5
  在我的电脑/右键/管理,计算机管理的服务下,重新启动Server服务。 

<
2>如果共享资源的数量较少,也可以使用03 Resource Kits工具中的PermCopy将共享权限设置复制给目标,目标文件夹必须先共享出来,同一计算机上共享名不能相同。
  利用PermCopy必须针对各个共享资源,逐个去复制共享权限(也仅是共享权限,不会复制NTFS权限、文件及文件夹)。命令格式如下: 
      PermCopy \\源计算机 共享名 \\目标计算机 共享名

    另外,有的时候可能你只需要临时备份一下文件夹,那么此时你可以使用xcopy来快速的备份文件夹的结构和权限设置,在windows2003中已经有了这个命令你可以使用/e 复制目录和子目录 /t 仅复制文件夹结构 /o 复制安全性设置,其他的选项可以查看改命令帮助。

总结:权限的设置看似简单,实则还是有些门道的,即使做了不少时间的Windows管理员也未必很清楚里面的门道,愿我能抛砖引玉。上面的是一些问答,还有一些属于基本概念的,比如说,移动和复制文件夹时“安全”中的设置的变更,权限的继承原则,设置权限的技巧等等,可以参考下面的一些文章。

之前一篇关于权限的blog:user4/241601/archives/2007/1949649.shtml

参考:Windows权限http://baike.baidu.com/view/583933.html

http://technet2.microsoft.com/WindowsServer/zh-CHS/Library/1494bf2c-b596-4785-93bb-bc86f8e548d52052.mspx?mfr=true

 

Windows 操作系统中的常见安全标识符
http://support.microsoft.com/kb/243330

原文地址:https://www.cnblogs.com/xiaocai0923/p/2173147.html