CentOSの7は、一次同期LDAPビスで取り付けられました
タグ(スペースで区切っ):LDAP
インストール手順:
CN = configのバージョンからのファイルは、すべての構成データがslapd.dディレクトリのフォルダに保存されている起動OpenLDAP2.4.23もはやコンフィギュレーション・ファイルのslapd.confとして使用されていません
二つの構成がありますが、一つはslapd.confのレガシーファイルの設定を変更することである、そしてslaptest -f /etc/openldap/slapd.confの-F /etc/openldap/slapd.d/このように、データベースにインポート非常に面倒、推奨されません。
一つは、LDIFファイルを編集することであり、その後、サーバslapdプロセスを再起動する必要はありません動的にこのように構成されたデータベースにldapaddコマンドをインポートします。
本論文では、比較的小規模なオンラインドキュメントである第二のアプローチは、よくなり、私は半分を上演みなさ10日間を過ごし理解し、このレコードでは、私が必要としている人々にいくつかの助けを与えることを願っています
あなたが最初のメソッドを使用する必要がある場合は、システムcentos7 yumを一切slapd.conf.obsoleteファイルをインストールしていない、あなたは上centos6から[コピー]を選択することができ
、公式文書:https://www.openldap.org/doc/admin24/slapdconf2.html
インストール環境
centos 7.5
ldap主1服务器:VECS05855 10.111.30.24
ldap主2服务器:VECS05856 10.111.30.25
OpenLDAP2.4.44
root账号下执行所有命令
実装工程(二マシンが実行されます)
1、インストールLDAP
yum install -y openldap openldap-servers openldap-clients compat-openldap
備考(命令のみ、実行する必要はありません):
#可以通过rpm -ql <package name>,来查看每个安装包都有哪些文件
openldap: #OpenLDAP配置文件、库和文档
openldap-servers: #服务器进程及相关命令、迁移脚本和相关文件
openldap-clients: #客户端进程及相关命令,用来访问和修改 OpenLDAP 目录
compat-openldap: #与主从配置相关
インストールプロセスが自動的にLDAP LDAPユーザおよびグループを作成する(確認がインストールされています)
root@VECS05855:~# grep ldap /etc/passwd
ldap:x:55:55:OpenLDAP server:/var/lib/ldap:/sbin/nologin
root@VECS05855:~# grep ldap /etc/group
ldap:x:55:
root@VECS05855:~#
2.データベーステンプレートと変更権限をコピーします
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap. /var/lib/ldap/DB_CONFIG
図3は、LDAPを起動し、起動するように設定します。LDAPサーバーのプロセス名はslapdのです
systemctl enable slapd && systemctl start slapd && systemctl status slapd
検証が開始されました
root@VECS05855:~# netstat -tunlp |grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 19473/slapd
tcp6 0 0 :::389 :::* LISTEN 19473/slapd
4、はslappasswdを生成するために、passwordコマンドを使用して
このステップでは、平文のパスワード上の2台のマシンに注意を払って、管理者パスワード生成と同じであり、暗号テキストのパスワードは同じではありません。
root@VECS05855:~# slappasswd
New password:
Re-enter new password:
{SSHA}csl6iL5aVUWP1+UUnN/FhTkUKilET2+J
LDIF(LDAP固有のデータ交換形式の一種)ファイル、およびldapaddをコマンドによるLDAPインポート設定ファイルへの管理者パスワードの調製。
root@VECS05855:~# vim chrootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}csl6iL5aVUWP1+UUnN/FhTkUKilET2+J
インポート
root@VECS05855:~# ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"
図5に示すように、ベースへのデータ構造
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
図6に示すように、その管理ドメイン(例えばDC = hellobike、dc = comの、に)LDAPルートドメインの構成:
root@VECS05855:~# vim chdomain.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to *
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.base="cn=admin,dc=hellobike,dc=com" read
by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=hellobike,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=hellobike,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}csl6iL5aVUWP1+UUnN/FhTkUKilET2+J
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=hellobike,dc=com" write
by anonymous auth
by self write
by * none
olcAccess: {1}to dn.base=""
by * read
olcAccess: {2}to *
by dn="cn=admin,dc=hellobike,dc=com" write
by * read
インポート
root@VECS05855:~# ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}monitor,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
図7は、上記に基づいて、我々はhellobike会社のという組織を作成する必要があります
root@VECS05855:~# vim basedomain.ldif
dn: dc=hellobike,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: hellobike Company
dc: hellobike
dn: cn=admin,dc=hellobike,dc=com
objectClass: organizationalRole
cn: admin
dn: ou=People,dc=hellobike,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=hellobike,dc=com
objectClass: organizationalRole
cn: Group
インポート
[root@test1] ~$ ldapadd -x -D cn=admin,dc=hellobike,dc=com -W -f basedomain.ldif
Enter LDAP Password: #输入上面设置的管理员密码(明文)
adding new entry "dc=hellobike,dc=com"
adding new entry "cn=admin,dc=hellobike,dc=com"
adding new entry "ou=People,dc=hellobike,dc=com"
adding new entry "ou=Group,dc=hellobike,dc=com"
すべての上記の手順によって、我々は、LDAPディレクトリツリーの設定:参照DC = hellobike、dc = comのツリーのルートで、管理ドメインのcn =管理者、直流た下= hellobike、dc = comのをと2つの組織単位は=人、DC = hellobike、dc = comのとOU =グループ、DC = hellobike、dc = comのをOU。
第二に、デュアルマスターレプリケーション機能は、次の手順は、マスター1とマスター2上で実行されています
1. syncprovモジュールを有効にします
root@VECS05855:~# vim syncprov_mod.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
インポートファイルを実行します
root@VECS05855:~# ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
2、デュアルマスター同期有効OpenLDAPの
configrep.ldifファイルを作成します。
configrep.ldif
root@VECS05855:~# vim configrep.ldif
### Update Server ID with LDAP URL ###
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 ldap://VECS05855
olcServerID: 2 ldap://VECS05856
### Enable replication ###
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
### Adding details for replication ###
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl:
rid=001
provider=ldap://VECS05855
binddn="cn=admin,dc=hellobike,dc=com"
bindmethod=simple
credentials=Bi@#admin
searchbase="dc=hellobike,dc=com"
type=refreshAndPersist
retry="5 5 300 5"
timeout=1
olcSyncRepl:
rid=002
provider=ldap://VECS05856
binddn="cn=admin,dc=hellobike,dc=com"
bindmethod=simple
credentials=Bi@#admin
searchbase="dc=hellobike,dc=com"
type=refreshAndPersist
retry="5 5 300 5"
timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE
このファイルは、それぞれ、両方のサーバー上でldap_sync.ldifを実行することができます。
ldapmodify -Y EXTERNAL -H ldapi:/// -f configrep.ldif
これまでのところ、DC = hellobikeの内容、dc = comのは、両方のサーバーに同期されます。
参考:HTTPS://blog.csdn.net/fanren224/article/details/79707206
http://v.colinlee.fish/posts/openldap-speedy-tutorial-replication.html