この記事では、ローカルユーザーをLDAPアカウントに移行する方法について説明します。 CentOS 7 /RHEL7でのLDAPの構成も確認できます。
これは、他の種類のLinuxオペレーティングシステムでも機能するはずです。
LDAPドメインの詳細は次のとおりです。
ドメイン:itzgeek.local
管理者:ldapadm
OU:人、グループ
サーバー名:server.itzgeek.local
IPアドレス:192.168.12.15
ローカルユーザーを作成する:
移行をテストするには、マシンで利用可能ないくつかのローカルアカウントが必要になります。次のコマンドを使用してローカルユーザーを作成しましょう。
useradd ldpuser1 useradd ldpuser2 useradd ldpuser3
作成したユーザーのパスワードを設定します。
echo "pass" | passwd --stdin ldpuser1 echo "pass" | passwd --stdin ldpuser2 echo "pass" | passwd --stdin ldpuser3
パッケージ:
以下のパッケージをインストールして、ローカルユーザーのLDAPへの移行をサポートします。
yum -y install migrationtools
ユーザーのエクスポート:
作成したユーザーとグループをファイルにエクスポートします。
grep "ldpuser" /etc/passwd > /root/users grep "ldpuser" /etc/group > /root/groups
残りのユーザーについても同じ手順を繰り返してください。
MigrationToolsのセットアップ:
「/usr/share/migrationtools/migrate_common.ph」を編集します 」とドメインの詳細で更新します。
$DEFAULT_MAIL_DOMAIN = "itzgeek.local"; $DEFAULT_BASE = "dc=itzgeek,dc=local";
これを1に変更します personなどのより一般的なオブジェクトクラスをサポートするため。
$EXTENDED_SCHEMA = 1;
ユーザーとグループの変換:
次に、ユーザーとグループのファイルをLDAPデータ交換形式(LDIF)に変換します。
/usr/share/migrationtools/migrate_passwd.pl /root/users /root/users.ldif /usr/share/migrationtools/migrate_group.pl /root/groups /root/groups.ldif
ユーザーとグループをLDAPデータベースにインポートします:
次に、次のコマンドを使用してローカルユーザーをLDAPデータベースにインポートします。
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f /root/users.ldif次のコマンドは、LDAPルート( ldapadm )のパスワードを入力するように求めるプロンプトを表示します。 ) アカウント。
出力:
Enter LDAP Password: adding new entry "uid=ldpuser1,ou=People,dc=itzgeek,dc=local" adding new entry "uid=ldpuser2,ou=People,dc=itzgeek,dc=local" adding new entry "uid=ldpuser3,ou=People,dc=itzgeek,dc=local"
次に、次のコマンドを使用してローカルグループをLDAPデータベースにインポートします。
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f /root/groups.ldif次のコマンドは、LDAPルート( ldapadm )のパスワードを入力するように求めるプロンプトを表示します。 ) アカウント。
出力:
Enter LDAP Password: adding new entry "cn=ldpuser1,ou=Group,dc=itzgeek,dc=local" adding new entry "cn=ldpuser2,ou=Group,dc=itzgeek,dc=local" adding new entry "cn=ldpuser3,ou=Group,dc=itzgeek,dc=local"
LDAPサーバーのテスト:
次のコマンドを発行して、ユーザー「 ldpuser1」を検索します LDAPの」。
ldapsearch -x cn=ldpuser1 -b dc=itzgeek,dc=local
出力:
# extended LDIF # # LDAPv3 # base <dc=itzgeek,dc=local> with scope subtree # filter: cn=ldpuser1 # requesting: ALL # # ldpuser1, People, itzgeek.local dn: uid=ldpuser1,ou=People,dc=itzgeek,dc=local uid: ldpuser1 cn: ldpuser1 sn: ldpuser1 mail: [email protected] objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword:: e2NyeXB0fSQ2JEdXTDV6UnlqJFpzU1RiYzBjUTVsUjZmTS9TMVRZd2pNY2pTWUw vLmZVbnZKSUxhSWdEb2MxMkJYVTVVd0V2SWVKNXN4bHZlR0x3SGRidjc2cjh2SzZQOERmSmUzT08w shadowLastChange: 17114 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 1000 gidNumber: 1000 homeDirectory: /home/ldpuser1 # ldpuser1, Group, itzgeek.local dn: cn=ldpuser1,ou=Group,dc=itzgeek,dc=local objectClass: posixGroup objectClass: top cn: ldpuser1 userPassword:: e2NyeXB0fXg= gidNumber: 1000 # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2
すべてのユーザー情報を印刷します。
ldapsearch -x -b dc=itzgeek,dc=local '(objectclass=*)'
以上です。