1 NT的域用户管理器介绍
NT的“域用户管理器”是用来管理域、成员服务器和工作站安全性的工具。使用“域用户管理器”可以:选定要管理的域或计算机; 创建和管理用户帐号; 创建和管理组;管理安全性规则。
多数情况下,首次启动“域用户管理器”时,将显示登录域。标题栏显示域名而“域用户管理器”主窗口显示两个列表。上端列表包括用户帐号,下端列表包括组帐号。可以选定一个或多个用户帐号或一个组帐号,并使用“用户”菜单上的命令管理它们。在使用域管理器的时候,需要进行安全性规则的限定,所谓安全性规则,包括帐号规则、用户权力规则、审核规则、委托关系。
帐号规则:帐号规则控制用户帐号使用密码密码的方式。通过帐号规则可以定义如最大密码密码期限、最小密码密码长度以及是否维护密码历史记录及在更改密码之前用户是否必须登录。帐号规则也决定帐号封锁。密码启用锁定时,如果在指定时间内,发生多次到某帐号的登录失败后,则不能登录到该用户帐号。试图使用错误的旧密码更改密码时也会出现锁定。在管理员解除锁定或经过指定时间之前,锁定帐号保持锁定。帐号规则也决定当用户登录时间过期时,是否强制远程用户与域断开连接。
用户权力规则:“用户权力”规则管理授予组和用户帐号的权力。权力授权用户可以在系统上执行某种操作。用户登录到授予适当权力的帐号则可以执行相应操作。当用户不具备相应的权力时,系统禁止执行这些操作。用户权力适用于整个系统,而权限适用于指定对象,两者是不相同的。授予组的权力实际上授予给该组成员。多数情况下,给用户提供权力的最简单方法是将该用户帐号添加到内置组中具有相应权力的某个组中,而无需通过管理“用户权力”规则实现。
审核规则:通过审核安全性事件并且在安全日志中保存数据,可以跟踪选定用户的活动。“审核”规则指定要记录的安全性事件类型。这些类型涉及从系统范围的事件(例如用户登录)到指定事件(例如某用户试图读取某个特定文件)。这些事件类型包括成功事件、不成功事件或兼而有之。管理域时,“审核”规则影响所有域控制器的安全日志。管理非域控制器计算机时,“审核”规则仅影响该台计算机(运行 Windows NT Workstation 或 Windows NT Server)的安全日志。可以使用“事件查看器”查看安全日志中的事件。
委托关系:委托关系是两个 Windows NT Server 域之间的链接。使用委托关系添加和删除委托域(资源域)及受托域(帐号域)委托关系允许用户使用单个用户帐号及单个密码访问整个网络上的资源。这就将域级的集中管理便利升为网络级了。
2 NT命令行使用程序的使用
Net Group和Net User 命令行实用程序是NT下的两个管理域用户的重要程序。它可以完成NT域用户管理器所能完成的所有功能,其区别仅在于不具备友好的界面。故可以考虑在扩展用户管理时加以调用。而Cacls命令行实用程序则用于对目录和文件实施系统安全性规则。
Net Group命令行实用程序用于在Windows NT Server 域中添加、显示或更改全局组。该命令仅在 Windows NT Server 域中可用。其基本使用格式如下:
net group [groupname [/comment:"text "]] [/domain]
net group groupname {/add [/comment:"text "] | /delete} [/domain]
net group groupname username [ ...] {/add | /delete} [/domain]
命令相关的参数如下:
groupname 要添加、扩展或删除的组。仅提供某个组名便可查看组中的用户列表。
/comment:"text " 为新建组或现有组添加注释。注释最多可以是 48 个字符。
/domain 在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作。该参数仅用于作为 Windows NT Server 域成员的 Windows NT Workstation 计算机。Windows NT Server 计算机默认为在主域控制器中操作。
username[ ...] 列表显示要添加到组或从组中删除的一个或多个用户。
/add 添加组或在组中添加用户名,须用该命令为添加到组中的用户建帐号。
/delete 删除组或从组中删除用户名。
注意:键入不带参数的 net group 可以显示服务器名称及服务器的组名称。
Net User命令行实用程序用于添加或更改用户帐号或显示用户帐号信息。其基本使用格式如下: net user [username [password | *] [options]] [/domain]
net user username {password | *} /add [options] [/domain]
net user username [/delete] [/domain]
主要命令相关的参数如下:
username 添加、删除、更改或查看用户帐号名。用户帐号名最多可以有 20 个字符。
Password 为用户帐号分配或更改密码。密码必须满足在 net accounts 命令 /minpwlen
选项中设置的最小参数。最多是 14 个字符。
* 提示输入密码。在密码提示行中键入密码时,将不显示该密码。
/add 将用户帐号添加到用户帐号数据库。
/delete 从用户帐号数据库中删除用户帐号。
/active:{no | yes} 启用或禁止用户帐号。
/expires:{date | never} 如果设置 date,将导致用户帐号过期,never 不对用户帐号设置时间限制。过期日期值可以是下列格式: mm/dd/yy、dd/mm/yy 或 mmm, dd, yy。
/fullname:"name" 指定用户全名而不是用户名。用引号将名字引住。
/homedir
ath 设置用户宿主目录的路径。该路径必须存在。
/homedirreq:{yes | no} 设置是否需要宿主目录。
/profilepath:[path] 设置用户登录配置文件的路径。该路径名指向注册表配置文件。
/scriptpath
ath 为用户登录脚本设置路径。
/times:{times | all} 指定允许用户使用计算机的时间。
注意:在运行 Windows NT Server 的计算机上键入 net user 命令时,主域控制器将自动更改用户帐号数据库并复制到备份域控制器中。此功能仅适用于 Windows NT Server 域。键入不带参数的 net user 将查看计算机上的用户帐号列表。
Cacls命令行实用程序用于显示或修改文件访问控制表(ACL),即对目录或文件的安全信息进行设置。其基本使用格式为:
cacls filename [/t] [/e] [/c] [/g user
erm] [/r user [...]] [/p user
erm [...]] [/d user [...]]
命令相关的参数如下:
filename 显示文件或指定文件的访问控制表 ACL 。
/t 在当前目录及所有子目录下改变指定文件的 ACL 。
/e 编辑 ACL,但不替换。
/c 继续更改 ACL,并忽略错误。
/g user
erm 将访问权授予指定用户。Perm 可以是:(r读取、c更改、f完全控制)
/r user 撤消指定用户的访问权。
/p user
erm 还原指定用户的访问权。Perm 可以是:(n无、r读取、c更改、f完全控制)
/d user 拒绝指定用户的访问。
注意:可以在一个命令中指定多个文件或用户。
3 建立用户组及组管理员并设置安全信息基本实现步骤
通常在建立用户组的时候,需要建立一个和组名相匹配的用户目录,并设置此目录的安全性使得该目录只能被管理员和该组成员访问。现在建立一个名为“实验组A”的用户组,并为该组设立一个管理员,可以执行下面的批命令:
Net Group 实验组A /Add /Comment:"建立用户组实验" //建立组
Net User Admin_LabA /Add /Comment:"实验组A管理员" //建立组管理员
Net Group 实验组A Admin_LabA /Add //将组管理员加入组
再为此组建立一个私有目录,执行下面的命令:
Md //ServerName/STUDENT/实验组A
Cacls //ServerName/STUDENT/实验组A /r everyone /e /t
Cacls //ServerName/STUDENT/实验组A /g 实验组A:r /e /t
Cacls //ServerName/STUDENT/实验组A /g Administrator:f /e /t
Cacls //ServerName/STUDENT/实验组A /g Admin_LabA:f /e /t
现在建立该组下的一般成员,运行下面的命令:
Net User User001 /Add /Comment:"实验组A一般用户"
Net Group 实验组A User001 /Add
为该用户建立自己的私有目录(此目录将只能由管理员、该组管理员和User001访问)
Md //ServerName/STUDENT/实验组A/User001
Cacls //ServerName/STUDENT/实验组A /r 实验组A:r /e /t
Cacls //ServerName/STUDENT/实验组A/User001 /g User001:f /e /t
以上是利用NT的Net Group和Net User命令行使用程序来扩展NT用户管理的基本原理和步骤。当然建立了新的用户和用户组之后意味着将来需要将它们删除,现在每个用户都有自己的私有目录,我们需要在删除用户和用户组之前就把它们对应的私有目录删除。如果只删除单个用户,可以执行下面的命令:
Deltree /Y //ServerName/STUDENT/实验组A/User001
Net User User001 /Delete
如果需要删除整个用户组及其用户(必须在建立用户的同时将用户名称写入该组的用户名集合文件,以便删除用户组时能够找到对应的用户),我们需要执行:
Deltree /Y //ServerName/STUDENT/实验组A
Net User User001 /Delete ...
... Net User Userxxx /Delete
Net Group 实验组A /Delete
4 小结
对于NT的域管理,不少系统管理人员感到在使用的时候非常不方便,决大多数的操作人员倾向于Netware4.x以上版本中的NDS。虽然微软公司正着力将NDS的优点带入NT的较高版本,至少目前,我们仍然没有一个很理想的管理工具。虽然NT提供了非常友好的界面来帮助操作人员实施用户管理,但其实际效果并不尽人意。在其基础上利用NT现有的实用程序进行少量的编程扩展其功能,不失为一种不错的解决方法。
在实际应用中,笔者采用Delphi作为开发平台设计了一个自己的用户管理窗口,不仅具有良好的交互性,又扩展了NT自身用户管理器的功能。作为一种利用系统基本功能扩充系统现有图形应用程序的功能的范例,这种思路是具有长远意义的。