登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: 用户切换 runas -- windows 下的 su     [回主站]     [分站链接]
标题
用户切换 runas -- windows 下的 su
clq
浏览(0) + 2010-05-20 10:43:59 发表 编辑

关键字:

用户切换 runas -- windows 下的 su



clq
2010-5-20 10:45:04 发表 编辑

Windows 2000/XP用户切换大法

来源: 字体:[ ]
使用Windows 2000/XP的用户都知道,在日常工作中最好不要以管理员组成员的身份登录,这是因为管理员对系统文件掌有生杀大权,一不小心,就会“滥杀无辜”,导致 系统“拒绝再玩”。平时应该用普通用户(Users组成员)身份登录系统,由于Users组的账号不能修改系统注册表设置,操作系统文件或程序文件,因此 对病毒、木马具有先天的免疫功能!

  显然,使用Users组成员登录可以让Windows 2000/XP不像Windows 98那么“容易受伤”,但用户却无法使用只能由系统管理员执行的应用程序,例如系统管理任务(磁盘碎片整理程序等)、使用虚拟光驱等。

   看起来好像鱼和熊掌不能兼得——不过,这些微软都已经替我们考虑到了,它在Windows 2000/XP中为我们提供了“用户切换”功能。该功能和用户注销可不一样,打个比方:不同的用户账号就好比是舞台上的演员,注销就是更换演员(用户账 号),把与这个演员携带的所有道具服装(该用户账号打开的应用程序)全部撤下;而用户切换则相当于只给演员玩一把“变脸”(临时更换用户账号身份),并不 会撤下其道具服装(保留该用户账号打开的会话)。光说不练是嘴把式,下面我们就以Windows XP为例,来看看如何使用快速用户切换功能。

   使用“注销”菜单法

  切换用户最常用的方法,就是通过“注销”菜单来访问用户切换功能。方法 是:单击“开始→注销”,在打开的如图1所示的“注销Windows”对话框中,单击“切换用户”按钮,系统会保留当前会话状态。从表面上看,这和注销用 户并没有什么两样,但使用切换用户方法可以保留原来用户账号打开的会话(比如你正在进行软件下载,那么使用用户切换后,该下载任务会继续进行。如果使用了 “注销”,那么软件下载任务就会被强行关闭)。


图1


   进行快速用户切换

  很显然,上述方法比较繁琐:用户需要先切换到管理员环境,然后再注销回来。 其实很多时候没必要劳它的大驾,我们可以使用快速用户切换功能,直接在当前用户环境下以管理员身份运行应用程序!

  假设我们现在处于 普通用户的环境下,想配置诺顿个人安全特警的信任域。但由于当前用户的“面子(即权限)”不够大,防火墙配置程序拒绝执行。我们来祭出快速用户切换这把 “宝刀”:打开“开始→所有程序→Norton Internet Security”,用鼠标右键单击“Norton Internet Security”菜单项,选择“运行方式”菜单项,程序会打开“运行身份”对话框,单击其中的“下列用户”单选框,然后在“用户名”下拉列表框里选择一 个管理员账号,并在“密码”文本框中输入相应的账号密码。最后单击“确定”按钮即可,如图2所示。接下来,系统就会以管理员的身份运行诺顿个人安全特警的 配置程序!


