- ldap(slapd)を停止する。
- slapd.conf等の必要編集を行う。slaptestも実施しておく
- ldapデータベースを物理的に削除する。
- ldap(slapd)を起動する。
- 初期情報を登録 ■基本データ(base.ldif)
- /etc/passwdのアカウントをLDAPへ登録する。
- /etc/groupのグループをLDAPへ登録する
[root@hoge ~]# service ldap stop
slapd を停止中: [ OK ]
[root@hoge ~]#
(レプリケーションの場合は、スレーブを先に停止させる。)
/var/lib/ldap フォルダの中の DB_CONFIG 以外を削除する。
※こちらの設定では、/var/lib/ldap にldapデータベースが登録される設定のため。
/etc/openldap/slapd.conf で指定
[root@hoge ldap]# ls -il 合計 1208 131133 -rw-r----- 1 root root 921 1月 24 08:14 DB_CONFIG 131116 -rw------- 1 ldap ldap 24576 3月 7 10:21 __db.001 131117 -rw------- 1 ldap ldap 278528 3月 7 10:21 __db.002 131118 -rw------- 1 ldap ldap 270336 3月 7 10:21 __db.003 131119 -rw------- 1 ldap ldap 98304 3月 7 10:21 __db.004 131120 -rw------- 1 ldap ldap 352256 3月 7 10:21 __db.005 131121 -rw------- 1 ldap ldap 24576 3月 7 10:21 __db.006 131082 -rw-r--r-- 1 ldap ldap 4096 3月 7 10:21 alock 131126 -rw------- 1 ldap ldap 8192 1月 28 20:48 cn.bdb 131124 -rw------- 1 ldap ldap 8192 1月 28 20:48 dn2id.bdb 131132 -rw------- 1 ldap ldap 8192 1月 28 20:48 gidNumber.bdb 131123 -rw------- 1 ldap ldap 32768 1月 31 20:54 id2entry.bdb 131122 -rw------- 1 ldap ldap 10485760 3月 7 10:21 log.0000000001 131130 -rw------- 1 ldap ldap 8192 1月 22 20:00 loginShell.bdb 131129 -rw------- 1 ldap ldap 8192 1月 28 20:48 memberUid.bdb 131125 -rw------- 1 ldap ldap 8192 1月 28 20:48 objectClass.bdb 131127 -rw------- 1 ldap ldap 8192 1月 24 21:44 ou.bdb 131128 -rw------- 1 ldap ldap 8192 1月 22 20:00 uid.bdb 131131 -rw------- 1 ldap ldap 8192 1月 22 20:00 uidNumber.bdb削除後の内容
[root@hoge ldap]# ls -il 合計 8 131133 -rw-r----- 1 root root 921 1月 24 08:14 DB_CONFIG [root@hoge ldap]#
[root@hoge ~]# service ldap start slapd の設定ファイルをチェック中: config file testing succeeded [ OK ] slapd を起動中: [ OK ] [root@hoge ~]#
dn: dc=example,dc=com objectClass: dcObject objectClass: organization dc: example o: example dn: ou=People,dc=example,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=example,dc=com objectClass: organizationalUnit ou: Group dn: ou=Hosts,dc=example,dc=com objectClass: organizationalUnit ou: Hosts
ldapaddコマンドでLDIFファイルの内容を登録します。
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=horisawa,dc=info"
adding new entry "cn=Manager,dc=horisawa,dc=info"
adding new entry "ou=People,dc=horisawa,dc=info"
adding new entry "ou=Group,dc=horisawa,dc=info"
adding new entry "ou=Hosts,dc=horisawa,dc=info"
■ユーザ/グループの登録(既存unixアカウントをそのまま移行する)
/etc/passwdから一般ユーザのみを抽出するようuidが500番台を抽出。
[root@hoge openldap]# grep :5[0-9][0-9] /etc/passwd > users-list.txt
/migrate_passwd.pl を利用してLDIFファイルを作成。
[root@hoge openldap]# /usr/share/openldap/migration/migrate_passwd.pl users-list.txt > users.ldif
ldapaddコマンドでLDIFファイルの内容を登録します。
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f user.ldif
Enter LDAP Password:
adding new entry "uid=hoge01,ou=People,dc=example,dc=com"
adding new entry "uid=hoge02,ou=People,dc=example,dc=com"
/etc/groupから一般グループのみを抽出するようgidが500番台を抽出。
[root@hoge openldap]# grep :5[0-9][0-9] /etc/group > groups-list.txt
/migrate_passwd.pl を利用してLDIFファイルを作成。
[root@hoge openldap]# /usr/share/openldap/migration/migrate_group.pl groups-list.txt > groups.ldif
ldapaddコマンドでLDIFファイルの内容を登録します。
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f user.ldif
Enter LDAP Password:
adding new entry "cn=hoge01,ou=Group,dc=example,dc=com"
adding new entry "cn=hoge02,ou=Group,dc=example,dc=com"
adding new entry "cn=hoge03,ou=Group,dc=example,dc=com"
adding new entry "cn=hoge04,ou=Group,dc=example,dc=com"
smbldap-toolsを利用して登録を行う。
基本データ(base.ldif)を登録した後に、smbldap-toolsを利用してユーザ・グループおよび管理者情報の登録を行う。
事前にsambaが正しく設定されているものとして下記にコマンドを実行する。
■基本データ(base.ldif)の登録 [root@hoge ldif]# ldapadd -x -D "cn=Manager,dc=horisawa,dc=info" -W -f base.ldif Enter LDAP Password: adding new entry "dc=horisawa,dc=info" adding new entry "cn=Manager,dc=example,dc=com" adding new entry "ou=Users,dc=example,dc=com" adding new entry "ou=Groups,dc=example,dc=com" adding new entry "ou=Computers,dc=example,dc=com" [root@hoge ldif]# ■グループ(groups.ldif)の登録 [root@hoge ldif]# ldapadd -x -D "cn=Manager,dc=horisawa,dc=info" -W -f groups.ldif ■ユーザー(users.ldif)の登録 [root@hoge ldif]# ldapadd -x -D "cn=Manager,dc=horisawa,dc=info" -W -f users.ldif
■smbldap-toolsでデータを登録する。
[root@hoge ~]# smbldap-populate -a Administrator -b Guest
Populating LDAP directory for domain EXAMPLE (S-1-5-21-2725434548-1602857623-2035637331)
(using builtin directory structure)
entry dc=example,dc=com already exist.
entry ou=Users,dc=example,dc=com already exist.
entry ou=Groups,dc=example,dc=com already exist.
entry ou=Computers,dc=example,dc=com already exist.
adding new entry: ou=Idmap,dc=example,dc=com
adding new entry: uid=Administrator,ou=Users,dc=example,dc=com
adding new entry: uid=Guest,ou=Users,dc=example,dc=com
adding new entry: cn=Domain Admins,ou=Groups,dc=example,dc=com
adding new entry: cn=Domain Users,ou=Groups,dc=example,dc=com
adding new entry: cn=Domain Guests,ou=Groups,dc=example,dc=com
adding new entry: cn=Domain Computers,ou=Groups,dc=example,dc=com
adding new entry: cn=Administrators,ou=Groups,dc=example,dc=com
adding new entry: cn=Account Operators,ou=Groups,dc=example,dc=com
adding new entry: cn=Print Operators,ou=Groups,dc=example,dc=com
adding new entry: cn=Backup Operators,ou=Groups,dc=example,dc=com
adding new entry: cn=Replicators,ou=Groups,dc=example,dc=com
adding new entry: sambaDomainName=example,dc=example,dc=com
Please provide a password for the domain Administrator:
Changing UNIX and samba passwords for Administrator
New password:
Retype new password:
[root@hoge ~]#
初期データ投入がうまくいったら、ドメイン管理者アカウント(Administrator)のパスワードを設定する。PDCマシン上でrootになり、以下を1度だけ実行すればよい。
[root@hoge ~]# smbldap-passwd Administrator Changing UNIX and samba passwords for Administrator New password: Retype new password: [root@hoge ~]#
一般ユーザーを追加する。
[root@hoge samba]# smbldap-passwd testuser Changing UNIX password for testuser New password: Retype new password: [root@hoge samba]#
SASL認証設定ファイル編集
smbldap-useraddで追加したユーザがSMTP-Authが行えるようにする
# vi /etc/sysconfig/saslauthd MECH=shadow ↓ MECH=pam
確認事項およびエラー等の注意事項
ログを確認したら下記のようにエラーが発生していた。(/var/log/samba/log.smbd)
[2012/04/26 18:41:59.611756, 2] lib/smbldap.c:1018(smbldap_open_connection) smbldap_open_connection: connection opened [2012/04/26 18:41:59.611978, 0] passdb/secrets.c:350(fetch_ldap_pw) fetch_ldap_pw: neither ldap secret retrieved! [2012/04/26 18:41:59.612175, 0] lib/smbldap.c:1180(smbldap_connect_system) ldap_connect_system: Failed to retrieve password from secrets.tdb [2012/04/26 18:41:59.612359, 1] lib/smbldap.c:1409(another_ldap_try) Connection to LDAP server failed for the 5 try! [root@ora02 samba]#
というエラーが出されていました.secrets.tdb はそれぞれのローカルマシンで作成されるもので,そこに,LDAP のパスワードを登録しないと LDAP サーバにて認証が通りません.そこで,secrets.tdb に LDAP の管理者パスワードを登録する必要があります.次のコマンドを実行します.
[root@hoge ~]# smbpasswd -W Setting stored password for "cn=Administrator,ou=Users,dc=example,dc=com" in secrets.tdb New SMB password: (LDAPの管理用パスワードを入力) Retype new SMB password: (LDAPの管理用パスワードをもう一度入力) [root@hoge ~]#
今回の設定で関連するファイルは下記の通りです。 ・/etc/openldap/slapd.conf (ldapの基本設定) ・/etc/openldap/ldif/base.ldif (作成した基本情報) ・/etc/samba/smb.conf (sambaの基本設定) ・/etc/smbldap-tools/smbldap.conf (変換を行うための基本情報が設定) ・/etc/smbldap-tools/smbldap_bind.conf (masterDNとmasterPwを設定)
0 件のコメント:
コメントを投稿