117.5. NIS에서 IdM으로 넷그룹 항목 마이그레이션
NIS netgroup
맵에는 넷 그룹에 대한 정보가 포함되어 있습니다. 이 데이터를 사용하여 NIS 넷 그룹을 IdM(Identity Management)으로 마이그레이션합니다.
사전 요구 사항
- NIS 서버에 루트 액세스 권한이 있습니다.
- NIS가 IdM에서 활성화되어 있습니다.
- NIS 서버가 IdM에 등록되었습니다.
절차
yp-tools
패키지를 설치합니다.[root@nis-server ~]# yum install yp-tools -y
NIS 서버에서 다음 콘텐츠를 사용하여
/root/nis-netgroups.sh
스크립트를 만듭니다.#!/bin/sh # $1 is the NIS domain, $2 is the primary NIS server ypcat -k -d $1 -h $2 netgroup > /dev/shm/nis-map.netgroup 2>&1 IFS=$'\n' for line in $(cat /dev/shm/nis-map.netgroup); do IFS=' ' netgroupname=$(echo $line | awk '{print $1}') triples=$(echo $line | sed "s/^$netgroupname //") echo "ipa netgroup-add $netgroupname --desc=NIS_NG_$netgroupname" if [ $(echo $line | grep "(," | wc -l) -gt 0 ]; then echo "ipa netgroup-mod $netgroupname --hostcat=all" fi if [ $(echo $line | grep ",," | wc -l) -gt 0 ]; then echo "ipa netgroup-mod $netgroupname --usercat=all" fi for triple in $triples; do triple=$(echo $triple | sed -e 's/-//g' -e 's/(//' -e 's/)//') if [ $(echo $triple | grep ",.*," | wc -l) -gt 0 ]; then hostname=$(echo $triple | cut -f1 -d,) username=$(echo $triple | cut -f2 -d,) domain=$(echo $triple | cut -f3 -d,) hosts=""; users=""; doms=""; [ -n "$hostname" ] && hosts="--hosts=$hostname" [ -n "$username" ] && users="--users=$username" [ -n "$domain" ] && doms="--nisdomain=$domain" echo "ipa netgroup-add-member $netgroup $hosts $users $doms" else netgroup=$triple echo "ipa netgroup-add $netgroup --desc=<NIS_NG>_$netgroup" fi done done
IdM
관리자로
인증합니다.[root@nis-server ~]# kinit admin
스크립트를 실행합니다. 예를 들면 다음과 같습니다.
[root@nis-server ~]# sh /root/nis-netgroups.sh nisdomain nis-server.example.com