图2
使 用Runas命令

  熟悉Linux/UNIX的朋友对于su这个命令一定不会陌生,利用这个命令用户可以在超级用 户、普通用户之间自由地进行“变脸”。现在Windows 2000/XP也有了类似的命令——Runas命令。Runas是一个DOS命令,只能在Windows 2000/XP的DOS命令窗口运行,它允许用户用其他权限运行指定的工具和程序,而不是当前登录用户账号所提供的权限。其语法如下:

   Runas [{/profile|/noprofile}] [/env] [/netonly] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

  各参数的作用如下:

   /profile:加载用户配置文件,是Runas命令的默认参数。

  /no profile:不加载用户配置文件,这样可以提高应用程序的载入速度,不过由于某些应用程序需要读取特定用户的配置文件,因此不建议大家使用此参数。

   /env:指定当前使用的网络环境,而不是用户的本地环境。

  /netonly:指明指定的用户信息只用于远程访问。

   /showtrustlevels:列出 /trustlevel 开关项。

  /trustlevel:指定应用程序运行所在的授 权级别。

  /user:UserAccountName:指定在其下运行程序的用户账号的名称。对于单机用户来说,可以使用以下格 式:

  /user:UserName@ComputerName

   或/user:ComputerNameUserName

  此处的UserName应该用具体的用户账号来代 替,ComputerName指计算机名。

  对于域或者工作组的用户,可以使用以下格式:

   /user:UserNme@DomainName(WorkGroupName)

  或 /user:DomainName(WorkGroupName)UserName

  此处的 DomainName(WorkGroupName)是指计算机所在域的域名(或者所在工作组的名称)。

  program:指定所要 运行的程序或命令。可以使用Runas 命令来启动任何应用程序、MMC 控制台项目或“控制面板”项目。这里要注意,并非所有的项目都可以用Runas来启动,例如“打印机”文件夹和桌面项。

  应 用实例:

  为了能够让Runas命令“秀”出它的不凡功力,这里举一个实例。假设要用Administrator 身份来运行组策略:

  (1)打开“运行”对话框,输入“cmd”并回车,打开DOS命令窗口;

  (2)在命令提 示符下输入“runas /profile /user:ourcomputeradministrator "mmc gpedit.msc"”并回车;

  (3)接下来系统会提示输入管理员账号的密码,注意这里并不会显示输入的账号!如图3所示。

   (4)如果账号、密码正确,则系统就会以管理员的身份启动组策略管理程序。

图3
使 用技巧:

  显然,如果每次启动组策略管理程序都要输入那么一长串命令,确实会非常繁琐。幸好Runas还提供了创 建快捷方式的功能,我们只需在桌面上创建一个快捷方式,就可以省却每次输入命令的麻烦。假设我们经常要以管理员身份运行“计算机管理”程序:

   (1)用鼠标右键单击桌面的空白处,在弹出的快捷菜单上单击“新建→快捷方式”,打开“创建快捷方式”向导对话框。

  (2)在“项 目位置”文本框中输入“runas.exe /user:ourcomputeradministrator "mmc %windir%system32compmgmt.msc"”,然后根据屏幕提示指定快捷方式的名称,再“确定”即可。

  (3)今 后只需双击该快捷方式,即可弹出一个DOS命令窗口,提示输入管理员密码,输入正确的密码后回车即可启动“计算机管理”程序。

  总 结

  以上介绍的三种用户切换方法,可谓各有千秋。其中注销菜单法最烦琐,但是也是最彻底的方法;而用“运行身 份”对话框和Runas命令,虽然使用起来比较简单,但并不是所有任务都能完成,例如设置文件夹共享等。

图4

   这里还要注意一点:要确保使用快速用户切换功能,必须确保“Secondary Logon”服务和“Fast User Switching Compatibility”服务已经启动,这里最好设置为随Windows自动启动。打开这两个服务的方法是:

  双击“控制面板→ 管理工具→服务”,然后在窗口中找到“Fast User Switching Compatibility”服务。然后双击打开服务属性对话框,切换到“常规”选项卡,在“启动类型”下拉列表框里选择“自动”选项即可(如图4所 示),如图所示。再切换到“依存关系”选项卡,确保其下显示的依存服务都已经设置为自动运行,如图5所示。

  用类似的方法对 “Secondary Logon”服务加以设置。好了,现在万事俱备,你就没事偷着乐吧!

clq
2010-5-20 10:46:26 发表 编辑

用Runas命令从容变换您的角色

2008-11-06 14:27:34 来源:中国IT实验室 作者:佚名 点击:3112
相信众多尝试Vista的朋友都体验到了其强大的用户帐户控制(UAC)这一项安全功能。尽管这是一个全新而且强大的安全功能,但是我们依然可以在 Windows XP中找到它的祖先——Runas命令(还有ACL以及用户令牌)。今天让我们一起来认识一下我们最需要的一些Runas命令操作。



 
   相信众多尝试Vista的朋友都体验到了其强大的用户帐户控制(UAC)这一项安全功能。尽管这是一个全新而且强大的安全功能,但是我们 依然可以在Windows XP中找到它的祖先——Runas命令(还有ACL以及用户令牌)。今天让我们一起来认识一下我们最需要的一些Runas命令操作。

    情境一:以管理员账户登陆系统后,使用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命令执行管理员才能进行的某些操作(如某些软件的安装操作、更改系统时间的操作等等)

    在本情境中,您好比是一个普通底层工人,但是有几项任务必须得到高管的许可才能进行,在您向高管请示之后,得到了其许可,于是您暂时切换为高一层级的身份 来执行特殊的任务。

    为实现这一愿望,只需一个简单的命令并执行:

   

 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浏览器抵御网络威胁》 一文中找到具体实现办法,其他更多的扩展思路就请各位来启发我了,呵呵。


