Vista ACL
2008-08-22 17:27:28 来源:WEB开发网一 ACL (访问控制列表概述)
Windows操作系统在发行Windows NT时加入了ACL (帐户访问控制表),ACL并非Windows的专利,在Linux、MAC OS系统中同样存在。分级管理每个帐户组的权限可以有效的控制系统管理员组帐户和用户帐户组的访问权限,最大限度杜绝了安全隐患。ACL控制包括 FileSystemACLs 文件系统帐户访问控制、Networking ACLs 网络帐户访问控制等。
二 Vista 系统中的 ACL 变化
Windows Vista 的ACL 结构和 Windows XP系统的ACL基本相同,但是细节的变化帮助 Windows Vista 系统的安全性有了质的飞跃,UAC(用户帐户控制)的底层就是ACL,由于Windows XP 的ACL分配不够合理,比如默认的ACL 赋予Everyone用户组读取权限,同时Users组成员赋予创建文件夹的权限。由于Power Users组存在多种严重的问题,在Vista中Power Users组权限已删除。同时Support_xxxxxx 和 HelpAssistant 帐户均已删除(如果从Windows XP升级安装将会保留),在Windows Vista中加入了两个新的帐户分别是 DIALUP 帐户和 INTERNET 帐户。在 Windows Vista 中,大多数操作系统文件由 TrustedInstaller SID 所有,而且只有该 SID 才对这些文件具有完全控制。这是加入 Windows Vista 的系统完整性工程的一部分,其目的专门在于防止作为管理员或“本地系统”运行的进程自动替换这些文件。因此,要删除操作系统文件,您需要获得该文件的所有权,然后对其添加一个允许您删除它的 ACE。
最终导致的变化: Windows XP- 所有的操作系统文件均由 Administrators 组所有,而且管理员对这些文件拥有完全控制。作为该组的一员,您可以不受限制地访问这些文件。但是在 Windows Vista 中系统管理员组的帐户同样受到一定的限制。
三 ACL对每个用户(组)的标识
ACL针对用户和用户组,采用了SID (Security Identifier)来管理,SID类似S-1-5这样的信息,更多关于SID的相关信息可以查看微软知识库 http://support.microsoft.com/kb/243330 。(Vista地带提示:系统管理员和系统管理员组的SID是不相同的,administrator系统管理员的RID相对标识符为500,它们的值在所有操作系统中都相同,同时SID在命令控制台环境故障恢复控制台中同样适用)。
四 实例演示
操作ACL,我们可以使用 runas 命令
runas /trustlevel 0x20000 不包含特权的令牌的标准SID。
runas /trustlevel 0x40000 给予完全正常的令牌。
“绕过遍历检查”特权(也称为 SeChangeNotifyPrivilege), everyone用户组具有的权限,但在Vista中不具有以下权限
SeTimeZonePrivilege
SeShutdownPrivilege
SeUnDockPrivilege
SeIncreaseWorkingSetPrivilege
这也就是为什么UAC总是弹出的原因之一。
文章来源:http://liyanglynne.spaces.live.com/blog/cns!B8E2821A6F4012E5!234.entry
更多精彩
赞助商链接