【51CTO独家特稿】微软悄悄地推出了Windows Server 2003 SP2,在使用中对于对于NTFS访问控制列表及权限集成的使用需要引起的重视。NTFS磁盘分区上的每一个文件和文件夹,NTFS都存储一个远程访问控制列表(ACL,Access Control Lists)。ACL中包含有那些被授权访问该文件或者文件夹的所有用户账号、组和计算机,还包含他们被授予的访问类型。
为了让一个用户访问某个文件或文件夹,针对相应的用户账号、组,或者该用户所属的计算机,ACL中必须包含一个对应的入口,这样的入口叫做访问控制入口(ACE,Access control entries)。为了让用户能够访问文件或者文件夹,访问控制入口必须具有用户所请求的访问类型。如果ACL没有相应的ACE存在,Windows Server 2003就拒绝该用户访问相应资源。
上图即一个ACL,包含了四个ACE,分别给予administrator完全控制权限,system完全控制权限,authenticated users修改权限,users读取和执行权限。Windows允许单独为用户指定权限,同时也可以为用户所隶属的每一个组指定权限,从而为一个用户账户指定多重权限。
为了理解多重继承,需要了解NTFS权限的一些原则。
1) 权限的积累
用户对资源的有效权限是分配给该个人用户帐户和用户所属的组的所有权限的总和。如果用户对文件具有“读取”权限,该用户所属的组又对该文件具有“写入”的权限,那么该用户就对该文件同时具有“读取”和“写入”的权限,举例如下:
假设情况如下所示:
有一个文件叫FILE。
USER1用户属于GROUP1组
2) 文件权限高于文件夹权限
意思就是说NTFS文件权限对于NTFS文件夹权限具有优先权,假设你能够访问一个文件,那么即使该文件位于你不具有访问权限的文件夹中,你也可以进行访问(前提是该文件没有继承它所属的文件夹的权限)。
举例说明如下:假设你对文件夹FOLDER没有访问权限,但是该文件夹下的文件FILE.TXT没有继承FOLDER的权限,也就是说你对FILE.TXT文件是有权限访问的,只不过你无法用资源管理器之类的东西来打开FOLDER文件夹,你无法看到文件FILE而已(因为你对FOLDER没有访问权限),但是你可以通过输入它的完整的路径来访问该文件。比如你可以用 c:\folder\file.txt来访问FILE文件(假设在C盘)。
3) 拒绝高于其他权限
拒绝权限可以覆盖所有其他的权限。甚至作为一个组的成员有权访问文件夹或文件,但是该组被拒绝访问,那么该用户本来具有的所有权限都会被锁定而导致无法访问该文件夹或文件。也就是说上面第一点的权限累积原则将失效。举例说明如下:
假设情况如下:
有一个文件叫FILE。
USER1用户属于GROUP1组
那么USER1对FILE的权限将不再是:读取+写入,而是无法访问文件FILE。另外一种情况是拒绝原则与累计原则并存,举例如下:
有一个文件叫FILE。
USER1用户属于GROUP1组,同时也属于GROUP2组,
那么USER1对FILE的权限为:读取(根据累计原则,USER1对FILE本来有:“读取+写入”权限,但是由于USER1所属的GROUP2组被拒绝写入,所以就只剩下“读取”权限了
系统的默认设置是权限从父文件夹继承的。新建的的子文件夹和文件具有与其父文件夹相同的访问控制表,使得管理共享文件夹环境变得更加容易,用户不必担心在新文件夹或文件中调整权限。
可以拒绝继承上级权限,也可以强制下级继承权限,即父对象上的权限将替换其子对象上的权限。在强制下级文件夹或者文件继承权限的过程中,当前用户没有权限处理的文件夹或者文件将不会继承权限。
让UserA创建一个文件夹,里面包含一个子文件夹和一个管理员创建的文件,而管理员创建的文件UserA是没有权限的,然后让UserA把上一层的文件夹做强制,会发现由UserA创建的文件和文件夹会继承下来。而管理员创建的内容不会继承。
【51CTO独家特稿,合作站点转载请注明原文译者和出处。】
【编辑推荐】
- 配置Windows Server 2003网络负载均衡
- Windows Server 2003 集群中的仲裁
- Windows Server 2003服务器集群体系结构
- Windows Server 2003集群服务技术概述
- 自动管理Windows Server 2003上的后台打印