clq
2010-5-20 10:47:40 发表 编辑

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提供单步保护,以防止用户误删除文件夹或文件。


clq
2010-5-20 10:48:53 发表 编辑

如何在执行批处理时自动输入密码? runas时!
悬赏分:100 - 解决时间:2007-1-27 23:35

我需要使用:

runan /savecred /env /user:administrator "某某命令"

这时会需要输入ADMINISTRATOR密码

也就是我要在当前帐户中以ADMINISTRATOR权限执行一些操作,并且写成批处理.
大部分资料说此密码只需输入一次,事实也确实如此.
但是一旦我改了计算机名(GHOST了很多系统出来,每台机器总要改名吧)之后,就需要重新输入密码了.
谁有办法在需要输入密码的时候,自动输入密码.最好是批处理命令.

问题补充:

你试验过此命令吗?
我还在外面
过2天回单位实验能成功的话给你分数

提问者: qiannaoyao - 三级
最佳答案

echo 密码|runan /savecred /env /user:administrator "某某命令"

比如:
echo.|time
就自动为TIME命令输入了一个回

clq
2010-5-20 10:50:13 发表 编辑

自动输入RUNAS密码的方法
  以非管理员用户登录时,如果要用管理员权限运行程序的话,需要用到 runas 命令,在使用脚本运行时,无法简单的利用管道来输入密码,有以下方法可免除每次需要输入密码的麻烦。
  1、使用系统自带的 runas /savecred 选项,第一次输入密码后,会保存凭据。
  特点:无法限制能够运行的命令,安全性差。
  
   2、使用 sanur,sanur 是一个小程序,能以管道的方法将密码或者文件中的内容传递给 runas 程序。
  runas | sanur password
  runas | sanur /i [drive:][path]filename
  特点:密码明文 保存。
  相关页面:
  http://www.commandline.co.uk/sanur_unsupported/index.html
   
  3、使用 lsrunas,功能类似 sanur,不过它无需运行 runas,自带完整的参数来执行。
  特点:密码明文保存。
   相关页面:
  http://www.moernaut.com/default.aspx?item=lsrunas
   
  4、使用 lsrunase,lsrunas 的加强版本,可以使用加密的密码。自带一个小软件 LSencrypt 用来生成加密的字串。
  用法:
  lsrunase /user:administrator /password:41BngA== /domain: /command:notepad.exe /runpath:c:\
  所有的参数必须齐全,其中:
  user 为运行的账号
  password 为密码加密后的字串
  domain 为机器名或域名,也可留空代表本机
   command 为要运行的程序名,如果携带参数需要在命令的首尾加引号
  runpath 为程序启动的路径
  特点:可以较完美的替 代 runas,并避免直接将密码明文保存在脚本中。
  相关页面:
  http://www.moernaut.com/default.aspx?item=lsrunase
   
  5、使用 cpau,cpau 也是一个替代 runas 的程序,并且功能强大,可以使用加密的密码。
  用法:
   cpau -u administrator -p password -ex notepad -file start_notepad.txt -enc
  cpau -file start_notepad.txt -dec
  以上命令可以先将要执行的指令加密保存为一个文 件,执行时载入此文件。
  特点:可以保护执行的脚本及命令不被他人查看,但在使用网络路径时存在一些问题。
  相关页面:
  http://www.joeware.net/win/free/tools/cpau.htm
   
  6、使用 autoit,autoit 是一个脚本自动化执行的工具,可以完成很多自动化的任务,并且可以将脚本编译成 exe 文件来直接运行,从而达到了隐藏密码信息的目的。
  特点:功能强大,但操作复杂。
  相关页面:
  http://www.autoitscript.com/autoit3/
   
  还有其他一些工具能够完成类似的操作。
  参考页面:
  http://www.commandline.co.uk/sanur/


总数:5 页次:1/1 首页 尾页  
总数:5 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1