OpenLDAP は、OpenLDAPプロジェクトによって開発されたライトウェイトディレクトリアクセスプロトコルのオープンソース実装です。 LDAPは、電子メールやその他のプログラムがサーバーから連絡先情報を検索するために使用するインターネットプロトコルです。 OpenLDAPパブリックライセンスの下でリリースされています。すべての主要なLinuxディストリビューション、AIX、Android、HP-UX、OS X、Solaris、Windows、およびz/OSで使用できます。
特定の方法でリレーショナルデータベースとして機能し、あらゆる情報を保存するために使用できます。 LDAPは情報の保存に限定されていません。また、ユーザーの1つのパスワードが多くのサービス間で共有される「シングルサインオン」のバックエンドデータベースとしても使用されます。
このチュートリアルでは、ユーザーが単一のアカウントを使用して複数のサーバーにログインする集中ログイン用にOpenLDAPを構成します。
この投稿では、SSLを使用しないOpenLDAP構成のみを取り上げています。 SSLを使用してOpenLDAPを設定する場合は、この投稿を完了した後、以下のリンクをたどってください。
読む : CentOS 7 /RHEL7でSSLを使用してOpenLDAPを構成する方法
環境
ホスト名 | IPアドレス | OS | 目的 |
---|---|---|---|
server.itzgeek.local | 192.168.1.10 | CentOS 7 | LDAPサーバー |
client.itzgeek.local | 192.168.1.20 | CentOS 7 | LDAPクライアント |
前提条件
1.両方のLDAPサーバーが「server.itzgeek.local」(192.168.1.10)であることを確認します およびLDAPクライアント「client.itzgeek.local」(192.168.1.20) アクセス可能です。
2.各マシンの/etc/hosts
にホストエントリを作成します 名前解決のため。
192.168.1.10 server.itzgeek.local server 192.168.1.20 client.itzgeek.local client
または
IPアドレスの代わりにホスト名を使用する場合は、 CentOS 7 /RHEL7でDNSサーバーを構成する方法の記事を使用してDNSサーバーを構成してください。 。
ここでは、すべての構成にIPアドレスを使用します。
レプリケーションを使用してLDAPサーバーを構築することを計画している場合は、このチュートリアルをスキップして、LinuxでのOpenLDAPマルチマスターレプリケーションの構成にアクセスしてください。 。OpenLDAPパッケージをインストールする
次のLDAPRPMパッケージをLDAPサーバー( server.itzgeek.local )にインストールします 。
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
LDAPサービスを開始し、システム起動時にサービスを自動開始できるようにします。
systemctl start slapd systemctl enable slapd
LDAPを確認します。
netstat -antup | grep -i 389
出力:
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1520/slapd tcp6 0 0 :::389 :::* LISTEN 1520/slapd
読む :CentOS 7 / RHEL 7でnetstatコマンドが見つかりません–クイックフィックス
LDAP管理者パスワードの設定
以下のコマンドを実行して、LDAPルートパスワードを作成します。この記事では、このLDAP管理者(root)パスワードを使用します。
ldppasswordを自分のパスワードに置き換えます。
slappasswd -h {SSHA} -s ldppassword
上記のコマンドは、LDAP構成ファイルで使用する必要がある入力されたパスワードの暗号化されたハッシュを生成します。したがって、これをメモして脇に置いておきます。
出力:
{SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
OpenLDAPサーバーの構成
OpenLDAPサーバーの構成ファイルは、/etc/openldap/slapd.d/
にあります。 。 LDAPの構成を開始するには、変数「 olcSuffix」を更新する必要があります。 」および「olcRootDN 「。
olcSuffix –データベースサフィックス。LDAPサーバーが情報を提供するドメイン名です。簡単に言うと、ドメイン名に変更する必要があります。
名前
olcRootDN –ルートユーザーのように、LDAPですべての管理アクティビティを実行するための無制限のアクセス権を持つユーザーのルート識別名(DN)エントリ。
olcRootPW –上記のRootDNのLDAP管理者パスワード。
上記のエントリは、/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
で更新する必要があります。 ファイル。 LDAP構成を手動で編集することは、ldapmodifyコマンドを実行するたびに変更が失われるためお勧めしません。 .ldifを作成してください ファイル。
vi db.ldif
以下のエントリを追加します。
暗号化されたパスワードを置き換えます( {SSHA} d / thexcQUuSfe3rx3gRaEhHpNJ52N8D3 )前の手順で生成したパスワードを使用します。
dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=ldapadm,dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
ldifファイルの処理が完了したら、構成をLDAPサーバーに送信します。
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
/etc/openldap/slapd.d/cn=config/olcDatabase={1} monitor.ldifに変更を加えます(手動で編集しないでください) モニターアクセスをLDAPルート( ldapadm )のみに制限するファイル )他のユーザーではなくユーザー。
vi monitor.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=ldapadm,dc=itzgeek,dc=local" read by * none
ファイルを更新したら、構成をLDAPサーバーに送信します。
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
LDAPデータベースを設定する
サンプルデータベース構成ファイルを/var/lib/ldap
にコピーします ファイルのアクセス許可を更新します。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/*
コサインとニスを追加します LDAPスキーマ。
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
base.ldif
を生成します ドメインのファイル。
vi base.ldif
以下の情報を使用してください。要件に応じて変更できます。
dn: dc=itzgeek,dc=local dc: itzgeek objectClass: top objectClass: domain dn: cn=ldapadm ,dc=itzgeek,dc=local objectClass: organizationalRole cn: ldapadm description: LDAP Manager dn: ou=People,dc=itzgeek,dc=local objectClass: organizationalUnit ou: People dn: ou=Group,dc=itzgeek,dc=local objectClass: organizationalUnit ou: Group
ディレクトリ構造を構築します。
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f base.ldifldapaddコマンドは、ldapadm(LDAPルートユーザー)のパスワードの入力を求めます。
出力:
Enter LDAP Password: adding new entry "dc=itzgeek,dc=local" adding new entry "cn=ldapadm ,dc=itzgeek,dc=local" adding new entry "ou=People,dc=itzgeek,dc=local" adding new entry "ou=Group,dc=itzgeek,dc=local"ページ:1 2