为何用管理员帐号登录,试图卸载某个系统中文件,或者提示权限不足?本文就此为大家介绍一下windows 7(下面简称为windows7)的账户与权限之谜。
基础课程——明白权限
windows7的权限与账户联系密切,按照权限根据小到大的顺序,可以用windows7系统的账户分为下面四类:
来宾账户(Guest):系统内置账户,多用于临时访问电脑。使用来宾账户登录系统后不可以安装软、硬件,且不可以更改设置或者创建密码。
标准账户:由户自行创建,可以执行大多数日常操作,但不可以对系统重要设置进行更改,如不可以运行"磁盘管理"对硬盘进行分区。
管理员账户:可以对电脑进行最高级别的控制,默认拥有管理员权限。管理员账户主要有两类:
一类是网民个人创建的,这种账户虽然拥有管理员权限,可就是对系统重要设置进行更改时,就得使用手动提权(即在弹出账户控制提示时,点击"是")才真正拥有管理员权限;另一类是系统内置(如Administrator)账户,它对系统重要设置进行更改时无需手动提权,可就是要对重要系统中文件执行卸载、重命名等操作时,默认情况下仍然"无权"进行。
特殊账户:它拥有比管理员账户更高权限,特殊账户主要有两个:
1. TrustedInstaller账户:一个虚拟账户,全称为"NT service\TrustedInstaller",默认情况下,所有系统中文件的完全控制权限总是授予该网民的。在任意系统中文件的权限窗口中可以观察,只有"TrustedInstaller账户"才拥有完全控制的权限,Administrators组(Administrator账户属于该组)只可以"读取"和"读取和执行",这正是Administrator账户登录系统后不可以卸载系统中文件的原因。
2.SYSTEM账户:windows7系统内置账户,系统服务、账户登录还有好多后台进程总是以这种账户运行的。它和Trustedinstaller账户不一样的是,SYSTEM是一个真实的账户,可以使用特殊做法登录。
提高课程——变更权限
要使Administrator账户拥有"完全控制"权限,第1步要取得该文件(夹)的所有权,大家只需导入一个注册表文件(该注册表文件可在http://bbs.icpcw.com/forum.php?mod=viewthread&tid=2147408下载),即可在鼠标右键栏目中加入一个按钮。碰到因权限不足而不可以卸载的文件时,只需右键点击该文件选择"管理员取得所有权",之后就可以轻松的卸载该文件了。
小提示|Tips
让TrustedInstaller账户拥有系统文件的所有权能有效的保护系统安全,使用上述做法更改系统中文件所有权之后,如需恢复默认设置,只需用文件所有者改为"NT service\TrustedInstaller",并用权限设置为"完全控制"就好。
课后总结——有人是最高
通过上述的介绍,大家知道了在默认情况下,Trustedinstaller账户对于系统中文件是拥有最高权限的。可就是Trustedinstaller账户最高权限也仅限于系统中文件,网民自行创建的文件是不会为Trustedinstaller账户分配权限的。
当哪个账户才拥有系统最高权限呢?答案是:对所有文件均获取了"完全控制"权限的管理员账户。换言之,权限是对文件(文件夹)而言,而一个账户拥有了所有文件夹的所有权与完全控制权,那么,该账户就拥有了这种系统的最高权限。
《电脑报》2011年10月24日第42期F12版 作者:福建 俞木发
“取得管理员所有权”将下面的内容复制、保存成reg文件
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"