201503271152[LDAP] 利用 migrationtools 來匯入 NIS 的使用者跟群組

NIS 的使用者資訊分別存在 /etc/passwd 帳號、/etc/shadow 密碼、/etc/group 群組,如果想改用 LDAP 就必須將所有使用者及群組匯入到 LDAP 裡,我們就使用「migrationtools」這個工具做整批匯入。

「migrationtools」是以 perl 或 Shell script 來批次轉檔成 ldif ,必須選擇對應的 script 來做轉檔的動作。

前置作業
將 /etc/passwd 、/etc/shadow 、/etc/group 複製到 LDAP 主機上,並排除系統內建的帳號跟群組,例如 bin, daemon, games....。
假設放在 /etc/tmp 目錄下

修改基本設定檔:/usr/share/migrationtools/migrate_common.ph 
sudo vi  /usr/share/migrationtools/migrate_common.ph
然後修改

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "nthu.edu.tw";
# Default base
$DEFAULT_BASE = "dc=ldap,dc=nthu,dc=edu,dc=tw";
# turn this on to support more general object clases
# such as person.
#$EXTENDED_SCHEMA = 0;
$EXTENDED_SCHEMA = 1;

 

使用 migrationtools 來進行轉檔
cd /etc/openldap/data
sudo su   #因為要直接存到系統資料夾,所以先轉換到 root 身份
/usr/share/migrationtools/migrate_base.pl   >   base.ldif
/usr/share/migrationtools/migrate_passwd.pl   /etc/tmp/passwd  > passwd.ldif
/usr/share/migrationtools/migrate_group.pl     /etc/tmp/group >  group.ldif

停止 slapd 服務
service slapd stop     #要停止 ldap 服務才能進行異動

匯入剛產生出來的 ldif 檔
slapadd -l /etc/openldap/data/base.ldif
slapadd -l /etc/openldap/data/passwd.ldif
slapadd -l /etc/openldap/data/group.ldif
因為剛剛是用 root 的身份去產出,所以 /var/lib/ldap 的新增檔案擁有者會是 root:root 要用 chown 做變更
chown -R ldap:ldap /var/lib/ldap

啟動 slapd 服務
service slapd start

查詢 ldap 觀察帳號、群組是否匯入
ldapsearch -x -b "dc=ldap,dc=nthu,dc=edu,dc=tw"
應該就可以看到剛剛匯入的資料了
# club, Group, ldap.nthu.edu.tw
dn: cn=club,ou=Group,dc=ldap,dc=nthu,dc=edu,dc=tw
objectClass: posixGroup
objectClass: top
cn: club
userPassword:: e2Nysashimeig=
gidNumber: 50600

~End

回應
關鍵字
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google