域用户的登录过程和GC的关系
2010-02-01 14:28
344 查看
域用户登录过程和GC的关系
1. 模拟环境
根域为contoso.msft,dc为dc1.contoso.msft,dc2.contoso.msft同时也是GC,所处站点site 1;
子域为child.contoso.msft,dc为child-dc.child.contoso.msft,所处站点site 2不是GC;在域child.contoso.msft上有用户john用于验证本实验!
2. Gc存储着森林中所有域的域分区的所有对象的部分属性,同时还存储着林中所有通用组的成员列表,在域用户登录的过程中和查询过程中,GC发挥着重要的作用;或者可以说没有GC域用户在一般情况下就不能登录,这里为什么说是在一般情况下,因为有特例(后面再说)!
先说说域用户的登录过程和GC的关系:首先域用户要想登录成功,必须从所在域的dc那里成功构建“安全访问令牌”,没有这个安全访问令牌域用户是不能登录的;那么这个域用户所在域的dc是如何来为用户成功构建安全访问令牌呢?要成功构建安全访问令牌必须满足三个条件:
a. 从dc那里取得这个域用户的SID
b. 从DC那里取得这个域用户所具有的权限
c. 取得这个域用户的所属组:包括本地域组、全局组、通用组;本地域组和全局组可以向dc查询,但是通用组只有由DC向GC去查询,因为只有GC存储了通用组的成员列表;这里不管这个用户是否属于某个通用组,都要去查询GC来确定这个用户是否属于某个通用组。
综合以上三个因素,所以当GC不在线的情况下,即使当前域的dc是ok的,当前域的dns是ok的,同样用户不能登录域!
结合实例就是:当contoso.msft中的dc2.contoso.msft(同时也是GC)宕机的情况下,其子域中的用户john是不能登录其所在的域child.contoso.msft的,即使child-dc.child.comtoso.msft是正常的!
例外:
a 域管理员组的成员不受此限制
b 登陆过的客户端可以使用本机的缓存来登录
c 2003的域模式如果为默认的混合模式,在这种情况下通用组是不可用的,所以这个时
候是不用去查询GC来确定通用组的情况的!
3. 通用组成员缓存
那如何在GC不在线的情况下,也能让域用户顺利登录呢?
解决问题的方法就是使用通用组成员缓存(当然了,在每个站点都设置GC就不提了,这样做就要考虑硬件成本,毕竟GC会复制大量信息;单域的情况下除外,单域中建议所有的dc都提升为GC,这个时候是不会增加复制流量的);要想在GC不在线的情况下,域用户也能登录;那就必须使用缓存,使用客户机的缓存(前提是此用户必须在这个客户机上登录)或使用dc缓存(这样即使此用户没有在这台客户机上登录,也能登录;当然了要有缓存信息的话,必须要在域中的某个地方登录);这个缓存在dc上信息的可以在dc上看的到的。
4.验证
首先在child-dc.child.contoso.msft上新建一个用户john,然后在dc上看一下;这个用户的msds-cached-membership属性,是空的,是not set!这个属性就是缓存用户的通用组和全局组的信息的!
a. 首先来看一下,在哪里设置通用组成员缓存
b. 禁用dc2.contoso.msft的网卡(相当于GC不可用),在域child.contoso.msft内用用户john在xp客户端登录,这时会发现登录不了(即使这个时候dc和dns都是ok的)
c. 启用GC,用john在child-dc.child.contoso.msft上登录(没有多余的客户端了,前提
是修改默认域控制器策略允许john在本地登录),以让child-dc.child.contoso.msft从GC上缓存该用户的通用组和全局组的信息!
这个时候john用户在child-dc.child.contoso.msft上是可以登录的;注销;用administrator登录看看这个用户的缓存的信息:
d. 禁用GC,在xp客户端上用john登录!这个时候你会发现即使gc不在线,即使这
个用户以前没有在xp这台客户端上登录过(一点要在本域的其他地方登陆过),它照样能登录成功。
请各位高手指正!
谢谢!
1. 模拟环境
根域为contoso.msft,dc为dc1.contoso.msft,dc2.contoso.msft同时也是GC,所处站点site 1;
子域为child.contoso.msft,dc为child-dc.child.contoso.msft,所处站点site 2不是GC;在域child.contoso.msft上有用户john用于验证本实验!
2. Gc存储着森林中所有域的域分区的所有对象的部分属性,同时还存储着林中所有通用组的成员列表,在域用户登录的过程中和查询过程中,GC发挥着重要的作用;或者可以说没有GC域用户在一般情况下就不能登录,这里为什么说是在一般情况下,因为有特例(后面再说)!
先说说域用户的登录过程和GC的关系:首先域用户要想登录成功,必须从所在域的dc那里成功构建“安全访问令牌”,没有这个安全访问令牌域用户是不能登录的;那么这个域用户所在域的dc是如何来为用户成功构建安全访问令牌呢?要成功构建安全访问令牌必须满足三个条件:
a. 从dc那里取得这个域用户的SID
b. 从DC那里取得这个域用户所具有的权限
c. 取得这个域用户的所属组:包括本地域组、全局组、通用组;本地域组和全局组可以向dc查询,但是通用组只有由DC向GC去查询,因为只有GC存储了通用组的成员列表;这里不管这个用户是否属于某个通用组,都要去查询GC来确定这个用户是否属于某个通用组。
综合以上三个因素,所以当GC不在线的情况下,即使当前域的dc是ok的,当前域的dns是ok的,同样用户不能登录域!
结合实例就是:当contoso.msft中的dc2.contoso.msft(同时也是GC)宕机的情况下,其子域中的用户john是不能登录其所在的域child.contoso.msft的,即使child-dc.child.comtoso.msft是正常的!
例外:
a 域管理员组的成员不受此限制
b 登陆过的客户端可以使用本机的缓存来登录
c 2003的域模式如果为默认的混合模式,在这种情况下通用组是不可用的,所以这个时
候是不用去查询GC来确定通用组的情况的!
3. 通用组成员缓存
那如何在GC不在线的情况下,也能让域用户顺利登录呢?
解决问题的方法就是使用通用组成员缓存(当然了,在每个站点都设置GC就不提了,这样做就要考虑硬件成本,毕竟GC会复制大量信息;单域的情况下除外,单域中建议所有的dc都提升为GC,这个时候是不会增加复制流量的);要想在GC不在线的情况下,域用户也能登录;那就必须使用缓存,使用客户机的缓存(前提是此用户必须在这个客户机上登录)或使用dc缓存(这样即使此用户没有在这台客户机上登录,也能登录;当然了要有缓存信息的话,必须要在域中的某个地方登录);这个缓存在dc上信息的可以在dc上看的到的。
4.验证
首先在child-dc.child.contoso.msft上新建一个用户john,然后在dc上看一下;这个用户的msds-cached-membership属性,是空的,是not set!这个属性就是缓存用户的通用组和全局组的信息的!
a. 首先来看一下,在哪里设置通用组成员缓存
b. 禁用dc2.contoso.msft的网卡(相当于GC不可用),在域child.contoso.msft内用用户john在xp客户端登录,这时会发现登录不了(即使这个时候dc和dns都是ok的)
c. 启用GC,用john在child-dc.child.contoso.msft上登录(没有多余的客户端了,前提
是修改默认域控制器策略允许john在本地登录),以让child-dc.child.contoso.msft从GC上缓存该用户的通用组和全局组的信息!
这个时候john用户在child-dc.child.contoso.msft上是可以登录的;注销;用administrator登录看看这个用户的缓存的信息:
d. 禁用GC,在xp客户端上用john登录!这个时候你会发现即使gc不在线,即使这
个用户以前没有在xp这台客户端上登录过(一点要在本域的其他地方登陆过),它照样能登录成功。
请各位高手指正!
谢谢!
相关文章推荐
- 域用户登录过程和GC的关系
- 域用户的登录过程和GC的关系
- 域用户登录过程和GC的关系
- 微软资格认证:域用户的登录过程和GC的关系
- 域用户登录过程和GC的关系
- 域用户的登录过程和GC的关系
- 域用户的登录过程和GC的关系
- PHP SESSION Name 引用SESSION ID(SESSION NAME与SESSION ID的关系) Discuz! 用户(自动)登录原理
- SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, er
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- sqlserver 登录名与用户的关系
- sqlserver存储过程验证用户登录和账号是否停用或者被其他人登录中--写给新人
- bootchart 分析从内核启动后,到用户登录前的启动过程
- 某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。
- 域用户登录过程
- 关于本地缓存登陆 和 域用户将计算机加入域的问题及登录过程- -
- Servlet之用户登录过程实现
- MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系
- Oralce新建数据库、新建远程登录用户全过程
- Linux启动过程(从执行init到用户登录部分)