windows交互式登陆

 NT和win2000针对域用户账号登陆的验证分别是通过NTLM和Kerberos协议,而对本地账号登陆的验证是MSV1_0协议,用户通过提供登陆信息(如用户名和密码),服务器将这些信息发送到服务器上的验证机构,验证机构通过比较储存在本地的数据库文件(SAM)来判断此用户的身份真实性,如果通过,就会向用户发送一个令牌,此访问令牌即token,又称为SID。在原来的NT模式下,由于域之间的信任关系是单向的,不可传递的,所以一个域用户要获得另一个域的资源访问权限,必须手工建立信任关系,授权该用户的访问权限。而在现在的win2000模式下,每个用户的token是SID+域ID,即GUID,在一个森林中是永远不变的,他是由每域的RID主机(相对关系主机)来分配的。SID在每个域中是独一无二的,但在其他域中也可能出现同样的SID,但是由于域ID的不同,所以二者的GUID就不可能相同。但这必须建立在Kerberos协议的基础上,kerberos提供了域之间可传递的,双向的信任关系,即A信任B,B信任A;A信任B,B信任C,A信任C。当然也可手工调整,一个用户仅仅具有一个token是不够的,token只能保证用户是否能在该域或本地计算机上的登陆权限,而用户是否能对资源的访问及系统权限是由ACL及ACE来控制的。ACL(Access control list)是每个文件及文件夹的用户组及用户访问控制列表,而ACE(Access control entry)是具体的访问类型(如read,write等等).
说了这么多,我再谈一谈针对win2000域环境下本地交互登陆的机制,众所周知,win2000对于用户登陆的验证采用的是kerberos协议,当一个本地用户登陆到域服务器,GINA(Graphical identification and authentication)图形标示符及身份验证Dll收到登陆请求,就会将其转发到LSA(本地权威机构),而在WIN2000下由于Kerberos是默认的验证机制,所以就请求kerberos来验证身份,而kerberos收到身份验证请求之后,便会出现错误信息,因为kerberos是用来验证域用户账号而非本地账号,此时LSA收到错误信息,会将其转发到GINA,GINA在将指定了MSV1_0协议的LSA来验证身份,如果通过则完成本地交互式登陆。
 
UNIX/LINUX环境中交互式shell和非交互式shell 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
 
WIN2003 SERVER 为什么不能交互式登陆?
 
第一种方法:
 
1、用 gpedit.msc打开组策略编辑器,计算机配置/windows设置/安全设置/本地策略/用户权限分配/允许在本地登录,看看有几个组。
 
2、在管理工具中/AD用户和计算机/创建用户,并右击属性/隶属于(标签),添加以上允许本地登录的组,其中一个即可。
 
第二种方法:
 
1、在管理工具中/AD用户和计算机/察看所创建的用户/右击属性/隶属于(标签),察看用户所属的组,可以添加
 
2、打开域控制器安全设置,计算机配置/windows设置/安全设置/本地策略/用户权限分配/允许在本地登录/==============添加所创建用户所在的组。

你可能感兴趣的:(森林,用户名,的,数据库文件,是)