OpenLDAPのCentOS 7での極速構築チュートリアル
5939 ワード
CentOS 7上でOpenLDAPを迅速に構築するための文書で、必要に応じてOpenLDAP環境を迅速に構築できる材料を残すことが主な目的です.何も言わないで、まず右上のコレクションを注文して、未来のあなたは今の自分に感謝するかもしれません.
本明細書に従って構成されると、読者は、ユーザーとユーザー・グループ構造、バックアップなし、証明書暗号化なしのOpenLDAPインスタンスを1台構築します.バックアップと証明書暗号化の内容は、他の記事に掲載されます.
1.サーバのFQDNを選択し、そのサーバのホスト名として構成する
ここではldapと名前を付けます.colinlee.FQDNをホスト名とともに/etc/hostsに設定します.FQDNを構成できない特別な理由がない限り、OpenLDAPにCA証明書を設定する際に非常に大きな役割を果たすFQDNを構成することを強くお勧めします.
/etc/hosts
2.OpenLDAPサービスをインストールし、データベースプロファイルを設定し、OpenLDAPサービスを起動する
3.OpenLDAPの管理者ユーザーrootのパスワードを設定する
まず,slappaswdコマンドを用いてOpenLDAPのスーパー管理者ユーザ(root)にパスワードを生成する.
生成したパスワードをOpenLDAPのldifファイルに追加します.LDIFはOpenLDAPの内容を変更する標準的なテキストフォーマットです.
chrootpw.ldif
次に、編集したchrootpwを実行する.ldifファイル.
4.基本的なSchemaをいくつか追加
ここに追加されたSchemaは、主にユーザ情報を記録するために使用されます.このOpenLDAPを構築する目的がユーザ認証である場合、一般的に以下のSchemaが導入される.OpenLDAPを使用して別の用途がある場合は、用途を確認してからどのSchemaを導入するかを検討してください.
5.LDAPデータベースでルートドメインとデータベーススーパー管理者を設定する
ここでの「ルートドメイン」は、このサーバFQDNのルートドメインとは異なり、ここではdc=colinlee、dc=fishに設定します.
データベース管理者と上記のOpenLDAPスーパー管理者は同じ管理者ではなく、ここで設定した管理者は現在作成されていません.ここでの設定には、slappaswdコマンドで生成されたパスワードも必要です.管理を容易にするために、生成したばかりのパスワードを使用して、再生成しません.
新しいldifファイルを作成し、上記の内容を設定します.
domain-dbadmin.ldif
その後ldifファイルを実行します.
6.ユーザー・ノード、グループ・ノード、およびデータベース・スーパー管理者の作成
同様に新しいldifファイルを作成し、ノード情報を入力します.
basedomain.ldif
このファイルを実行してコンテンツを有効にします.ここでの実行方法は、前回とは異なり、データベースのスーパー管理者として使用され、前に設定したパスワードを入力する必要があります.
7.ファイアウォールの構成
ファイアウォールが使用されている場合は、LDAPに対するポリシーをオンにする必要があります.
ファイアウォールを使用しない場合は、直接閉じてください.
参考資料:
https://www.server-world.info/en/note?os=CentOS_7&p=openldap http://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html
本明細書に従って構成されると、読者は、ユーザーとユーザー・グループ構造、バックアップなし、証明書暗号化なしのOpenLDAPインスタンスを1台構築します.バックアップと証明書暗号化の内容は、他の記事に掲載されます.
1.サーバのFQDNを選択し、そのサーバのホスト名として構成する
ここではldapと名前を付けます.colinlee.FQDNをホスト名とともに/etc/hostsに設定します.FQDNを構成できない特別な理由がない限り、OpenLDAPにCA証明書を設定する際に非常に大きな役割を果たすFQDNを構成することを強くお勧めします.
[root@ldap ~]# hostnamectl set-hostname ldap.colinlee.fish
/etc/hosts
127.0.1.1 ldap.colinlee.fish ldap
127.0.0.1 localhost
2.OpenLDAPサービスをインストールし、データベースプロファイルを設定し、OpenLDAPサービスを起動する
[root@ldap ~]# yum -y openldap-servers openldap-clients
[root@ldap ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@ldap ~]# chown ldap.ldap /var/lib/ldap/DB_CONFIG
[root@ldap ~]# systemctl start slapd
[root@ldap ~]# systemctl enable slapd
3.OpenLDAPの管理者ユーザーrootのパスワードを設定する
まず,slappaswdコマンドを用いてOpenLDAPのスーパー管理者ユーザ(root)にパスワードを生成する.
[root@ldap ~]# slappasswd
New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
生成したパスワードをOpenLDAPのldifファイルに追加します.LDIFはOpenLDAPの内容を変更する標準的なテキストフォーマットです.
chrootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
次に、編集したchrootpwを実行する.ldifファイル.
[root@ldap ~]# 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"
4.基本的なSchemaをいくつか追加
ここに追加されたSchemaは、主にユーザ情報を記録するために使用されます.このOpenLDAPを構築する目的がユーザ認証である場合、一般的に以下のSchemaが導入される.OpenLDAPを使用して別の用途がある場合は、用途を確認してからどのSchemaを導入するかを検討してください.
[root@ldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
[root@ldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=nis,cn=schema,cn=config"
[root@ldap ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
5.LDAPデータベースでルートドメインとデータベーススーパー管理者を設定する
ここでの「ルートドメイン」は、このサーバFQDNのルートドメインとは異なり、ここではdc=colinlee、dc=fishに設定します.
データベース管理者と上記のOpenLDAPスーパー管理者は同じ管理者ではなく、ここで設定した管理者は現在作成されていません.ここでの設定には、slappaswdコマンドで生成されたパスワードも必要です.管理を容易にするために、生成したばかりのパスワードを使用して、再生成しません.
新しいldifファイルを作成し、上記の内容を設定します.
domain-dbadmin.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=colinlee,dc=fish" read
by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=colinlee,dc=fish
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=colinlee,dc=fish
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=colinlee,dc=fish" write
by anonymous auth
by self write
by * none
olcAccess: {1}to dn.base=""
by * read
olcAccess: {2}to *
by dn="cn=admin,dc=colinlee,dc=fish" write
by * read
その後ldifファイルを実行します.
[root@ldap ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f domain-dbadmin.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"
6.ユーザー・ノード、グループ・ノード、およびデータベース・スーパー管理者の作成
同様に新しいldifファイルを作成し、ノード情報を入力します.
basedomain.ldif
dn: dc=colinlee,dc=fish
objectClass: top
objectClass: dcObject
objectclass: organization
o: Example Inc.
dc: colinlee
dn: ou=user,dc=colinlee,dc=fish
objectClass: organizationalUnit
ou: user
dn: ou=group,dc=colinlee,dc=fish
objectClass: organizationalUnit
ou: group
dn: cn=admin,dc=colinlee,dc=fish
objectClass: organizationalRole
cn: admin
description: Directory Administrator
このファイルを実行してコンテンツを有効にします.ここでの実行方法は、前回とは異なり、データベースのスーパー管理者として使用され、前に設定したパスワードを入力する必要があります.
[root@ldap ~]# ldapadd -x -D cn=admin,dc=colinlee,dc=fish -W -f basedomain.ldif
Enter LDAP Password:
adding new entry "dc=colinlee,dc=fish"
adding new entry "ou=user,dc=colinlee,dc=fish"
adding new entry "ou=group,dc=colinlee,dc=fish"
adding new entry "cn=admin,dc=colinlee,dc=fish"
7.ファイアウォールの構成
ファイアウォールが使用されている場合は、LDAPに対するポリシーをオンにする必要があります.
[root@ldap ~]# firewall-cmd --add-service=ldap --permanent
success
[root@ldap ~]# firewall-cmd --reload
success
ファイアウォールを使用しない場合は、直接閉じてください.
[root@ldap ~]# systemctl stop firewalld
[root@ldap ~]# systemctl disable firewalld
参考資料:
https://www.server-world.info/en/note?os=CentOS_7&p=openldap http://www.itzgeek.com/how-tos/linux/centos-how-tos/step-step-openldap-server-configuration-centos-7-rhel-7.html