手当たり次第に書くんだ

CentOS8 LDAPサーバー構築(389DS)

概要

この投稿は古い情報です。最新は下記のリンクから移動して下さい。

LDAPサーバー構築 No.1 導入

389 Directory Serverを使用してLDAPサーバーを構築します。

目標

下記を実施し、動作確認でLDAPに登録されている情報(セットアップスクリプトで初期設定される情報)を参照できることを目標とします。

  • インストール
  • hosts設定
  • セットアップスクリプト
  • 起動設定
  • 動作確認

条件

項目 内容
対象OS CentOS8.2
対象ホスト 内部アクセスに限定したホスト
Firewalld 無効にした状態で確認
SELinux 有効にした状態で確認
その他前提条件 無し

設定手順

この記事は古い情報です。最新はこちらを参照ください。

インストール

モジュール有効化後にインストールする必要があります。389-ds-base-legacy-toolsは以降のsetup-ds.plを実行する際に必要です。

[root@centos ~]# dnf module list
[root@centos ~]# dnf module enable 389-ds
[root@centos ~]# dnf install 389-ds-base 389-ds-base-legacy-tools

hosts

389DSは、自身をFQDNで名前解決できる必要があり、名前解決にはhostsかDNSを使用します。hostsを使用する場合のポイントと設定例を下記に示します。

尚、DNSで名前解決できる環境であれば、hostsは不要だと思います。

  • 127.0.0.1、::1は使用できない
  • FQDNを先頭にする必要がある(389ds 389ds.test.comではない)
[root@centos ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.100 389ds.test.com 389ds

セットアップスクリプト

初期設定用のスクリプトを実行します。

[root@centos ~]# setup-ds.pl

==============================================================================
This program will set up the 389 Directory Server.

It is recommended that you have "root" privilege to set up the software.
Tips for using this  program:
  - Press "Enter" to choose the default and go to the next screen
  - Type "Control-B" or the word "back" then "Enter" to go back to the previous screen
  - Type "Control-C" to cancel the setup program

Would you like to continue with set up? [yes]:

==============================================================================
Choose a setup type:

   1. Express
       Allows you to quickly set up the servers using the most
       common options and pre-defined defaults. Useful for quick
       evaluation of the products.

   2. Typical
       Allows you to specify common defaults and options.

   3. Custom
       Allows you to specify more advanced options. This is
       recommended for experienced server administrators only.

To accept the default shown in brackets, press the Enter key.

Choose a setup type [2]:

==============================================================================
Enter the fully qualified domain name of the computer
on which you're setting up server software. Using the form
.
Example: eros.example.com.

To accept the default shown in brackets, press the Enter key.

Warning: This step may take a few minutes if your DNS servers
can not be reached or if DNS is not configured correctly.  If
you would rather not wait, hit Ctrl-C and run this program again
with the following command line option to specify the hostname:

    General.FullMachineName=your.hostname.domain.name

Computer name [389ds]: 389ds.test.com

==============================================================================
The server must run as a specific user in a specific group.
It is strongly recommended that this user should have no privileges
on the computer (i.e. a non-root user).  The setup procedure
will give this user/group some permissions in specific paths/files
to perform server-specific operations.

If you have not yet created a user and group for the server,
create this user and group using your native operating
system utilities.

System User [dirsrv]:
System Group [dirsrv]:

==============================================================================
The standard directory server network port number is 389.  However, if
you are not logged as the superuser, or port 389 is in use, the
default value will be a random unused port number greater than 1024.
If you want to use port 389, make sure that you are logged in as the
superuser, that port 389 is not in use.

Directory server network port [389]:

==============================================================================
Each instance of a directory server requires a unique identifier.
This identifier is used to name the various
instance specific files and directories in the file system,
as well as for other uses as a server instance identifier.

Directory server identifier [389ds]:

==============================================================================
The suffix is the root of your directory tree.  The suffix must be a valid DN.
It is recommended that you use the dc=domaincomponent suffix convention.
For example, if your domain is example.com,
you should use dc=example,dc=com for your suffix.
Setup will create this initial suffix for you,
but you may have more than one suffix.
Use the directory server utilities to create additional suffixes.

Suffix [dc=test, dc=com]:

==============================================================================
Certain directory server operations require an administrative user.
This user is referred to as the Directory Manager and typically has a
bind Distinguished Name (DN) of cn=Directory Manager.
You will also be prompted for the password for this user.  The password must
be at least 8 characters long, and contain no spaces.
Press Control-B or type the word "back", then Enter to back up and start over.

Directory Manager DN [cn=Directory Manager]:
Password:
Password (confirm):
Your new DS instance '389ds' was successfully created.
Exiting . . .
Log file is '/tmp/setupxxxxxx.log'

サービス起動設定

この記事は古い情報です。最新はこちらを参照ください。

サービス名は、dirsrv.targetを指定します。389DSはポート番号を分けて複数のインスタンスを起動でき、dirsrv.targetを指定すると、有効な全てのインスタンスが起動します。

特定のインスタンスのみ起動したい場合は、dirsrv@389dsのように@の後ろにインスタンス名を指定します。

[root@centos ~]# systemctl enable --now dirsrv.target

動作確認

389DSは、cn=Directory Manager,dc=test,dc=comとすると認証できないため、cn=Directory Managerのみ指定します。OpenLDAPに慣れていると違和感しかなかったのですが、これで数日悩みました。-w passwordには、cn=Directory Managerのパスワードに置き換えます。

[root@centos ~]# ldapsearch -D "cn=Directory Manager" -w password -b dc=test,dc=com *

# extended LDIF
#
# LDAPv3
# base <dc=test,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: config schema slapd-389ds
#

# test.com
dn: dc=test,dc=com

# Directory Administrators, test.com
dn: cn=Directory Administrators,dc=test,dc=com

# Groups, test.com
dn: ou=Groups,dc=test,dc=com

# People, test.com
dn: ou=People,dc=test,dc=com

# Special Users, test.com
dn: ou=Special Users,dc=test,dc=com

# Accounting Managers, Groups, test.com
dn: cn=Accounting Managers,ou=Groups,dc=test,dc=com

# HR Managers, Groups, test.com
dn: cn=HR Managers,ou=Groups,dc=test,dc=com

# QA Managers, Groups, test.com
dn: cn=QA Managers,ou=Groups,dc=test,dc=com

# PD Managers, Groups, test.com
dn: cn=PD Managers,ou=Groups,dc=test,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 10
# numEntries: 9
CentOS8 LDAPサーバー構築(389DS)

CentOS8 LDAPサーバー構築(389DS)」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

トップへ戻る