向 /usr/lib/security/methods.cfg 文件中手动追加下列内容。
KRB5A:
program = /usr/lib/security/KRB5A
options = authonly
KRB5ALDAP:
options = db=LDAP,auth=KRB5A
|
或者,如果不需要 TGT 验证,可以按照如下所示设置复合加载模块。在这些情况下,您可以省略步骤 5 和 6,直接转到步骤 7。
KRB5A:
program = /usr/lib/security/KRB5A
options = tgt_verify=no
KRB5ALDAP:
options = db=LDAP,auth=KRB5A
|
- 在 Windows 服务器上创建一个用户帐户。使用 AIX 5L 主机名作为用户名,例如 aixhost。
- 通过在 Windows 服务器上运行
ktpass命令,将该帐户映射为 AIX 5L 主机主体,并将ktpass命令的 keytab 输出到一个文件。
ktpass – princ host/aixhost.ibmabc.com@ADDOMAIN.ABC.COM –mapuser aixhost –pass password –out aixhost.keytab |
# /usr/krb5/sbin/ktutil ktutil: rkt aixhost.keytab ktutil: wkt /etc/krb5/krb5.keytab ktutil: q |
要允许 Windows 用户使用 KRB5ALDAP 机制登录到 AIX 5L 操作系统,管理员需要在 AIX 5L 操作系统中运行下面的命令:
# chuser -R KRB5ALDAP SYSTEM=KRB5ALDAP registry=KRB5ALDAP foo |
其中,foo 是一个示例用户。
在进行了更改之后,Windows 用户可以使用他们的 Windows 密码登录到 AIX 5L 操作系统。不需要在 AIX 5L 操作系统中创建相应的用户。用户的标识信息来自于 Windows Active Directory。
如果要让所有的 Windows 用户都能够登录到 AIX 5L 操作系统,为每个用户进行上述的操作可能非常麻烦。在这些情况下,管理员可以手动编辑 /etc/security/user 文件,并将 default 节的 SYSTEM 和 registry 属性设置为 KRB5ALDAP。如果 default 节中不包含这些属性,那么需要添加它们。default 节应该与下面所示类似:
default: ... SYSTEM = KRB5ALDAP registry = KRB5ALDAP ... |
如果已将 default 节更改为 KRB5ALDAP,这些本地定义的用户可能无法登录到 AIX 5L 操作系统,除非将他们的 SYSTEM 设置为 compat,registry 设置为 files。管理员需要找出这些帐户,并为每个用户运行下面的命令以进行相应的更改。
# chuser SYSTEM=compat registry=files <local user> |
在对 KRB5ALDAP 机制进行配置之后,用户无法使用他们旧的 unix_auth 模式 LDAP 密码登录到 AIX 5L 操作系统。不过,如果用户使用了 ldap_auth 模式,则可以继续使用相同的密码登录到 AIX 5L 操作系统。这是因为 ldap_auth 使用了 Windows 本身的密码,而 unix_auth 模式则使用了不同的密码。
有关 Active Directory 的注意事项
本部分内容简要地介绍了您在为 AIX 5L 客户端使用 Microsoft Active Directory 作为 LDAP 服务器时可能碰到的一些问题。
在 Active Directory 中支持多个密码
可以看出,Active Directory 在其数据库中为用户提供了四种不同的密码属性:
- userPassword
- unixUserPassword
- msSFU30Password
- unicodePwd
因此,相对于 Active Directory,AIX 5L 操作系统上的密码管理可能是个问题。对于密码管理来说,客户应该使用哪个属性并不确定。AIX 5L LDAP 属性映射功能允许客户对这个方面进行研究,并根据他们的需求对密码管理进行自定义。
AIX 5L 操作系统支持两种身份验证机制:unix_auth 和 ldap_auth。下面是可以用于这些身份验证模式的密码管理策略:
- unix_auth 模式身份验证
- 使用 AIX 5L 身份验证的
unix_auth模式时,Active Directory 需要加密格式的密码。在进行身份验证时,从 Active Directory 中检索到加密的密码,并将其与用户输入的加密格式的密码进行比较。缺省情况下,在操作 Windows 2000 和 2003 时,AIX 5L 操作系统使用 Active Directory 中的msSFU30Password属性,而在操作 Windows 2003 R2 时,则使用userPassword属性。如果要使用不同的密码,那么管理员需要手动修改 /etc/security/ldap/sfu30user.map 文件(或 /etc/security/ldap/sfur2user.map,如果 Active Directory 运行于 Windows 2003 R2 上)。查找以单词
spassword开头的行,并将该行的第三个字段更改为所需的 Active Directory 密码属性名称。有关更详细的信息,请参阅 AIX 5L 安全指南中的“LDAP Attribute Mapping File Format”。在进行了更改之后,运行mksecldap命令以配置 AIX 5L LDAP 客户端。如果已经配置了 AIX 5L 客户端,可以运行restart-secldapclntd命令,重新启动secldapclntd守护进程以使该更改生效。在这种身份验证的模式中,AIX 5L 客户端不能使用
unicodePwd属性,因为它采用的是 unicode 格式,而不是unix_auth身份验证模式所需的加密格式。使用
unix_auth身份验证模式的缺点是,AIX 5L 和 Windows 系统的密码完全不同。如果用户从 AIX 5L 客户端更改密码,就会出现这种情况。尽管用户可以从 AIX 5L 客户端使用passwd命令将他们的密码设置为与 Windows 密码相同的密码,但是当用户在 AIX 5L 操作系统中更改他们的密码时,AIX 5L 客户端不支持自动更改其 Windows 密码。 - ldap_auth 身份验证模式
- 使用
ldap_auth模式时,AIX 5L 操作系统通过使用用户标识信息和所提供的密码对服务器执行 LDAP 绑定操作,以便对用户进行身份验证。要实现这种类型的基于 Active Directory 服务器的身份验证,必须将 AIX 5L 密码映射为 Active Directory 的unicodePwd属性。在将 AIX 5L LDAP 配置为使用ldap_auth模式时,mksecldap会将密码属性映射为 Active Directory 的unicodePwd属性。该特性需要 APAR IY91514,如果尚未安装,请参见 Microsoft Active Directory 以手动更改密码映射。当用户登录到 Windows 系统时,将使用
unicodePwd属性。通过将 AIX 5 L 密码映射为unicodePwd,Active Directory 中定义的用户可以使用相同的密码登录到 Windows 系统和 AIX 5L 系统。AIX 5L 操作系统仅支持在ldap_auth模式中使用unicodePwd。这样做还允许用户从 AIX 5L 系统更改密码,该更改将会在 AIX 5L 和 Windows 系统中生效。
![nixsky[www.nixsky.com]](/templets/images/toplogo.gif)

