您好, 访客   登录/注册

系统安全守护神

来源:用户上传      作者:

  由于自己硬盘空间比较紧张,小张准备根据网上介绍的方法进行手动减肥,可是在试图删除“C:\Windows\System32\IME”文件夹下的多余的日文和韩文输入法时,系统却提示需要Trustedinstaller提供的权限才能对此文件进行更改(见图1)。
  
  可是自己明明已经以超级管理员(Administrator身份登录系统,为什么仍然没有最高权限?Trustedinstaller到底是个什么账户,又需要什么样的权限才能删除文件?其实要解答这些问题,我们就要了解Win7全新的权限安全保护机制。
  
  揭起你的盖头来―初识Trustedinstaller账户
  大家知道Win7相比WinXP系统,它使用了更为严格的权限保护。默认情况下很多重要的系统文件都添加了严格的权限保护,Windows资源保护(英文简称WRP)就是其中一个重要的权限保护措施,Trustedinstaller正是执行WRP的账户。
  
  小知识
  什么是Trustedinstaller 账户和Windows资源保护
  Trustedinstaller,全称为“NT service\Trustedinstaller”,它其实是Win7中内置的一个虚拟账户。原来在Windows Vista/7中,系统会对重要的系统文件夹,例如“C:\Program Files”、“C:\Windows”、“C:\Windows\system32”等进行安全保护。默认情况下对系统文件读取只有Trustedinstaller才有完全控制权。
  Windows资源保护(英文简称WRP),这是从Vista开始引进的一个重要安全特性。它利用资源的权限设置,设置只有TrustedInstaller账户才是资源的所有者和拥有完全控制权限,就连管理员组的Administrators也没有完全控制的权限,只有受信任的安装包才可以使用TrustedInstaUer账户的身份修改系统文件夹下的内容。而且在默认情况下,系统管理员账户是无法对文件的权限进行编辑的,这就有效保护系统文件被误删除或者被非授权重命名,导致系统的不稳定。
  
  
  在上述操作中,虽然小张已经以Administrator身份登录,但是由于WRP保护,所以Administrator没有删除文件权限,导致小张无法删除输入法文件。通过右击文件,选择“属性→安全”,在“组和用户名列表”下可以看到系统的“Administrators组”对该文件只有“读取和执行”、“读取”权限(而且权限编辑复选框是灰色无法更改),这就是无法删除输入法文件的原因(见图2)。
  
  小提示
  Win7还有很多系统文件(夹)是受系统中另一个特殊账户SYSTEM保护,比如保存系统修复环境的“C:\Recovery”目录,保存系统还原的“System Volume Information”等,这些账户完全控制权限赋予SYSTEM账户,即使我们以Administrator身份登录也无法进入上述目录。
  
  
  对症下药,获取Trustedinstaller权限
  既然文件无法删除是由于权限的原因导致,解决方法自然是更改文件权限,使当前管理员账户获得该文件“完全控制”权限。不过对于受Windows资源保护的文件,我们需要先取得文件所有权,接着才能对权限进行更改。
  首先到http://www.kuaipan.cn/index.php?ac=file&oid=3237430383608212下载“管理员取得所有权.reg”,下载后导入注册表,现在只要再次选中上述文件右击选择“获取管理员权限”,成功变更权限后即可轻松删除受保护系统文件了(见图3)。
  
  
  小提示
  “管理员取得所有权.reg”实际上是一个批处理命令,它包含“takeown”(变更文件所有者为当前账户)和“icacls”(编辑权限赋予当前账户“完全控制”权限)命令,通过变更所有者和权限来获取文件完全控制权,从而实现对操作文件(夹)的完全控制权限。这也是Win7下对付权限问题的通用解决方法,但是如果要更改的权限文件很多,比如要删除升级安装后出现的“windows.old”目录,此时可以使用PE启动盘引导进入PE系统,使用SYSTEM登录批量删除受权限保护的文件。PE的SYSTEM账户和Win7内置SYSTEM账户不同,前者默认拥有对所有文件的完全控制权。
  
  
  应用扩展:使用Trustedinstaller账户保护重要文件
  从上面描述我们知道了Windows资源保护可以很好保护文件的安全,那我们何不将自己重要个人文件也设置为受Windows资源保护呢。比如现在需要设置“c:\windows\近日计划.txt”受Windows资源保护。
  第1步:右击“c:\windows\近日计划.txt”选择“属性→安全”,单击右下角的“高级”按钮,打开“高级安全设置”对话框,切换到“所有者”选项卡,依次打开“选择用户或组”对话框,输入“NT SERVICE\TrustedInstaller”,单击“确认”将当前文件所有者设置为“TrustedInstaller”,这样就恢复了系统默认设置(见图4)。
  第2步:返回高级安全属性编辑窗口,切换到“权限”选项卡,单击“更改权限”,在打开的窗口去除“包括可从该对象的父项继承的权限”前的勾选,在打开的对话框单击“删除”(见图5)。
  第3步:返回权限编辑窗口,依次单击“选择用户或组”,添加“Adminitartors组”到组和用户名列表,并将其允许权限设置为“读取和执行”、“读取”(见图6)。
  第4步:同上,继续添加“NT SERVICE\TrustedInstaller”账户到组合用户列表,将其允许权限设置为“完全控制”,最后依次单击“确定”返回。经过上述设置后,“c:\windows\近日计划.txt”就开始受Windows资源保护了。即使用户以管理员身份打开该文件属性设置窗口,用户也是无法对权限进行编辑(编辑按钮为灰色不可用,但是不影响用户读取和运行),这样可以有效保护自己文件的安全,其他要保护文件的操作类似(见图7)。
  
   小提示
  快速恢复系统文件默认权限
  Windows资源保护可以有效保护系统文件安全,如果错误对受保护的系统文件进行了更改,可能导致系统运行不稳定。要恢复系统默认保护,只要以管理员身份启动命令提示符,输入下列的命令即可恢复默认保护;
  icacls c:\Windows\System32 /reset
  icacls c:\Windows\System32 /inheritance:d
  icacls c:\Windows\System32
  执行上述命令之后“System32”文件夹即可恢复默认权限(其他系统目录操作类似)。接着操作同上,将目录所有者设置为“NT SERVICE\TrustedInstaller”即可。
  
  
  
  写在最后:谁才是Win7中拥有最高权限的账户?
  由于Win7系统使用了更为严格的权限设置,在日常操作中我们经常会遇到权限故障,有些是系统正常保护,有些则可能是病毒故意为之。那么谁才是Win7中拥有最高权限的账户,使用哪个账户登录系统才有畅通无阻的至高权限呢?
  TrustedInstaller账户?在上面介绍中,我们已经知道TrustedInstaller账户默认拥有全部系统文件完全控制权限,不过TrustedInstaller只是个虚拟账户,我们无法使用它登录系统使用,因此也就无法测试TrustedInstaller账户的权限。
  Administrator账户?在上述实例中,我们已经知道Administrator账户无法删除系统文件。
  SYSTEM账户?网上很多文章介绍Win7内置SYSTEM账户才是最高权限账户,那么实际情况如何,大家可以自行测试一下。到http://www.kuaipan.cn/index.php?ac=file&oid=3237430383608211下载“PsExec.exe”,然后将其复制到“c:\windows”,接着以管理员身份启动命令提示符。继续启动“任务管理器”将 “Explorer.exe”进程终止,返回命令提示符界面,在其中输入“PsExec -i -s -d explorer.exe”,回车后就会启动SYSTEM账户的桌面(见图8)。现在打开“c:\windows\system32”删除任意文件,是不是提示仍然没有权限?实际上对于受Windows资源保护的系统文件,SYSTEM账户也是没有完全控制权限的。
  那么到底哪个账户才有最高权限?答案是:没有。因为在Win7中不同账户默认被系统分配不同权限,没有一个账户拥有对全部文件的完全控制权限。但是我们可以手动获得系统最高权限,方法有两个(这也是解决权限问题的常用方法):
  方法1:在Win7中通过导入“管理员取得所有权.reg”,然后通过右键菜单获取任意文件的所有权和完全控制权限,这样当前管理员账户就是拥有最高权限的账户。
  方法2:使用PE系统。因为PE默认使用SYSTEM账户登录(注意:这是PE系统里的SYSTEM账户,而不是Win7系统内置的SYSTEM账户),这个账户默认拥有对所有文件完全控制权。

转载注明来源:https://www.xzbu.com/8/view-8659568.htm