论坛风格切换
正版合作和侵权请联系 sd173@foxmail.com
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 1290阅读
  • 0回复

[原创文章]有效管理 Windows系统帐户权限 [复制链接]

上一主题 下一主题
离线3201
 
发帖
*
今日发帖
最后登录
1970-01-01
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-01-07 22:02:02
权限是Windows管理的基础,当然与Windows用户关系最密切,平时接触最多的是与帐户相关的权限。对于Windows帐户权限的管理,你是否完全了解呢?下面,笔者以Winsows XP为例进行相关测试,希望对提升认识有所帮助。   1、系统权限概述
  大家知道,Windows NT系统是个等级森严的系统,操作系统通过对用户(帐户)授权来实施管理。以Windows XP系统为例,系统默认的用户等级有4级:其中System拥有至高无上的权限,掌握着系统资源的生死大权;Administrators组的用户权限次于System,拥有大多数的系统权限;Users组的用户权限受到限制,只能执行与本用户相关的操作,而对于其它用户它无权过问;Guest组的用户权限更少,只能进行极少的操作。
  2、以System帐户登录系统
  众所周知,在有些时候我们可以获取System权限,但如何以System权限登录系统呢?其实,这是不可能的。因为,System是基于系统服务的,不同于用户级别的帐户,所以在Windows是不容许以System登录系统。不过,我们可以采用变通的办法以System“登录”系统。
  其原理是:Windows是基于图形界面的,而其图形界面主要是由Explorer.exe负责实现的,Explorer俗称为Windows的Shell(壳),我们只要获得一个具有System权限的Explorer不就等同于以System登录系统了吗?
  其实现方法是:
  (1).以Administrators组的用户登录系统,然后需要开启Task Scheduler服务,该服务负责使用户能在此计算机上配置和制定自动任务。执行“开始→运行”,输入services.msc打开服务管理器,然后找到并启动Task Scheduler服务。
  (2).启动Task Scheduler后,我们需要使用at命令来实现启动一个System权限的cmd(命令提示符)。at命令有个interactive参数,该参数允许作业在运行时,与当时登录的用户桌面进行交互。我们在当前帐户下执行“开始→运行”,输入cmd打开一个具有当前用户权限的命令提示符。为了与后面的拥有system权限的cmd相区别,我们输入命令title cmd1将其命名为cmd1。
  (3).在cmd1中输入命令“at 21:08 /interactive cmd.exe”,其中21:08为系统当前时间之后的某个时间,一般与当前时间间隔1分钟即可。然后我们可以输入命令at,查看当前新增加的作业。(图1)
   
   (4).大概一分钟后刚才用at创建的作业顺利执行,重新启动一个cmd。并且该命令提示符的标题栏显示为“C:\WINDOWS\System32\svchost.exe”,命令提示路径为“C:\WINDOWS\system32>”,表明这个命令提示符不是基于某个帐户的,而是基于服务的。我们可以打开“任务管理器”查看,这么cmd是System权限。(图2)
   

   
    (5).由于System是基于System权限,那么通过其运行的程序也会继承其权限,那么这些程序也是System权限。首先我们运行regedit打开注册表编辑器,我们知道[HKEY_LOCAL_MACHINE\SAM\SAM]注册表项默认只有System权限可以进行查看和修改,通过验证我们可以展开该注册表项,说明regedit也是以System权限运行的。(图3)
   
   
    (6).下面进入关键一步,在system的cmd中执行命令“taskkill /f /im explorer.exe”结束当前用户的explorer.exe,然后继续输入命令“start explorer.exe”,回车后可以看到windows会进行explorer.exe配置,配置完成会打开explorer进入桌面。我们点击开始菜单,可以看到在帐户图标旁显示SYSTEM,说明我们变通地以System登录系统了。(图4)
 
   
    以System权限登录系统,我们就获得了最高的系统权限,这样我们在图形界面中的操作都是以system权限在操作。这在手工杀毒,系统文件操作方面和有用,不过,此时的操作要非常小心。当然,上面的演示技术测试的意义大于实用价值,不过这些探讨还是非常有益的。

  提示:上面的测试在windows /2000/XP/2003中通过,微软的新系统Vista/Server 2008/Windows 7出于安全性考虑,at命令不可以与当前登录的用户桌面进行交互,所以不能用此方法获得system权限。   3、“孤魂”帐户和Guest帐户的关系
  何谓“孤魂”帐户?我们知道在Windows系统中有Administrators、Users、Guests三个可进行系统登录的用户组,所谓“孤魂”帐户就是不属于上面三个组任何一组中帐户。我们也知道guest是属于Guests中的默认的系统帐户,那“孤魂”帐户和guest帐户之间是什么关系呢?它们两个哪个的权限大呢?
  (1).创建“孤魂”帐户
  首先我们需要创建一个“孤魂”帐户,在cmd下执行命令“net user fr 123 /add”创建一个名为fr,密码为123的帐户。我们知道,这样创建的帐户默认是输入users组的,具有users组的权限,大家可以通过命令“net user fr”或者“net localgroup users”验证。
  然后我们输入命令“net localgroup users fr /del”将fr从users组中删除,这样它就不属于任何组,而成为一个“孤魂”帐户了。大家可以输入命令net user fr查看。(图5)

   
    (2).激活guest帐户
  默认情况下,Windows的guest帐户是被禁用的。要以guest登录系统,需要激活它。在命令提示符下输入命令“net user guest /active:yes”即可。(图6)
   
    (2).权限测试   下面我们分别以fr和guest登录系统,看看“孤魂”帐户和Guest的权限呈现什么样的情况,以及组成员与组之间的权限关系。
  测试1
  首先以fr登录系统,我们在cmd1下输入命令logoff注销system登录,按两次“Ctrl+Alt+Del”调出登录对话框(“孤魂”帐户只能安全登录,友好登录中不会显示。),输入fr和密码123用fr登录系统。登录后,发现一个奇怪的现象,system权限的那个cmd窗口还是存在。这说明什么呢?这再一次证明system是基于windows服务的,在注销的过程中只是与当前用户相关的东西会被结束掉,但是关键的系统服务还一直职守,为不同的用户提供服务。
  下面我们在fr帐户中进行操作,发现可进行的操作还是比较多的,但是只能进行与本用户相关的操作,对其他用户相关的东西都无权进行操作,比如对Documents and Settings下的相关文件夹没有操作权限,修改系统设置比如网络设置都是不可以的。(图7)
 
   
    小结:将fr从users组中删除后,其权限还是users权限,删除作并没有剥夺其此前所拥有的权限,可见组成员继承了组的权限,哪怕他已经不属于这个组,这个判断对于users组至少是成立的。
  测试2
  以guest登录系统,如大家所料当然权限有限,只是系统定义的仅有的权限。我们在刚才的system的命令行下执行命令“net localgroup guests guest /del”,将guest帐户从guests组中删除,使其也成为“孤魂”帐户然后登录系统,会怎么样呢?通过测试,将guest中Guests组中删除后能够“孤魂”帐户后,其权限还是guests组的帐户。(图8)
    <<>>
   
    小结:与users组类似,guests组中的帐户也会继承该组拥有的权限,哪怕将其从中删除,在没有进入别的组之前,它的权限是不会有任何变化的。
  测试3
  通过上面的测试,我们引申出:Administrators组中的帐户,将其从改组中删除后,也会继承改组的权限。真的是这样吗?我们新建一个帐户ctocio,首先将其加administrators组,然后有从administrators组中删除,还是以修改系统的网络配置为例进行测试。测试的结果是:ctocio并没有继承administrators的权限,在从改组中删除后它的权限被降低了,也fr的权限是一样的。
  小结:Windows对Administrators、Users、Guests的权限权限管理中采取了双重标准,加强了Adninistrators的管理。其实,这完全是可以理解的。试想,如果有一个不属于Adminitrators组的管理员那就太危险了。当然,可以通过在注册表中修改相应的键值再配合命令来创建这样的管理员用户,但与此完全是两个概念。
  总结:这篇文章首先通过at命令并配合interactive参数获得了一个具有System权限的cmd,然后结束当前的explorer进而获得一个具有system权限的explorer,变通地以system登录系统。同时,看到了一个有趣的现象,具有System权限的cmd完全凌驾去系统帐户之上,系统帐户的注销对其没有任何影响。另外,关于administrators、Users、Guest组及其用户权限的测试,验证了Windows的帐户和组之间的关系。