📄 9.1.1 信任成员的管理.htm
字号:
style="LINE-HEIGHT: 25px" face=arial color=#000000 size=2>
<UL style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 身份识别及使用者内容 </B></FONT>许多Windows安全性以使用者为基础,并且将它的能力应用在使用者识别以及维护「使用者内容」上。这个能力可让系统决定使用者是否被允许执行某些动作。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 存取控制 </B></FONT>存取控制与私有资料和文件及注册密钥等系统物件之安全性有关。Windows
2000的存取控制特色使用在身份识别和使用者内容上,其依赖的程度在之后的两个章节中开始讨论时会更清楚。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px"><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 安全性连线 </B></FONT>通讯安全性是Windows
2000的一个重要部份,包括资料加密和认证,两者皆确保您正在与一个可信赖的实体通讯。<BR
style="LINE-HEIGHT: 25px"> </LI></UL></FONT>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>因为安全性非常依赖于使用者身份识别的建立和管理,所以我们要开始讨论Windows
2000之信任成员的使用。</FONT></P><A style="LINE-HEIGHT: 25px" name=209001>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e70d7
size=5><B style="LINE-HEIGHT: 25px">何谓信任成员?<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>当您登入一台执行Windows的机器,通常会输入使用者名称及密码。使用者名称会向系统确认这个代表您的帐号。像这样的帐号通常被称为<FONT
style="LINE-HEIGHT: 25px" face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 使用者帐户 </B></FONT>。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>使用者帐户维持一组与使用者相关的资讯,例如,名字、密码(或身分证件)、注释及地址。有两个必要项目与使用者帐户一起储存,即是使用者在系统上的权限清单以及数位身份识别-被称为安全识别项或是SID(读为「sid」)-当在保护物件及私人资料的安全时,系统会使用它们来确认帐户。SID是用来确认信任成员帐户的可变长度二进制结构(权限和SID在稍后将有详细的讨论)。第叁个与使用者帐户同样重要的资讯是使用者成员的群组清单。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Windows开发人员实作了群组帐户,以管理复杂性的事物。<FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 群组帐户 </B></FONT>包含一组可以是使用者帐户或是通用群组帐户的成员。群组帐户维持着与使用者帐户相似的资讯,例如系统权限及SID。只要经由将使用者帐户指派到群组帐户,可在一个地方管理一组使用者安全性而不必为每个使用者作调整。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>使用者帐户及群组帐户是一个系统的信任成员。<FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 信任成员 </B></FONT>是
在Windows中可以拒绝或允许存取的实体。有些信任成员隐含在系统中(例如Everyone之内建群组),另一些则由系统动态地建立(例如在第十及十一章会更详细讨论的登入SID),还有其他因为已建立帐户而存在的信任成员。使用者、群组及电脑都是与信任成员帐户有关的Windows信任成员。所有的信任成员分享遍及系统的公共函数,尤其是在处理存取控制时(在下一章讨论)。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>使用者帐户及群组帐户是称为<FONT style="LINE-HEIGHT: 25px" face=arial
color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 信任成员 </B></FONT>的广泛类别成员。因为这一章主要是讨论使用者及群组帐户,所以除非详细指明,否则<FONT
style="LINE-HEIGHT: 25px" face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 信任成员 </B></FONT>及<FONT
style="LINE-HEIGHT: 25px" face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 信任成员帐户 </B></FONT>这两个术语即代表使用者及群组帐户。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>系统经由信任成员帐户授予某个文件的存取或拥有权。当系统执行某个特许的权限函数时,因为信任成员帐户已授予这个权限,所以它是被允许的。当使用者被系统识别时,是被她(他)的信任成员帐户及群组的信任成员帐户识别,而且使用者是这些帐户的成员。如您所见,信任成员是Windows安全性的重要部分。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>在我们进入计划性的管理使用者及群组帐户的讨论之前,让我们先看一下管理系统信任成员的使用者介面。</FONT></P></A><A
style="LINE-HEIGHT: 25px" name=209002>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e70d7
size=5><B style="LINE-HEIGHT: 25px">Windows 2000的安全性工具<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>为了有效地编写具有安全性的软件,了解Windows
2000中如何管理安全性及熟悉一些有帮助的工具是必要的。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>首先,您要有Windows
2000系统的管理权限(或者,就网域系统而言是帐户操作者的权限)。如果必要的话,安装一个以您为管理者的Windows
2000系统。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>假如还没准备好的话,现在也应该对Microsoft Management
Console(MMC)较为熟悉了。这个应用程序会与系统一起安装,而且属于MMC.exe。MMC可让您执行管理的任务,从安装系统上的硬盘到监视事件日志,包括安全性管理皆是。实作MMC的每个函数如同被载入的嵌入式管理单元一般。有关使用MMC的更多细节,请参阅Windows
2000 Help中的「使用Microsoft Management Console」主题。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>本机使用者及MMC的群组嵌入式管理单元不但可让您建立使用者及群组,也可以增加成员到群组中。嵌入式管理单元还可以让您改变使用者的密码及规定一些适用于信任成员的原则。理想上,本书的范例应由管理群组成员的使用者执行(尽管您将发现建立权限较小的使用者及群组,才能使您感受到权限较小的方式更容易学习到东西)。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>群组原则嵌入式管理单元可让您调整委派给信任成员的权限。因为系统上有大量群组原则的功能,所以这个嵌入式管理单元比本机使用者及群组嵌入式管理单元更复杂。经由展开以下的路径可以直接到群组原则嵌入式管理单元的权限功能:本机电脑原则\电脑配置\Windows设定\安全性设定\本机原则\使用者权限委派。图9-1说明了应显示的画面。</FONT></P>
<CENTER style="LINE-HEIGHT: 25px">
<P><INPUT id=1 style="LINE-HEIGHT: 25px" type=image height=439
width=701 src="9.1 信任成员的管理.files/9-1.gif" border=0
onclick="imgclick"> </P></CENTER>
<CENTER style="LINE-HEIGHT: 25px">
<TABLE border=0>
<TBODY style="LINE-HEIGHT: 25px">
<TR>
<TD align=middle><FONT style="LINE-HEIGHT: 25px" face=arial
color=#000000 size=2><FONT style="LINE-HEIGHT: 25px"
face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 图9-1 </B></FONT>显示在群组原则嵌入式管理单元中的权限画面</FONT></TD></TR></TBODY></TABLE></CENTER>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>透过一个称为群组原则的逻辑层来了解Windows
2000中有关权限之MMC嵌入式管理单元介面是重要的。群组原则是个复杂的主题,可以独立写成好几章。这个委派权限的方法是从Windows
NT直接委派权限给信任成员的使用者管理员工具中分离出来的措施。透过呼叫系统函数,直接的权限操作仍旧是可能的;然而,Windows
2000提供的使用者介面只有用到群组原则。
使用MMC嵌入式管理单元,您可以体验委派使用者权限的过程。此外,委派使用者权限可能会被网域群组原则完全地覆盖。您可以使用直接管理权限的工具来处理这些潜在的问题。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>最后,在进入计划性管理信任成员的讨论之前,我应当提到在本章稍后所叙述的TrusteeMan范例应用程序,该范例程序能被用来建立及删除使用者和群组帐户,并委派权限给信任成员帐户的工具。尽管这个范例是个教学用的工具,但它也对Windows
2000所包含的MMC嵌入式管理单元提供一个简单的选择。</FONT></P></A><A
style="LINE-HEIGHT: 25px" name=209003>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e70d7
size=5><B style="LINE-HEIGHT: 25px">管理信任成员帐户<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>在典型的企业环境里,系统管理者或帐户操作者可以在系统上建立使用者及群组帐户。在这种环境下执行的服务器软件可以和已启用的安全性感知以及使用者识别一起运作,不用直接建立或管理信任成员帐户。这个软件仅假定这些帐户已经由另一个实体建立,这样的话,许多的服务开发人员似乎都不必计划性地建立信任成员帐户。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>尽管这可能是真的,但是您会发现Windows
2000的安全性具有很大的弹性。您可以自行创造信任成员,不需与特定的使用者直接联系在一起,也不用总是被已登入系统的使用者使用。举例来说,Windows
2000可让您把使用者帐户的存取限定为与它的原始权限以及由软件决定的信任成员权限相结合,它是一种<FONT
style="LINE-HEIGHT: 25px" face=arial color=#3e80d7 size=2><B
style="LINE-HEIGHT: 25px"> 建立Restricted
Token </B></FONT>的技巧(Restricted
Token在第十一章有详细的讨论)。如此一来,您的软件就可以建立系统管理者无法(或要求)手动建立的帐户。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>此外,假如您正在编写可以直接支援建立帐户的服务器软件,例如Internet gaming群体(Internet
gaming community)或是前端(Front End)连线银行,您的服务必须能够计划性的建立及管理信任成员帐户。Windows
2000提供两组可让您如此做的函数:</FONT></P><FONT style="LINE-HEIGHT: 25px"
face=arial color=#000000 size=2>
<UL style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">Net API 「Net」函数可让您建立及管理任何Windows
2000系统上的使用者帐户,包括工作站以及服务器系统,不管系统是否为网域控制站。<BR
style="LINE-HEIGHT: 25px">
<LI style="LINE-HEIGHT: 25px">Active Directory Services
Interface(ADSI) ADSI是一组COM物件,可让您在Windows 2000上管理Active
Directory。Active Directory是Windows
2000网域上所有使用者及群组帐户(在许多其他的物件中)的容器,对Windows来说是个非常重要的附加部分。您的软件可以使用ADSI物件来建立、删除及管理网域控制站之Active
Directory上的使用者及群组物件。<BR style="LINE-HEIGHT: 25px">
</LI></UL></FONT>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>根据您的需求来决定使用哪一组APIs。Active
Directory是个企业管理工具,就其本身而言,假如您的软件正在企业环境中建立使用者帐户的话,应该使用Active
Directory的ADSI介面。然而,如果您的服务软件正在可能不是网域控制站的单一服务器中建立本机的信任成员帐户时,您会发现Net函数的使用变得更简单且更直接。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>ADSI物件可让您的软件管理非网域控制站系统上的使用者及群组,但是因为这种系统不会维护Active
Directory,所以ADSI物件可以只透过Net函数传递。同样地,假如Net函数被用来增加、移除或管理网域控制站上的信任成员,他们将会自动地使用ADSI物件去修改机器上的Active
Directory。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>由于Net函数最常被使用,因此这一章会集中于这个部分。然而,可被用来执行类似任务的ADSI元件也会以注释的方式列举出来,以便您可以在《Platform
SDK》文件中寻找特定的主题。</FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#3e72d7
size=4><B style="LINE-HEIGHT: 25px">认识Net函数<BR
style="LINE-HEIGHT: 25px"> </B></FONT></P>
<P><FONT style="LINE-HEIGHT: 25px" face=arial color=#000000
size=2>Net
API有很多的特色且包含许多使管理信任成员帐户更为容易的函数及结构。Net函数可让您管理使用者帐户、本机群组帐户(只与单一机器相关联)及存在于网域控制站和整个网域函数的网域或通用群组帐户。这些函数以一贯且符合逻辑的方式设计,我们可以经由对一些规则的了解而学习到很多。</FONT></P>
<HR style="LINE-HEIGHT: 25px">
<P><FONT style="LINE-HEIGHT: 25px" face=Arial color=#3e77d7 size=3
Black><B style="LINE-HEIGHT: 25px">说明</B></FONT> </P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -