??xml version="1.0" encoding="utf-8" standalone="yes"?> l策略对象(GPOQ是Zzd目录QADQ的对象Q用户可以通过它集中地对Win2K台式机和服务器系l进行配|,它的功能包括从NT 4.0台式机的锁定到安全性配|和软g安装{? q篇文章主要讲述l策略是如何对系lv作用的、系l内部的工作原理以及在Win2K环境中采用这一技术时应该注意的问题? 一、组{略是什么? 微Y理控制収ͼMMCQ中的组{略~辑器(GPEQ插件与NT 4.0中的pȝ{略~辑器poledit.exe相当。在GPE中的每个功能节点Q例如Y件设|、Windows 讄、管理模块等Q都是MMC插g扩展Q在MMC插g中扩展是可选的理工具Q如果你是应用程序开发者,可以通过定制的扩展拓展GPO的功能,从而针对你的应用程序提供附加的{略控制? 只有q行Win2K的系l可以执行组{略Q运行NT 4.0和Windows 9x的客h则无法识别到或运行具有AD架构的GPO? 二、组{略和AD q个操作的作用与NT 4.0中的poledit.exe相同Q可以打开本地{略文g。第2U方法,可以通过在MMC控制C选择GPE插gQƈ选择本地或远E计机来h工地~辑本地GPO? 本地GPO支持除Y件安装和文g多w定向之外的所有缺省扩展,因此Q只利用本地GPO你不能完成这些工作,如果惛_分发挥GPO的功能,q是需要AD的支持? 三、GPO的多h和l承 在一个域或组l单位(OUQ中~辑{略的途径有几U。在zd目录用户或计机MMC插g中,叛_一个域或组l单位(OUQ,在菜单中选择“属?#8221;Q然后选择“l策?#8221;标签。在~辑地址中的{略Ӟ需要右?#8220;zd目录地址和服?#8221;插gQ然后右击需要的地址得到其GPO。此外,q可以从“开?#8221;菜单Q选择“q行”Q然后键入: mmc.exe 启动MMCQ选择“控制?#8221;Q?#8220;增加/删除”插gQ然后选择“l策?#8221;插g?#8220;览”Q在AD域内的GPO׃昄出来Q可以选择一个GPOq行~辑? ҎGPO在AD名字I间中的不同位置Q可以有几个GPO对用户对象或计算机对象v作用。只有域中的其他对象是通过l承生成时GPO才是通过l承生成的。Win2K通过下面的方式执行GPOQ首先,操作pȝ执行现有的本地系l上的策略,然后QWin2K执行定义的地址U的GPO、域一U的GPO和基于OU的GPOQ微软把q一优先序取其首个字母~写为LSDOUQ执行的序依次是本地、地址、域、OU层次的GPOQ,用户可以在这个链上的许多层次上定义GPO。我们以pilot域ؓ例说明如何察看一个系l中的GPOQ启?#8220;zd目录用户和计机MMC”工具Q右击pilot域名Q从菜单中选择“属?#8221;,然后选择l策略标{。在q个列表端的GPOQ例如域范围的安全策略)有最高的优先权,因此QWin2K最后才会执行它。除了本地系l外Q可以在每个层次上定义几个GPOQ因此如果不能严格地理GPOQ就会出C必要的问题? GPO的承模型与Novell公司的Zenworks{略方式截然不同。在Zenworks中,如果在Novell目录服务QNDSQ树上的不同点用多个策略包Q只有距ȝ户对象最q的{略包才起作用。在Win2K中,如果在AD的不同层ơ上定义四个GPOQ操作系l?#8220;LSDOU”优先序来执行这些策略,对计机或用L作用是这四个{略执行?#8220;?#8221;。此外,有时在一个GPO中的讄会被其他GPO中的讄抵销。通过ADUGPOQ用户可以拥有更多的{略控制委托Q例如,公司的安全部门负责在域一U上设计用于所有系l设备的安全GPO。通过使用GPO,可以让某个OU的系l管理员拥有在OU上安装Y件的权利。在Zenworks模型中,必须在希望用策略的所有层ơ上复制q些{略Q而且{略对用h计算机对象的作用q是所有策略的“?#8221;? Zq一步地控制GPOQ微软提供了三种讄来限制GPOl承的复杂性。在地址、域、OU三个层次上用户都可以通过选择一个检查框L从更高一个层ơ上q行l承Q同P在每一个层ơ上Q用户可以选择~省的域{略选项Q方法是打开“zd目录用户和计机”插gQ右击GPO所在的域或OUQ从菜单中选择“属?#8221;Q然后选择“l策?#8221;标签。让你希望修改的目变亮Q然后选择“选项”按钮Q可供选择的选项?#8220;不覆?#8221;?#8220;止”。如果选择?#8220;不覆?#8221;选项Q即佉K择了不能承的查框Q该GPOq是会v作用。如果想在Q何一个地Ҏ行一个GPOӞq一功能很有用处。如果一个OU的管理员试图L对安全策略的l承Q包含安全策略的GPO仍然会被pȝ执行?#8220;止”查框可以完全止一个GPO执行Q这一功能在你对一个GPOq行~辑而不惌其他的用h行它时特别有效? 四、GPO的执行和qo 管只有AD中的计算机和用户对象才能执行GPOQ但我们可以qoGPO的效果。用Win2K中的安全l、应用组{略━━q是Win2K中的一Ҏ的安全特性,可以使特定的用户l不能执行某一个GPO。右击MMC中GPO的名字,选择“属?#8221;Q然后再选择“安全”Q就可以看到GPO目前的安全设|。认证用Lh应用l策略权利,从而附属这一GPO的所有用户可以执行它。在Win2K中,安全l可以包括用户和计算机对象。因此,利用安全l可以仔l地调整用户、计机对象如何执行一个GPO。你q可以对个别的应用程序应用安全组Q可以指z一个GPO的Y件安装部分。例如,假设你在一个GPO中发?0个应用程序,可以指定只让金融用户用户l访问其中的5个,其他用户d到这个域Ӟ它们也不会发现这5个应用程序? 五、GPO的内部构?/strong> 六、GPO带来的难?/strong> 另一个难题是{略的执行。如果在AD链上的许多层ơ上都存在有GPOQ在用户每次d或系l启动时都会执行所有的GPO。在Win2Kpȝ中,微Y推出了一些新的功能来优化pȝ的性能。首先,GPO的版本信息依赖于工作站和GPOQ如果GPO没有变化Q系l就不会执行它。另外,在GPE的属性页上,可以止用户或计机对GPO的执行。如果徏立一个GPO用来分发关闭pȝ或启动系l时的脚本,用GPO的用户配|部分,q样会工作站不能解析GPOq判断它是否已经发生了什么变化? 最后的一个难题v源于GPC和GPT是两个单独的实体。GPC是AD中的一个对象,它与GPT中包含的文g的复制不同步Q这意味着创徏一个GPOӞ在GPT开始向域控制器上的Sysvol复制文g之前GPC可能已经开始进行复制了? 所有问题的h都是׃AD使用了一U多M的复制模式。理ZQ当另一个系l管理员在一个域控制器上~辑一个GPOӞ你也可以在某个域上对它进行编辑。因此,当徏立一个GPEӞ~省状态下指的是在“操作M”中充当PDC的域控制器。(“操作M”是AD基础l构中的一pd托管功能Q用作PDC的服务器可以兼容q行NT和Win9x的工作站。)一般情况下Q可以通过只向数的系l管理员授予~辑GPO的权利来避免q种情况的发生,q保证如果有人在~辑GPOӞ让其他的人都知道。此外,需要注意的是,在对一个GPOq行~辑Ӟ?#8220;止”它,修改l束后重C能?/p>
GPO是一U与域、地址或组l单元相联系的物理策略。在NT 4.0pȝ中,一个单一的系l策略文Ӟ例如ntconfig.polQ包括所有的可以执行的策略功能,但它依赖于用戯机中的pȝ注册表的讄。在Win2K中,GPO包括文g和AD对象。通过l策略,可以指定Z注册表的讄、用NT 4.0格式.adm模板文g的运行Win2K的本地计机、域的安全设|和使用Windows安装E序的网lY件安装,q样在安装Y件时可以对文g夹进行重定向?
要充分发挥GPO的功能,需要有AD域架构的支持Q利用AD可以定义一个集中的{略Q所有的Win2K服务器和工作站都可以采用它。然而,每台q行Win2K的计机都有一个本地GPOQ驻留在本地计算机文件系l上的GPOQ,通过本地GPOQ可以ؓ每台工作站指定一个策略,它在AD域中不v作用。例如,Z安全原因Q你不会在AD域中配置公用的计机。利用本地GPOQ可以通过修改本地{略来得到安全性和对台式机的限制用而无需利用ZAD域的GPO。访问本地GPO的方法有2U,W?U方法,在需要修改GPO的计机?#8220;开?#8221;菜单上选择“q行”Q然后键入:gpedit.msc?
在AD中,可以在域、组l单位(OUQ或地址三个不同的层ơ上定义GPO。OU是AD中的一个容器,可以指派它对用户、组、计机{对象进行管理,地址是网l上子网的集合,地址形成了AD的复制分界线。GPO的名字空间被划分机配置和用户配|两个大c,只有用户和计机可以使用GPOQ象打印机对象甚至用L都不能应用GPO?
只有用户和计机对象才能执行l策略。在计算机的启动和关闭时QWin2K执行在GPO的计机配置部分定义的策略,在用L录和注销ӞWin2K执行在GPO中用户配|部分定义的{略。事实上Q在用户d时可以通过手动方式执行一些的{略Q例如可以在命o行方式下q行secedit.exeE序执行安全{略应用E序。此外,通过理员模块策略可以定期地对用户和计算机的GPO讄q行hQ缺省情况下Q这U刷新每90分钟q行一ơ,q种h可以使其他用户不Ҏ修改通过l策略定义的{略。但是,软g安装{略是不会刷新的Q因为没有h希望周期性地改变{略引v软g?#8220;??#8221;Q尤其是有其他用户在使用Ӟ更是这样了。计机、用户对象只有在计算机启动或用户d时才会Y件安装策略?
一个GPO是由两部分组成的Q组{略容器QGPCQ和l策略模板(GPTQ。GPC是GPO在AD中的一个实例,在一个特D的被称作系l的容器内有一?28位的全球唯一的ID码(GUIDQ。在“zd用户目录用户和计机”插g中选择“览”Q从MMC菜单中选择“高属?#8221;Q就可以看到“pȝ”容器。GPT是组{略在Win2K文gpȝ中的表现Q与一个GPO有关的所有文件依赖于GPT?
虽然GPO的功能很强大Q但要掌握它可不Ҏ。最难掌握的是如何判断一条有效的{略如何对域中的计算机或用户起作用,׃GPO可以存在于AD链中不同的层ơ上Q这U判断就特别困难。同Ӟ׃可以指派一个GPO的控Ӟ因此不大Ҏ清楚其他的GPO是否会对你没有控制权的容器中的GPO有媄响。因此,计算一个计机或用户对象接收的“{略的结果集”QRSoPQ是相当困难的。尽微软还没有提供计算RSoP的工P但已l有W三方厂商提供了相应的计RSoP的工兗?
]]>
Resource Kit实际上是Microsoft为管理员提供的一套额外的工具集,包括了超q?00个各U工PvbsQdllQmscQ涵盖了理TCP/IPQ网l,注册表,安全Q远E管理,配置QBatch文gQ以及操作系l的其他斚w。可以让你更Ҏ的管理一个NTpȝ。不得不承认q是一个非常庞大的工具集,包括C已经被h们所遗忘2K所应该h的功能。当你了解到了里面一些工L性能以后Q你会知道即仅仅只是一个C2U的操作pȝ也具有相当的安全性,对于l心配置的系l,d也只能伤其表面。但是,但是M东西都有他的两面性,ResKit非常具有代表性,在Hacker体中大家习惯把q个玩意叫做“Hacker的工L”。当然如果你惛_一个Hacker你得掌握里面的东西,而想当一个好的administrator你也得掌握里面的东西。希望大安可以好好看看?
W一部分Q管理你的计机
1. Appsec.exe QApplication SecurityQ?
Appsec.exe是一个基于GUI的应用程序,它允许管理员在一个多用户环境下限制普通用戯问一l网l上l预订的应用E序。启用这U应用程序安全性,会Dpȝ拒绝普通用h行或使用一个未l许可的应用E序。大?看这是不是一个很有用的工具呢Q对某些特定的程序进行限制以后,可以减少一些Hacker入R的可能,下面我们 l箋讨论?
对于2000来说一个显著的特点是引入了GPOQGroup PolicyQ这U东西,实际上就是一个界面化了的注册表编辑器Q但是因为GPO的存?000大大提高了他的安全性。一般来_我们可以通过配置GPO从启动菜单和桌面 上隐藏一个应用程序,但是不能止用户用其它手D访问它QAppsec增加了这U安全性,可以止用户执行应用 E序甚至是从命o行模式或者用其他的应用E序。Microsoft的徏议是和GPO一起用,攑֜Terminal Server上运行或者说是在应用E序q行的机器上使用。Appsec对于应用E序的限制还严|除了应用E序的名UC外还要包括该应用E序的全路径Q只有二者都附和才能够运行?
下面提几Ҏ意:
a. 只有理员或理员组的成员可以运行所有程序,用户Q包括PowerUserl)只能q行列表中的应用E序?
b. AppsecW一ơ启用时QTerminal Server的会话必M断,否则Appsec不能在本次会话中启用?
c. 实际上Appsec只能限制调用CreateProcessҎ的应用程序,不能限制使用NTCreateProcessҎ的程序,但是q种E序非常的少见?
d. Appsec只能限制32位的E序Q但是在默认情况下,一旦启用appsecM?6位程序的讉K都是止的,?是可以添加ntvdm.exe来16位程序可以被讉K?
e. 我想q个也是Appsec最大的~点QAppsecq不对程序本w进行检查,也就是所如果该有效E序q行替换 的话QAppsec不会发现。所以说我们必须止用户替换和重命名应用E序Q这可以用Security Template来做?
f. q有Appsec只可限制可执行文Ӟ不可以是DLLs?
g. Appsec的用是对于计算机的Q也是说一l启用用本机的用户都要受到限制?
另外Q应该要提到的一ҎQ按照Microsoft的要求,Appsec的列表中臛_应该有:
\Wtsrv\explorer.exe
\Wtsrv\system32\cmd.exe
\Wtsrv\system32\net.exe
\Wtsrv\system32\regini.exe
\Wtsrv\system32\subst.exe
\Wtsrv\system32\systray.exe
\Wtsrv\system32\xcopy.exe
q么几项?
当然啦!你去掉也是可以的Q但是会造成用户难以正常使用。嗯Q以我个人的Q如果你想防止Hacker入RLnet.exe会有意想不到的收P呵呵Qcmd.exe也是不错的选择Q如果不想管理员以外的Q何h讉Kql去掉就好,后果你们试试q道了?
p.s. q个E序所需要的文gAppsec.exeQ这个倒是在)QAppsec.hlpQ这个也在)Q但是Appsec.dllQ?
psec.cntQInstappsec.exeq没有包括在Resource Kit里面Q要ȝ站上自己下蝲Q!q简直是搞笑嘛!?
只有Microsoftq得出来。你可以在这个地方下载这个hotfix:
http://download.microsoft.com/download/win2000platform/Appsec/1.0/NT5/EN-US/appsec_hot
fix.exeQ?
安装以后可以用了?启用以后Q换个用P不是理员组Q登陆本机随便点个应用程序,你就可以看到Access to specified device, path or file is denied的警告,很厉害的Q哈哈!
2. Cachemov.exe (Offline Files Cache Mover)
Cachemov.exe一个有的东东Q用来移动离U文件的~存Q默认保存在根卷下)Q如果你觉得那东西在那个地方的你事的话Q把它挪个地方也没有什么问题。这个工h较简单就不再多说什么了Q就一个GUIQ然后选择 一个卷Q它p动帮你做完了Q很单。你也可以用无人值守模式 cachemov -unattend x:\ 电脑自己?定,此时需?Cchmvmsg.dll)。所有的l果会保存至应用E序日志?只是注意一下,q行旉要管理员的n份,q有是不能够移动到|络驱动器和可移动驱动器上去。移动以后不要改letterQ不然你会有ȝ的!
3. Defptr.exe QDefault PrinterQ?
如果你闲着没有事的话,可以用用q个东西。它允许你随意改变你的默认打印机Q可以在可用的网l和本地打印机间交换Q一旦运行以后会在右下角有个图标(如果不想看到图标可以使用defptr -i), q个东西可能ҎO游用户会有一点好处吧Q?
4. Delprof.exeQUser Profile Deletion UtilityQ?
删除用户的Profile时用的工P本来q个是可以在System Properties里面做的。而这个工具可以在本地?
是远E运行,看v来的好处是可以指定多长旉不用就删除Q在处理比较多的用户的时候才昑־出好处来Q就那么个把的话Q就自己做好了。稍微介l一下语法好了?
delprof /q /i /p /c:\\computername /days /?
/q 后台悄悄执行Q不用确认?
/i 忽略错误l箋删除?
/p 在删除前提示认?
/c:\\computername q个不用解释了吧Q?
/days 指定多少天不使用的Profile删除,days用整数?
/? 出现上面q些东东?
5. DelSrv.exe QDelete ServiceQ?
一个拿来删除服务用的工P使用h非常单,只要delsrv servicename可以了。没有什么好说的?
6. Dureg.exe QRegistry Size EstimatorQ?
q是一个用来评C的注册表储存了多数据的工具Q?
B*qp|?wE#&SIj
可以从Q何一个hiveQsubtree和subkey中读出。另?
Q这个工兯可以用来搜烦注册表中的text字符Ԍq种搜烦q可以具体到某个subtree中?
q个工具主要用于得出注册表具体占用空_对于开发h员和理员来说都是一个非常有用的工具。虽然我们可以用控刉板中的System选项和系l监视器中的Registry Quota in Use来监视注册表Q但是如果你只想知道某个单独的Key或者是Subkey所占用的空_?3o?]?3Fn|专\lz上面q些工具无能ؓ力了?
语法Q?
dureg /cr /cu /u /lm /a /s?d "registry_path" "string to search"
/a
表示查找整个注册表的大小?
dureg /a
Size of HKEY_CLASSES_ROOT : 7740324
Size of HKEY_USERS : 995732
Size of HKEY_LOCAL_MACHINE : 17265663
Total Registry data size: 26001719
/cr "registry_path"
默认情况下,q回的是HKEY_CLASSES_ROOT的大?
/cu "registry_path"
默认情况下,q回的是HKEY_CURRENT_USER的大?
/lm "registry_path"
默认情况下,q回的是HKEY_LOCAL_MACHINE的大?
/u "registry_path"
默认情况下,q回的是HKEY_USERS的大?
以上四个选项都可以在 "registry_path"中填入该Subkey下的Lkey。比如:
dureg /lm "software\microsoft",查找HKEY_LOCAL_MACHINE\Software\Microsoft key的大?
/s "string"
在注册表中搜索该字符丌Ӏ比如:
dureg /s "run" L和run相关的字W串。当然你也可以和/cr{这几个参数一起用,kS';`Bw育U8中L?(mE?/font>比如Qdureg /cr
/s "run"?
会看C大串昄Q这里就不写出来了?
7. Elogdmp.exe QEvent Log Query ToolQ?
一个命令行工具用来导出选定的日志中的信息。这是在屏幕上进行显C,最好和Find或者是Findstrq样的工?
一起用,不然太难扑ֈ了?
语法Q?
elogdmp -? computername eventlogtype
eventlogtype有Application, SecurityQSystem三种?
比如Q?elogdmp hello application
q个工具可以q程使用Q但是需要域理员组或者是本地理员组的成员才可以使用?
8. Instsrv.exe QService Installer)
嗯,Instsrv.exe一个命令行工具可以用来安装或者是删除可执行服务(.exe)Q当然也可以l它们分配名字的
语法Q?
instsrv Servicename pathtoexecuteable -a accountname -p accountpassword or Servicename remove
ServiceName
用来昄的名字,比如Alerter?
PathToExecuteable
要安装服务文件的全\径,包括盘符在内?
-a accountname
指定服务q行的帐戗?
-p accountpassword
帐户的密码?
servicename remove
指定你想Ud的服务?
比如Q你惛_装一个bbb.exe作ؓ一个bbb的服务?
instsrv bbb "c:\program files\bbb.exe"
默认情况下,我们安装的服务是没有启动的,需要启动。而有些时候需要插入相应的注册表项?
如果x定这个服务在某个用户下运行:
instsrv bbb "c:\program files\bbb.exe -a hello\bbb -p xxx"
that's OKQ?
如果要卸在的? instsrv bbb RemoveQ注意删除之前要先Stop?
q里我们再提C个工具Srvinstw.exeQ这是一个GUI模式的工P所以用h非常的简单,照着提示一步步做就可以了。它和Instsrv.exe的区别是q个东东可以在远E计机上安装服务。它们都需要administrator 的特权,误住?
9. intfiltr.exe QInterrupt Filter)
q是一个在多CPU环境下用来调整CPU之间中断关系的工P可以用来试最优化的方案。我没有2个这U东西,q个E序没有进行测试了Q那个有的话Q帮我试试,告诉我结果。我把它补全?
10. Inuse.exe QFile-In-Use Replace UtilityQ?
一个命令行工具可以用来替换被锁定的操作pȝ文gQ比如一些重要的DLL文g。这些文件会在下一ơ启动的时候被替换Q根据微软的说法Q这U替换会在下一ơ启动的Autochk完成之后Q创建Paging Files之前。基本上来说Q这个一个调试用的工兗该E序需要管理员w䆾q行?
语法Q?
insuse -? source destinaion /y
source
你想用来替换的文件。可以用完整的物理路径或者是UNC路径?
destination
你要替换的文件?
/y
表示定?
如果你想用一个远E文件来替换一个本地存在的文g可以使用下面的方法?
inuse \\hello\winnt\abc.dll c:\winnt\abc.dll /y
11. Javareg.exe QJava/COM Registration UtilityQ?
命o行工具可以用来注册Java classesQ鄙Z懂Javaq种高深的东西,q什么是classes都不知道Q没有办
法了Q这一块就只好%K&………了,不好意思。有懂的人帮一下忙好了Q呵呵!Q?
12. Netsvc.exe QCommand-line Service ControllerQ?
一个命令行工具Q?font id=hvnnuniprkb style="DISPLAY: none">DrL育\a09_[B用来控制服务Q和SC比较cMQ但是在功能上要比后者少很多Q用q个工具基本上可以进行远E启动,停止Q暂停,l箋服务或者查询一个服务的状态。基本上只要你是一个普通用户就可以执行q个命oQ?font id=teewuthpnqptsjdlwsu style="DISPLAY: none">|KK.~|a~育TFN60T%中业G 当然如果要启动和停止的话Q就需要相应的权限了?当然和SC相比Netsvc有很大的局限性,所以在q里我多说一点和服务有关的东ѝ在Win2k虽然你可以对各种服务q行查询Q但是ƈ不是所有的服务都可以直接关闭,比如Workstationq个服务Q但奇怪的是Workstationq个服务有些时候会莫名其妙的丢失,
N%教\理Y专U教bX
至今我还不知道原因,一旦丢׃后基本上?需要重装了。我们l话题,当一个用h许多zd的连接存在的时候,你只可以查询或者是暂停该服务,而不能远E强q服务停止。而如果有服务依靠别的服务才能q行的时候,我们也不能直接停止该服务。D一个简单的例子QClipbook服务需要Network DDE服务才能q行Q我们必d停止CilpBook才能停止Network DDE?
q里q要提到另外一U状况,是当你停止一个不可以停止的服务的时候Netsvc会报告Service is running Q而该服务不能停止的原因有很多U,但是Netsvcq不会报告给你,太惨了!Q此外,当一个服务不能被暂停的时候,q个g西仍然会报告l你说Service is runningQ唉Q所以说最好用SC?
语法Q?
netsvc command servicename \\computername /??help
command可以是以下几个命令:
/list
列出已经安装的服务,q个时候不使用servicename?
/query
查询一个服务的状态?
/start, /stop, /stop, /continue
q几个命令就不用解释了吧Q字面意义都已经很清楚了?
最后D两个例子吧!如:
netsvc /list \\hello
netsvc /query \\hello "Alerter"
netsvc Alerter \\hello /pause
更进一步具体的内容可以在SC那里看到Q?
q里不再多说?
13. Now.exe
Reskit里面比较无聊的命令之一Q可以在STDOUTQStandard output)上输Z个带旉戳的东东。有点像
ECHO命o。D例说明算了:
当我们打入ECHO bbb的时候,屏幕会显Cbbb
C:\>echo bbb
bbb
但是当我们用Now bbb的时候,会输出:
C:\>now bbb
Sat Feb 16 22:31:34 2002 -- bbb
q种东西Q不知道有什么用Q呵呵!
14. Pathman.exe
一个命令行工具可以修改pȝ路径和用戯\径,当然q个工具q可以用来检查\径中的错误,有多余的头部分号Q尾部分P多个q接得分P重复的添加和删除Q增加重复的路径或是Ud一个不存在的\径等{,但是不检查\径的有效性?2K保留了两套\径,一个是l一的全局pȝ路径Q另一l是每个用户个别的用戯\径,当然Z保证兼容性,2000仍然保留了从Autoexec.bat装入路径。每个用户可以修改自q用户路径Q?
JAHIGD$*O@专_8y3|??/p>
而只有管理员可以修改pȝ路径Qؓ了方便操作,微Y搞Zq个Pathman?
语法Q?
pathman /as /au /rs /ru path
/as
增加分号隔开的系l\径?
/au
增加分号隔开的用戯\径?
/rs
删除分号隔开的系l\径?
/ru
删除分号隔开的用戯\径?
当修改完成以后,Pathman会广播信息给所有的端H口提醒它们环境被改变了Q这会D应用E序升它们的环境,获得l修改的路径?
举例说明Q?
dc:\temp;C:\users\name;d:\utils为用戯\径,
5$SlPJ*的j?[i
只是在它们不存在的时侯才d。这个结果你?24. Sc.exe QService Controller ToolQ?
q好一q以前就写过q个东西介绍了。大家再看一遍吧Q?
我们知道在MStools SDKQ也是在Resource Kit有一个很有人知道的命o行YӞSC.exeQ这个Y件向所有的Windows NT和Windows 2000要求控制他们的API函数。我们可以在命o行里通过对这些函数设定参数的方式来设定他?API)。SC.exe也可以显C服务的状态,同时也可以从状态结构区域里重新扑ֈ存储在里面的数倹{它q可以列E计机的服务函数或者是服务状况l构。SC.exeq个开发工兯可以比服务控制面板E序和网l命令行界面(net.exeQ这个东西可以告诉你一个服务是
在运行中Q还是停止,q是暂停。)q两个东西提供更多的l节和准的信息。虽然上qC个东西在正常工作的情况下Q对于完整的调试是非常好用的Q但是如果有新的服务Q或者新的代码被开发出来的时候,q两个工h供的信息可能造成误导。这也就是我们需要用到SC的原因?
下面丑ֈ说明Q如果在开发阶D,你的服务在挂住在一个start-pending的时候,控制面板和net.exe同样报告服务是在q行的。但它挂在一个stop-pending的时候,net.exe报告它运行,而控刉板着报告它停止,如果你试着 启动它,q是控制面板则会告诉你这个服务正在运行。难道这不是很困惑吗Q呵呵!
SC.exe可以让你询问服务的状况和取出存储在状态结构区域内的数|控制面板和net.exe不提供服务完整的状况 。但是无论如何,SCE序可以告诉你这个服务准的情ŞQ同样也可以l你看最后的checkpoint数和{待提示?
q个checkpointQ我叫它查点(我觉得他像一个程序调试时|的断点)Q所以我们也可以把看作ؓ一个调试工P因ؓ它可以提供一个关于在E序停止时还要沿着初始化l前q多久准报告?
SC.exe也可以允怽调用很多的服务控制API函数Q可以让你从命o行里改变大量的参数。这位服务开发者们提供了很多的优势。例如,它提供了一个方便的方式来创建或者在注册表和服务控制理数据库中配置服务信息。开发者们不需要在手动的在注册表里单独的设|键值来配置服务Q也不用重v机器来强q服务控制管理数据库升 ?
作ؓ一个命令很工具QSC.exe可以用来试你自qpȝQ你可以讄一个批处理文g来用不同的参数调用SC.exe来控制服务。这个很有用Q如果你想看看你的服务不断的启动和停止,我没有试q哦Q让一个服务一下子
打开Q一下子关闭Q听上去很不错的。如果你的服务进E里面有多个q程的话Q你可以保持一个进El运行不让它走开Q然后让另一个不断的打开在关闭,q可以寻找一下内存缺乏导致不完全清楚的证据?
下面介绍SCQSC QCQand SC QUERY
SC使用q样的语法:
1. SC [Servername] command Servicename [Optionname= Optionvalue]
2. SC [command]
q里使用W一U语法用SCQ用第二种语法昄帮助?
下面介绍各种参数?
Servername
可选择Q可以用双斜线Q如\\myserverQ也可以是\\192.168.0.1来操作远E计机。如果在本地计算Z
操作
׃用添加Q何参数?
Command
下面列出SC可以使用的命令?
config 改变一个服务的配置。(长久的)
continue 对一个服务送出一个l控制的要求?
control 对一个服务送出一个控制?
create 创徏一个服务。(增加到注册表中)
delete 删除一个服务。(从注册表中删除)
EnumDepend 列D服务的从属关pR?
GetDisplayName 获得一个服务的昄名称?
GetKeyName 获得一个服务的服务键名?
interrogate 对一个服务送出一个询问控制要求?
pause 对一个服务送出一个暂停控制要求?
qc 询问一个服务的配置?
query 询问一个服务的状态,
6W软]l7|-|^业供)
q是2000的局限。当讉KREG_MULTI_SZӞ只能讉K到第一个项目?28. showpriv.exe Qshow PrivilegeQ?
一个用来显C用h者是l分配的Ҏ的命令行工具Q如果要看domain的相关的东西的话Q要在DC上用。用v来很单,showpriv privilegep了,如:
C:\>showpriv sesecurityprivilege
1 account(s) with the sesecurityprivilege user right:
BUILTIN\Administrators
All accounts enumerated
q里主要讲一下这?000的一些privilege?
PrivilegeQ?font id=pdwunrdvcfcvwu style="DISPLAY: none">DmW|S*I,.u#fM为本地管理员提供了一U手D,可以控制允许什么hh什么权限或者能执行什么样的系l操作,
如允怺互式登陆{等。这里我们说的特权是指特D操作所需的权限,如备份呀什么的Q一旦授予了某种ҎQ这些特权就会包括在用户的安全访问o牌中。这是一些基本的概念Q可以看以下Q比较容易明白?
pȝZ理的方便L为每个本地组分配了相应的ҎQ而且从来不改变这个特权,q些东东在NTpȝ上可以分为内|能力,标准用户权力Q高U用h力这么几U,但是?000中标准权利和高权力已经被用L权所取代Q只有在为委z而信任计机和用户帐PSeEnableDelegationPrivilegeQ和把计机从dock中移出(SeUndockPrivilegeQ这两种情况下可以把NT的权利映到2000中的Ҏ。注意一?000的一些问题。ƈ非所有能力都有匹配的权利Q因此,不可能用权力完全匚wl的内置能力。而由于特定组能力的预定义分配和不能把所有能力复制ؓ权力Q就难以区分dQƈ且只能强制用最低特权的概念?
那么在域一U下q一个安全结构,D了难以授予管理的功能?000在AD引入后,允许区分Q务,也可授予domain和OU相应的管理层ơ?
下面来谈一下具体的一些用L权,应当?6个,也有?8个的?
SeTcbPrivilege
成ؓOS的一部分允许q程可以像用户一栯鉴别Q因此可以像用户一栯问相应的资源。只有底层的鉴别服务需要这LҎQ所以无论是工作站,独立服务器,q是DC都没有把q个设ؓ某h权利?
SeMachineAccountPrivilege
d工作站到?Zq个Ҏ可以启用Q必M证这个用户在域控制器本地安全{略中的才行?
SeBackupPrivilege
备䆾文g和目录?
允许用户l过文g和目录的权限来做备䆾。只有当应用E序试讉KNTFS备䆾API时才查这个特权。默认情况下Q这个特权分配给Administrators和Backup Operators?
SeChangeNotifyPrivilege
回避遍历查?
允许用户来回Ud目录Q但是不能列出文件夹的内宏V默认情况下Q这U特权被赋予Administrators,
Backup Operators, Power Users, Users ,and EveryoneQ换句话说就是所有h都有q种权利?
SeSystemTimePrivilege
改变pȝ旉?
默认情况下Administrators和Power Users有这U权利?
SeCreatePagefilePrivilege
创徏分页文g?
允许用户创徏和改变一个分|件的大小。默认情况下Q只有Administrators有这个特权?
SeCreateTokenPrivilege
创徏令牌对象?
允许q程调用NtCreateToken()或者是其他的Token-Creating APIs创徏一个访问o牌?
SeCreatePermanentPrivilege
创徏怹׃n对象?
允许q程?000目理器中创徏一个目录对象?
SeDebugPrivilege
调试E序?
允许用户q接一个Debugger来调试Q何进E。默认情况下Administrators有该Ҏ?
SeEnableDelegationPrivilege
为委z而信任计机和用户帐戗?
允许用户Z委派而改变信任,只有当用h者是计算机对该对象的帐户控制标志有写权限的时候可以?
SeRemoteShutdownPrivilege
q程关闭pȝ?
Administrators在默认情况下有此Ҏ?
SeAuditPrivilege
产生安全审核?
允许一个应用程序在安全日志中,创徏Q生,增加一条记录?
SeIncreaseQuotaPrivilege
增加限额?
允许一个有写属性的q程利用其他q程从而取得更多的处理器限额,q种Ҏ有利于系l调试,但是也有DDOS的可能?
SeIncreaseBaseProrityPrivilege
增加调度优先U。允怸个有写属性的q程利用其它q程来获得更多的执行优先权。有q种Ҏ的用户可以在Task理器中改变一 个进E的调度优先权。默认情况Administrators有该Ҏ?
SeLoadDriverPrivilege
安装和卸载设备驱动程序?
允许用户安装和卸载即插即用设备的驱动E序Q不是即插即用的不受q个Ҏ影响Q但是只能被
Administrators所安装。因为驱动程序是作ؓ被信ȝE序来运行的Q这需要很高的Ҏ。而这U特权可能会被用于安装恶意程序,和破坏性的讉K。默认情况下Administrators有该Ҏ?
SeSecurityPrivilege
理审计和安全日志?
允许用户指定对象讉K的审计。有q种Ҏ的用户也可以清空安全日志。默认情况下Administrators有该Ҏ?
SeSystemEnvironmentPrivilege
修改firmware环境变量?
允许用户使用q程通过一个API来设|系l环境变量,另外Q也可以让用户用System Properties来做C上这一步。默认情况下Administrators有该Ҏ?
SeProfileSingleProcessPrivilege
Profile单一q程?
允许用户使用性能监视器来监视nonsystemq程。默认情况下Administrators有此Ҏ?
SeSystemProfilePrivilege
Profilepȝ性能?
允许用户使用性能监视器来监视systemq程。默认情况下Administrators有此Ҏ?
SeUndockPrivilege
计机中dock中删除?
允许用户使用Eject PC从坞中将计算机移出,默认情况下Administrators, Power Users, Users均有此特
权?
SeAssignPrimaryTokenPrivilege
替换一个进E令牌?
允许一个父q程替换相关的子q程的访问o牌?
SeRestorePrivilege
恢复文g和目录?
允许用户l过文g及目录权限来恢复备䆾文g。默认情况下Administrators和Backup Operators有此Ҏ?
SeShutdownPrivilege
关闭pȝ?
允许用户关闭本地计算机。默认情况下Administrators, Backup Operators, Power Users, Users都有
该特权,但是?000 Server中Users没有此特权?
SeSynchAgentPrivilege
同步目录服务数据?
允许一个进E提供目录同步服务,q个Ҏ只有在DC上。默认情况下域的Administrators和LocalSystem帐户
有此Ҏ?
SeTakeOwnershipPrivilege
取得文g所有者n份?
允许用户取得在系l中M可得到的对象的所有者n份,包括QAD对象Q文Ӟ文g夹,打印机,注册表键Q进
E和U程。默认情况下Administrator有此Ҏ?
以上是2000的用L权了Q是不是很多呢?呵呵Q?
29. Sleep.exe QBatch File WaitQ?
Sleep可以让计机{待一D|定的旉。这个东东对于用Batch文g会非常有用,在某些情况下也可能会让AT命o的用更加方ѝ?
Sleep time
time
要暂停的旉Q秒为单位?
sleep 20
在运行下一个程序之前等?0s?
假设我们搞这么一个登陆脚本到计算ZQ我x个不错的L?
@echo off
echo 2Q?3Q?002
echo.
echo 不要忘了明天x友生日哦Q!呵呵Q?
sleep 60
30. Soon.exe QNear-Future Command Scheduler)
soonq个命o可以让一个程序在很短的时间里面启动,比如几秒钟之内。基本上soon是一个AT的装配命令,可以单的装配一l合适AT命o来远E或者是本地启动一个程序。当然soon使用h要比AT单的多,自然功能也要一些了。当然soon可以让一个命令在于一天的旉内重复启动,q一点还是很有用的。下面介l一?
如何使用?
soon有两U命令,一是普通的操作命oQ还有就是配|命令?
1. Scheduling Command
soon \\computername delay /interactive "command"
\\computername
指定你要的计机Q远E用时要net use?
delay
指定从现在开始到启动E序的间隔,以秒为单位,默认情况下是本地5s,q程15s?
/interactive
q个和AT命o里面的interactive是一L。基本上可以看作是如果你打开一个cmdH口Q它会在桌面上蟩出来。默认是off的。只有当Schedule服务以LocalSystemw䆾启动时才可以Interactive?
command
你想要执行的命oQ这里用双引hl持命o解释时候的I格?
2. Configuration Command
soon /d /l:n /r:n /i: on│off
/d
用这个开x修改默认配置
/l:n
指定LocalDelay的倹{?
/r:n
指定RemoteDelay的倹{?注意Q这些值都是正整数Q而且以秒为单位?
/in│off
指定默认情况下是interactiveq是uninteractive?
如果你想?分钟启动一ơ一个程序可以写一个这L脚本?
every5.cmd
soon 300 every5.cmd
xxxx.exe
对于q程启动Ӟ使用AT命o不能成功的原因多数是因ؓAT命o需要指定绝Ҏ_如果不能搞得太清楚的话,我徏议你们用soon命oQ在大部分情况下大家需要AT的功能,soon都可以完成,而且很快。基本上srv.exe q样的后门都可以用soon来做?另外不得不提一点,不知道是我的机器的关p还是这个程序本w的bugQ很多情况下soon产生的schedule居然会是tomorrowQ这个有点让人搞不懂。大家可以多试试?
31. Srvany.exe QApplications as Services UtilityQ?
Srvany一个可以让Windows应用E序像一个服务那栯行。也是说在logoff的时候不关闭Q也不用在logon
的时候重新启动。也是q是没有h登陆q个E序也可以运行,当然计算机得是开着的,呵呵Q此外,如果q个应用E序不忽略WM_ENDSESSION或者CTRL_LOGOFF_EVENTӞE序也会因ؓlogoff而退出。srvany是一个ؓ32-bit应用E序设计的,但是用用16-bit也应该没有多大问题。如果你安装qsrvany服务的话Q在升或安装Windows 2000, Windows NT Server, Windows NT Workstation, or applications 时要先disabled。实际上srvany本n是一个服务,它先把自己启动v来,然后又在启动那些配置q的应用E序。就我个人开来这U方法很费力Q比起instsrv和srvinstw来说都比较难以用,最关键的是q要手工d注册表。下面也p一下怎么栯一个应用程序像一个服务那栯行。首先我们要安装SrvanyQ可以用instsrv Myservice c:\path\srvany.exe或者srvinstw照提C做可以了。这个是必要的,我们需要Srvany来启动程序。当然ؓ了让E序像服务一栯行,我们需要编辑注册表信息Q而且q要选择启动参数和工作目录。这里再ơ提醒手工操作注册标有危险性,注意备䆾?
我们只要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\?
d一个Parameters子键Q这里的MyService是刚刚指定的Srvany的服务名字?
然后再这个subkey底下建立一个应用程序入口,使用REG_SZcd?
接着在指定程序的全\径,需要包括扩展名。比如Application: REG_SZ: C:\Tools\srv.exe
Z指定相应的启动参数我们还得l编辑注册表?
q个时候要在刚刚的Parameters底下接着创徏一个AppParameters条目Q?font id=fbertsmhha style="DISPLAY: none">+GtwCb\))X也是REG_SZcd?
比如QAppParameters: REG_SZ: C:\tmp\exampleQ当然因为srvany已经被安装ؓ一个服务了Q你也可?
在Services面板里指定。C:\Tools\srv.exe C:\\temp\example。注意,q里使用\\来表CZ个\?
再来是指定环境变量了?
d一个AppEnvironmentQREG_MULTI_SZcd。这个东西就是Services面板里面的Dependenciesq一V?可以Ҏ需要指定,没有׃需要添加?q要指定Working Directory?
也是在Parameters里面建立一个AppDirectory使用REG_SZ。比如:AppDirectory: REG_SZ: C:\Tmp
当然也可以在Services里面 /D c:\\tmp D:\\Tools\\Vi.exe c:\\tmp\\example?
一个srvany可以启动一个应用程序,如果你要用srvany而且是多个程序的话,只要采用不同的servicename?动一个srvany可以了。如果要删除可以使用instsrv myservice removeQ也可以用sc?
大家可以通过调整以下q几个注册表Ҏ为提供相应的讉K?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\NullSessionShares
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\NullSessionPipes
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters\RestrictNullSessAccess
32. Srinstw.exe (Service Installation Wizard)
q个安装服务的工具前面就已经提到q了Q?span id=nfsqeauhal style="DISPLAY: none">+|育iRyw98K
34. Svcmon.exe (service Monitoring Tool)
q个工具可以用来监视本地或者是q程计算机服务的状态改变,当它发现一个服务开始或者是停止的时候,q个工具会通过发e-mail或者是Exchange Server来通知你知道?
q个工具׃部分l成QSvcmon.exeq个需要你手工拯?SystemRoot%\System32底下Q另一个Smconfig
是一个安装向对{由于是囑Ş界面Q所以我׃再多说什么东ѝ这里提醒一下注意,在Exchange
Recipients那里d你要提醒的用LEmail。其他的按照指示做就可以了?
35. Timethis.exe (Time This)
我很喜欢q个工具Q这个工具可以用来报告一个程序的q行旉。报告的旉可以详细?.001s。连net sue都可以拿来测试?当然使用h也很单?
timethis commandname
当你在命令中?lt;, >, >>Q|q样的符L时候,请用双引号Q比如:timethis "dir /a > a.txt"
使用以后基本上会出来q么一个东ѝ?
C:\>timethis dir
TimeThis : Command Line : dir
TimeThis : Start Time : Sun Mar 03 17:45:27 2002
Volume in drive C is WIN2000
Volume Serial Number is 4CE5-8543
Directory of C:\
2002-02-23 22:58
Documents and Settings
2002-02-23 22:49
Inetpub
2002-03-03 11:37
Program Files
2002-03-03 14:15
WINNT
0 File(s) 0 bytes
4 Dir(s) 9,512,271,872 bytes free
TimeThis : Command Line : dir
TimeThis : Start Time : Sun Mar 03 17:45:27 2002
TimeThis : End Time : Sun Mar 03 17:45:27 2002
TimeThis : Elapsed Time : 00:00:00.050
36. Timezone.exe (Daylight Saving Time Update Utility)
微Y真是奇怪,居然在ResKit里面加入了这L东西Q一个调整夏令时的工兗我们现在又不用夏oӞ没有多大用处。随便说_
timezone /g /s startdate enddate /Q?
/g
当前的情c?
/s startdate enddate
q行修改Q格式是HourayofWeekay:Month
Hour: 00-23
DayofWeek: 0=Sunday 1=monday………
Day指定发生的时_如果上面是sundayQ这里是1的话Q就是该月的W一个星期天?
Month: 1 = January ?2 = December?
37. Tlocmgr.exe (Telephony Location Manager)
一个用来管理TAPI的小E序Q允怽方便的改变你的TAPI Location。一旦运行以后会在右下角有一个trayQ这个实在没有什么好说的?
38. Tracedmp.exe (Trace Dump)
q个工具也是用来处理Tracelog产生的日志的Q和前面的Reducer.exe有相象之处。Tracelog产生的是不容易阅ȝQ我们可以用Tracedmp把它转换比较Ҏȝ格式Q比如Summary.txtq种内容一? 也可以是CSV可以比较详细。还有tracedmp可以直接从Realtime buffer中直接读出数据来处理。tracedmp解释tracelog产生的日志是通过一个叫mofdata.guid的文Ӟq文仉面包含了pȝ的目录服务和pȝq踪信息?
如果要处?其他的数据,必须把相应的信息加入到mofdata.guid中去?
tracedmp option -h??
-o 20051017183000.htm
输出CSV和summary文gQ默认情况下是dumpfile.csv和summary.txt。这里的dumpfile.csv包括每一?
event的详l的信息。具体生的日志的内容代表的信息我在q里׃详细说了Q?
1#无M:jP?q's00
大家可以参看相应的资料?N%|Q_:j专Y国XE
基本上用默认就好??件_F件}Rw_c
会在多长旉内被释放?