21.5. 从 NIS 迁移到 IdM
从现有 NIS 服务器迁移到身份管理(IdM)需要以下步骤:
21.5.1. 在 IdM 中准备 Netgroup 条目 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在迁移前,请确定在当前 NIS 服务器中管理哪些身份:
- 用户条目
- 确定哪些应用程序正在使用 NIS 提供的用户信息.虽然某些工具(如 sudo )需要 NIS 网络组,但有些实用程序可以使用常规 UNIX 组。迁移:
- 在 IdM 中创建对应的用户帐户。请参阅 第 21.5.3.1 节 “迁移用户条目”。
- 如果额外需要 netgroups:
- 添加 netgroups。请参阅 第 21.3.1 节 “添加 Netgroup”。
- 将用户添加到 netgroups。请参阅 第 21.5.3.4 节 “迁移 Netgroup Entries”。
- 主机条目
- 当您在 IdM 中创建主机组时,会自动创建对应的 shadow NIS 组。不要在这些影子 NIS 组中使用 ipa netgroup-* 命令。仅使用 ipa netgroup 047 命令管理通过 netgroup-add 命令创建 的原生 网络组。
- 对于直接转换
- 如果每个用户和主机条目都必须使用相同的名称,您可以在 IdM 中使用相同名称创建条目:
- 为 netgroup 中引用的每个用户创建一个条目。
- 为 netgroup 中引用的每一主机创建一个条目。
- 创建名称与原始 netgroup 的名称相同的 netgroup。
- 将用户和主机添加为 netgroup 的直接成员。如果用户和主机是组或主机组的成员,您也可以将这些组添加到 netgroup。
21.5.2. 在身份管理中启用 NIS Listener 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
21.5.3. 导出和导入现有 NIS 数据 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
NIS 服务器可以包含有关用户、组、主机、网络组和自动挂载映射的信息。您可以将这些条目类型迁移到 IdM。
在以下部分中,我们使用 ypcat 命令从当前 NIS 服务器导出数据,并使用输出来使用对应的 ipa114-add 命令将条目导入到 IdM。
- 确保安装
yp-tools
软件包,因为它提供了迁移脚本中使用的 ypcat 命令:yum install yp-tools -y
[root@nis-server ~]# yum install yp-tools -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.5.3.1. 迁移用户条目 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
NIS
passwd
映射包含有关用户的信息,如名称、UID、主组、GECOS、shell 和主目录。使用此数据将 NIS 用户帐户迁移到 IdM:
- 可选 :如果您需要弱密码支持,请参阅 第 21.5.4 节 “为 NIS 用户身份验证启用弱密码哈希”。
- 使用以下内容创建
/root/nis-users.sh
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 IdM
admin
用户身份进行身份验证:kinit admin
[root@nis-server ~]# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。例如:
sh /root/nis-users.sh nisdomain nis-master.example.com
[root@nis-server ~]# sh /root/nis-users.sh nisdomain nis-master.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此脚本将硬编码值用于名字、姓氏,并将密码设置为passw0rd1
。用户必须在下一次登录时更改临时密码。
21.5.3.2. 迁移组条目 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
NIS
组
映射包含有关组的信息,如组名称、GID 或组成员。使用此数据将 NIS 组迁移到 IdM:
- 使用以下内容创建
/root/nis-groups.sh
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 IdM
admin
用户身份进行身份验证:kinit admin
[root@nis-server ~]# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。例如:
sh /root/nis-groups.sh nisdomain nis-master.example.com
[root@nis-server ~]# sh /root/nis-groups.sh nisdomain nis-master.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.5.3.3. 迁移主机条目 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
NIS
主机
映射包含有关主机的信息,如主机名和 IP 地址。使用此数据将 NIS 主机条目迁移到 IdM:
- 使用以下内容创建
/root/nis-hosts.sh
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 IdM
admin
用户身份进行身份验证:kinit admin
[root@nis-server ~]# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。例如:
sh /root/nis-hosts.sh nisdomain nis-master.example.com
[root@nis-server ~]# sh /root/nis-hosts.sh nisdomain nis-master.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此脚本不会迁移特殊主机配置,如别名。
21.5.3.4. 迁移 Netgroup Entries 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
NIS
netgroup
映射包含有关网络组的信息。使用此数据将 NIS 网络组迁移到 IdM:
- 使用以下内容创建
/root/nis-netgroups.sh
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 IdM
admin
用户身份进行身份验证:kinit admin
[root@nis-server ~]# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。例如:
sh /root/nis-netgroups.sh nisdomain nis-master.example.com
[root@nis-server ~]# sh /root/nis-netgroups.sh nisdomain nis-master.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.5.3.5. 迁移自动挂载映射 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
自动挂载映射是一系列嵌套条目和宏条目,用于定义位置(父条目)、关联的键和映射。将 NIS 自动挂载映射迁移到 IdM:
- 使用以下内容创建
/root/nis-automounts.sh
脚本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 脚本导出 NIS 自动挂载信息,为自动挂载位置和相关映射生成 LDAP 数据交换格式(LDIF),并将 LDIF 文件导入到 IdM 目录服务器。详情请查看 第 21.4 节 “向 NIS 客户端公开自动挂载映射”。 - 以 IdM
admin
用户身份进行身份验证:kinit admin
[root@nis-server ~]# kinit admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行脚本。例如:
sh /root/nis-automounts.sh location nisdomain \ nis-master.example.com map_name
[root@nis-server ~]# sh /root/nis-automounts.sh location nisdomain \ nis-master.example.com map_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.5.4. 为 NIS 用户身份验证启用弱密码哈希 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 Directory Server 组件的默认设置,存储在
userPassword
属性中的密码将使用 salted 安全哈希算法(SSHA)进行哈希处理。如果您的 NIS 客户端需要弱的密码哈希算法,请更新密码存储方案设置。
启用弱密码散列方案只会影响存储在
userPassword
属性中的密码。请注意,Kerberos 不使用这个属性,因此 Kerberos 加密不受此设置的影响。
例如,启用
CRYPT
哈希密码:
ldapmodify -D "cn=Directory Manager" -W -p 389 -h ipaserver.example.com -x
[root@server ~]# ldapmodify -D "cn=Directory Manager" -W -p 389 -h ipaserver.example.com -x
dn: cn=config
changetype: modify
replace: passwordStorageScheme
passwordStorageScheme: crypt
注意
由于密码哈希无法解密,因此 Directory 服务器不会转换现有的密码哈希。服务器仅将新密码存储应用到更改存储方案后设置的密码。