要使 DHCP 客户机系统成为 NIS+ 客户机,该系统必须使用属于 NIS+ 域中其他 NIS+ 客户机系统的凭证。此过程仅为系统生成凭证,而这些凭证仅适用于登录到系统的超级用户。其他登录到 DHCP 客户机系统的用户必须在 NIS+ 服务器中具有自己专有的凭证。这些凭证根据《System Administration Guide: Naming and Directory Services (NIS+) 》中的过程进行创建。
通过在 NIS+ 服务器上键入以下命令来为客户机创建凭证:
# nisgrep nisplus-client-name cred.org_dir > /tmp/file |
此命令将 NIS+ 客户机的 cred.org_dir 表项写入临时文件中。
使用 cat 命令查看此临时文件的内容。
或者,使用文本编辑器。
复制要用于 DHCP 客户机的凭证。
您必须复制公钥和私钥,它们是包含以冒号分隔的数字和字母的长字符串。这些凭证将粘贴到下一步发出的命令中。
通过键入以下命令来为 DHCP 客户机添加凭证:
# nistbladm -a cname=" dhcp-client-name@nisplus-domain" auth_type=DES \ auth_name="unix.dhcp-client-name@nisplus-domain" \ public_data=copied-public-key \ private_data=copied-private-key |
对于 copied-public-key,请粘贴您从临时文件中复制的公钥信息。对于 copied-private-key,请粘贴您从临时文件中复制的私钥信息。
通过在 DHCP 客户机系统上键入以下命令来将文件从 NIS+ 客户机系统远程复制到 DHCP 客户机系统:
# rcp nisplus-client-name:/var/nis/NIS_COLD_START /var/nis # rcp nisplus-client-name:/etc/.rootkey /etc # rcp nisplus-client-name:/etc/defaultdomain /etc |
如果您收到“权限被拒绝”消息,则说明系统可能没有设置为允许远程复制。在这种情况下,您可以以一般用户的身份将文件复制到中间位置。然后,以超级用户的身份,将这些文件从中间位置复制到 DHCP 客户机系统上的适当位置。
通过在 DHCP 客户机系统上键入以下命令来为 NIS+ 复制正确的名称服务转换器文件:
# cp /etc/nsswitch.nisplus /etc/nsswitch.conf |
重新引导 DHCP 客户机系统。
现在 DHCP 客户机系统应该可以使用 NIS+ 服务。
以下示例假设您有一个系统 nisei,此系统是 NIS+ 域 dev.example.net 中的 NIS+ 客户机。您还有一个 DHCP 客户机系统 dhow,并且希望将 dhow 作为 NIS+ 客户机。
(First log in as superuser on the NIS+ server) # nisgrep nisei cred.org_dir > /tmp/nisei-cred # cat /tmp/nisei-cred nisei.dev.example.net.:DES:unix.nisei@dev.example.net:46199279911a84045b8e0 c76822179138173a20edbd8eab4:90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830 c05bc1c724b # nistbladm -a cname="dhow@dev.example.net." \ auth_type=DES auth_name="unix.dhow@dev.example.net" \ public_data=46199279911a84045b8e0c76822179138173a20edbd8eab4 \ private_data=90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830\ c05bc1c724b # rlogin dhow (Log in as superuser on dhow) # rcp nisei:/var/nis/NIS_COLD_START /var/nis # rcp nisei:/etc/.rootkey /etc # rcp nisei:/etc/defaultdomain /etc # cp /etc/nsswitch.nisplus /etc/nsswitch.conf # reboot |
现在 DHCP 客户机系统 dhow 应该可以使用 NIS+ 服务。
如果您要将大量的 DHCP 客户机系统都设置为 NIS+ 客户机,则可以编写脚本。脚本可以快速将项添加到 cred.org_dir NIS+ 表中。以下示例显示了一个脚本样例。
#! /usr/bin/ksh # # Copyright (c) by Sun Microsystems, Inc. All rights reserved. # # Sample script for cloning a credential. Hosts file is already populated # with entries of the form dhcp-[0-9][0-9][0-9]. The entry we're cloning # is dhcp-001. # # PUBLIC_DATA=6e72878d8dc095a8b5aea951733d6ea91b4ec59e136bd3b3 PRIVATE_DATA=3a86729b685e2b2320cd7e26d4f1519ee070a60620a93e48a8682c5031058df4 HOST="dhcp-" DOMAIN="mydomain.example.com" for i in 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 do print - ${HOST}${i} #nistbladm -r [cname="${HOST}${i}.${DOMAIN}."]cred.org_dir nistbladm -a cname="${HOST}${i}.${DOMAIN}." \ auth_type=DES auth_name="unix.${HOST}${i}@${DOMAIN}" \ public_data=${PUBLIC_DATA} private_data=${PRIVATE_DTA} cred.org_Dir done exit 0 |