情境一:以管理员账户登陆系统后,使用Runas命令运行某些高危程序以降低其风险
这种情境就好比将身为企业高管的您暂时打扮成最底层工人来执行某项特定任务,对您进行一次暂时的角色变换。在您执行此任务时您看起来就是工人,而对于除此 以外的事情,您仍旧是高管,掌控多项大权。我的《让您的IE浏览器抵御网络威胁(图文详解)》一文其实就是这种情境下的一个典型的高级应用实例。您可以打 开命令提示符,输入以下命令并执行来查看您的“衣柜”(信任级别列表)里一共有几个“角色”(信任级别)可供您乔装变换:
runas /showtrustlevels |
您可能会返回以下两种结果中的一种:
很明显,图中的第二种情况比第一种情况多提供了一种角色,即“基本用户”。何为“基本用户”?其实它就是默认在XP中隐藏、类似于Vista中执行保护功 能的“标准用户”的一个信任级别,用它来执行您的高危程序,那么该程序的一些对敏感文件夹或者注册表项目的写操作请求将遭到系统的拒绝,从而保护了您的系 统安全,正如《让您的IE浏览器抵御网络威胁)》一文中的用基本用户运行IE 浏览器安装众多流氓软件却纷纷遭到系统拒绝一幕。因此这个命令是您高危程序的金钟罩铁布衫:
runas /trustlevel:<信任级别> <程序路径> |
例如,要以基本用户身份运行Windows Live Mail桌面邮件客户端以免遭到其收到的恶意附件的侵害,执行以下命令即可:
runas /trustlevel:基本用户 "C:\Program Files\Windows Live\Mail\wlmail.exe" |
当然,我们的系统默认没有“基本用户”,必须手动向系统添加一个才行。添加的方法请参见《让您的IE浏览器抵御网络威胁》一文,为了方便起见,我将其核心操作贴在下面,至于原理阐述就请 见原文了。
1、点击“开始”->“运行”,或者按Win+R快捷键,打开“运行”对话框,输入“regedit.exe”并且执行,此时您将会打开“注册表编 辑器”窗口;
2、在注册表编辑器内的左栏,依次双击鼠标左键展开“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft \Windows\Safer”,单击Safer下展开的“CodeIdentifiers”项,然后转到右边的窗格里,在空白处单击鼠标右键,选择“新 建->DWORD 值(D)”;
3、立即将新建的注册表项命名为“Levels”(请注意大小写以及拼写的正确性),双击该键值,在打开的“编辑 DWORD 值”对话框里“基数”下选择“十六进制(H)”,然后在“数值数据(V):”一栏填入“20000”(也就是十进制的两万),点“确定”后关闭注册表编辑 器;
在本情境中,您好比是一个普通底层工人,但是有几项任务必须得到高管的许可才能进行,在您向高管请示之后,得到了其许可,于是您暂时切换为高一层级的身份 来执行特殊的任务。
为实现这一愿望,只需一个简单的命令并执行:
runas /user:<隶属于Administrators组的账户名> <程序路径> |
例如,你要执行Windows优化大师来管理系统,可是当前是以受限账户Jack登录系统的,而Windows优化大师需要管理员身份来执行,于是你以管 理员Eric的身份来执行操作,其中,Eric是隶属于系统管理组(Administrators组)的一个账户的名称。若是域账户,则要将<隶属 于Administrators组的账户名>改为<隶属于Administrators组的账户名>@<域主机名称>。命 令如下:
runas /user:Eric "C:\Program Files\Wopti\WoptiUtilities.exe" |
关于情境二,我的新浪Windows XP技术专区圈子里有一 位名叫『电脑基地』的圈友发布了一篇关于它文章,原文名为《另类方法转换Windows操作系统身 份》,有兴趣的朋友可以去欣赏一下。
对于以上两种情境,相信大家有了初步的认识。当然,Runas命令还有更多的语法及参数,感兴趣钻研的朋友可以在命令提示符下输入“Runas /?”来获得系统给与的帮助。我们这里所讲的三个runas系列命令,可以说涵盖了日常操作应用中最常用的一些功能,大家不仅要多加练习,而且还要动一些 脑筋、善于联想其他的知识才能更好地将其扩展。比如,为了长久地使用同一命令,就可以用组策略编辑器的“软件限制策略”将某一程序定义为长期使用某一信任 级别来运行;为了更简单地来执行某一程序的Runas变换角色命令,可以建立含有Runas命令的快捷方式……
在此,我仅先提供以上两种扩展思路,大家可以在《让您的IE浏览器抵御网络威胁》 一文中找到具体实现办法,其他更多的扩展思路就请各位来启发我了,呵呵。
Windows 命令行下修改文件访问控制权限
www.firnow.com 时间 : 2007-02-11 作者:佚名 编辑:本站 点击: 798 [ 评论 ]
随着Windows XP/Server 2003的流行,越来越多的用户开始选择NTFS文件系统,NTFS的好处自然是大大增强了系统的安全性,在“安全”标签页下,我们可以在这里为不同级别 的用户设置相应的访问控制权限,包括完全控制、修改、读取和运行、列出文件夹目录、读取、写入、特别的权限等,你只需要在“允许”和“拒绝”下简单勾选即 可,点击“高级”按钮还可以设置更多的特殊权限,这里就不多说了。
其实,除了在图形用户界面下对文件或文件夹的访问控制权限进行设置 外,我们还可以在命令行方式下完成这项工作,这在由于某些原因无法进入图形用户界面时特别实用,虽然使用时有些麻烦,但却可以救急。
一、使用Cacls.exe命令
这是一个在Windows 2000/XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。命令语法 如下:
Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]
Filename:显示访问控制列表(以下简称ACL)
/T:更改当前目录及其所有子目录中指定文件的ACL
/E:编辑ACL而不替换
/C:在出现拒绝访问错误时继续
/G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制) 等。
/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。
/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。
/D user:拒绝指定用户的访问。
实例一:查看文件夹的访问控制权限
例如,这里我们希望查看h: emp文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:Cacls h: emp
此 时,我们会看到所有用户组和用户对h: emp文件夹的访问控制权限项目,这里的CI表示ACE会由目录继承,OI表示ACE会由文件继承,IO表示ACI不适用于当前文件或目录,每行末尾的字 母表示控制权限,例如F表示完全控制,C表示更改,W表示写入。
如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制 权限,可以键入“Cacls h: emp .”命令。
实例二:修改文件夹的访问控制权限
假如你希望给予本地用户wzj9999完全控制h: emp文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:
Cacls h: emp /t /e /c /g wzj9999:f
这里的“/t”表示修改文件夹及子文件夹中所有文件的ACL,“/e”表示仅做编辑工作而不替换,“/c”表示在出 现拒绝访问错误时继续,而“/g wzj9999:f”表示给予本地用户wzj9999以完全控制的权限,这里的“f”代表完全控制,如果只是希望给予读取权限,那么应当是“r”。
实例三:撤销用户的访问控制权限
如果你希望撤销wzj9999用户对h: emp文件夹及其子文件夹的访问控制权限,可以键入如下命令:
cacls h: emp /t /e /c /r wzj9999
如果只是拒绝用户的访问,那么可以键入如下命令:
cacls h: emp /t /e /c /d wzj9999
二、使用增强工具xcals.exe
在windows 2000资源工具包中,微软还提供了一个名为xcacls.exe的文件控制权限修改工具,其功能较cacls.exe更为强大,可以通过命令行设置所有 可以在windows资源管理器中访问到的文件系统安全选项,我们可以从http://www.microsoft.com/windows2000 /techinfo/reskit/tools/existing/xcacls-o.asp下载,安装后即可使用。
xcacls.exe命令的语法和参数与cacls.exe基本相同,但不同的是它通过显示和修改文件的访问控制列表(acl)执行此操作。在“/g”参 数后除保持原有的perm权限外,还增加了spec(特殊访问权限)的选项,另外还增加了“/y”的参数,表示禁止在替换用户访问权限时出现确认提示,而 默认情况下,cacls.exe是要求确认的,这样在批处理中调用cacls.exe命令时,程序将停止响应并等待输入正确的答案,引入“/y”参数后将 可以取消此确认,这样我们就可以在批处理中使用xcacls.exe命令了。
实例一:查看文件或文件夹的权限
在“开 始→运行”对话框或切换到命令提示符模式下,注意请事先将“c:program files esource kit”添加到“系统属性→高级→环境变量→系统变量”中,或者通过cd命令将其设置为当前路径,否则会提示找不到文件,然后键入如下命令:
xcacls h: emp
此时,可以查看到所有用户组或用户对h: emp文件夹的访问控制权限,io表示此ace不应用于当前对象,ci表示从属窗口将继承此ace,oi表示从属文件将继承该ace,np表示从属对象不 继续传播继承的ace,而每行末尾的字母表示不同级别的权限,例如f表示完全控制,c表示更改,w表示写入。
实例二:替换文件夹中的acl而不确认
xcacls h: emp /g administrator:rw/y
以上命令将替换h: emp文件夹中所有文件和文件夹的acl,而不扫描子文件夹,也不会要求用户确认。
实例三:赋予某用户对文件夹的控制权限
xcacls h: emp /g wzj9999:rwed;rw /e
以上命令将赋予用户wzj9999对h: emp文件夹中所有新建文件的读取、写入、运行和删除权限,但需要说明的是,这条命令只是赋予了用户对文件夹本身的读写权限,而不包括子文件夹下的文件。
对普通用户来说,cals.exe和xcacls.exe的作用可能不是那么明显,这在windows 2000/xp/server 2003的无人值守安装中特别有用,管理员可以为操作系统所在的文件夹设置初始访问权限;在将软件分发到服务器或工作站时,还可以借助 xcacls.exe提供单步保护,以防止用户误删除文件夹或文件。
自动输入RUNAS密码的方法 |