GNU/Linux >> Linux の 問題 >  >> Linux

389 Directory Server の構成 LDAP クライアントをインストールする方法

389 Directory Server は、超高速のオープン ソース エンタープライズ LDAP サーバーです。

このチュートリアルでは、389 ディレクトリ サーバーと通信する LDAP クライアントを Linux にインストールして構成する方法について説明します。

EPEL をインストール

EPEL から LDAP 関連のパッケージをダウンロードするため、クライアント マシンで EPEL リポジトリがセットアップされていることを確認してください。

最初に、fedora プロジェクトの Web サイトから最新の EPEL パッケージをダウンロードします:

# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

次に、EPEL rpm をクライアント マシンにインストールします。

# rpm -ivh epel-release-7-10.noarch.rpm

/etc/hosts を確認

hosts ファイルが正しく設定されていることを確認してください。

この例では、以下が現在の /etc/hosts ファイルのセットアップです。この例では、デプロイ時に 389 ディレクトリ サーバーがインストールされています

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.101.10  deploy.thegeekstuff.com deploy

389 ディレクトリ サーバーを初めて使用する場合は、Linux に LDAP 389 ディレクトリ サーバーをインストールする方法について詳しく説明した以前のチュートリアルを参照してください。

LDAP クライアント ライブラリをインストールする

LDAP クライアント ライブラリについては、次のパッケージをインストールする必要があります:

  • openldap – LDAP サポート ライブラリが含まれています
  • openldap-devel.x86_64 – LDAP 開発ライブラリとヘッダー ファイルが含まれています
  • nss-pam-ldapd – ディレクトリ サーバーを使用する nsswitch モジュールです

以下に示すように、yum を使用して上記のパッケージをインストールします。

# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64

上記の 3 つのパッケージのインストールとは別に、現在のシステム構成によっては、yum は次の依存パッケージもインストールする場合があります:

  • cyrus-sasl
  • cyrus-sasl-devel
  • nscd

LDAP クライアント認証リソースの構成

LDAP クライアント認証リソースを構成するには、次のいずれかのツールを使用できます:

  • authconfig – 認証リソースを構成するためのコマンドライン ツール
  • authconfig-tui – 認証リソースを構成するための GUI ベースのツール

GUI バージョンを起動するには、次のコマンドを実行します:

# authconfig-tui

これにより、次のユーザー インターフェイスが表示されます:

以下に示すように、矢印キーを使用して [Use LDAP Authentication] チェックボックスを選択します。チェックボックスを選択するには、スペースバーを押してください。

次の画面で、それに応じて LDAP サーバーとベース DN を設定します。これらの値は、389 ディレクトリ サーバーのインストールに対応している必要があります。詳細については、389 ディレクトリ サーバーのインストール チュートリアルを参照してください。

LDAP クライアントのネーム サービス関連サービスを開始

最初に、nslcd Naming Services LDAP クライアント デーモンが稼働中であることを確認します。これが起動していない場合は、それに応じて起動してください。

# systemctl start nslcd

# systemctl status nslcd
? nslcd.service - Naming services LDAP client daemon.
   Loaded: loaded (/usr/lib/systemd/system/nslcd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2017-10-08 15:15:58 UTC; 7min ago
  Process: 2624 ExecStart=/usr/sbin/nslcd (code=exited, status=0/SUCCESS)
 Main PID: 2625 (nslcd)
   CGroup: /system.slice/nslcd.service
           +-2625 /usr/sbin/nslcd

Oct 08 15:15:58 192.168.101.10 systemd[1]: Starting Naming services LDAP client daemon....
Oct 08 15:15:58 192.168.101.10 systemd[1]: PID file /var/run/nslcd/nslcd.pid not readable (yet?) after start.
Oct 08 15:15:58 192.168.101.10 nslcd[2625]: version 0.8.13 starting
Oct 08 15:15:58 192.168.101.10 nslcd[2625]: accepting connections
Oct 08 15:15:58 192.168.101.10 systemd[1]: Started Naming services LDAP client daemon..
..
..

次に、systemctl コマンドを使用して、以下に示すように nscd ネーム サービス キャッシング デーモンを起動します。

# systemctl start nscd

# systemctl status nscd
? nscd.service - Name Service Cache Daemon
   Loaded: loaded (/usr/lib/systemd/system/nscd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2017-10-08 15:27:23 UTC; 3s ago
  Process: 2693 ExecStart=/usr/sbin/nscd $NSCD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2694 (nscd)
   CGroup: /system.slice/nscd.service
           +-2694 /usr/sbin/nscd

Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/hosts` (4)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/resolv.conf` (5)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/services` (6)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2)
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 stat failed for file `/etc/netgroup'; will try again later: No such file or directory
Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 Access Vector Cache (AVC) started
Oct 08 15:27:23 192.168.101.10 systemd[1]: Started Name Service Cache Daemon.
..
..

SSSD および PAM LDAP 構成のセットアップ

次の authconfig コマンドを実行して、以下に示すように SSSD 認証構成をセットアップします。これにより、LDAP クライアントに応じてユーザーのホーム ディレクトリを確実に取得できます。

# authconfig --enableldapauth --enablemkhomedir \
  --enablesysnetauth --enablelocauthorize \
  --ldapserver=ldap://deploy.thegeekstuff.com \
  --ldapbasedn="dc=thegeekstuff,dc=com" --update

次のうち 2 つが満たされると、authconfig によって SSSD サービスが有効になり、開始されることに注意してください。 br />SSSD 認証が有効になっています。これは、pam_sss.so モジュールが PAM 構成で参照されていることを意味します。
SSSD がユーザー ID に対して有効になっています。つまり、nsswitch.conf ファイルが sss を参照しています。

次の authconfig コマンドを実行して、以下に示すように PAM 構成をセットアップします。

# authconfig --enableldap --enableldapauth \
  --enablemkhomedir --enablesysnetauth \
  --enablelocauthorize \
  --ldapserver="deploy.thegeekstuff.com" \
  --ldapbasedn="dc=deploy,dc=thegeekstuff,dc=com" \
  --update

以下は、authconfig の変更中に影響を受けるファイルの一部です:

  • /etc/nscd.conf
  • /etc/nslcd.conf
  • /etc/openldap/ldap.conf
  • /etc/pam.d/system-auth
  • /etc/pam.d/password-auth-ac
  • /etc/nsswitch.conf

上記の authconfig コマンドでは、次のオプションが使用されます:

  • –enableldapauth は、/etc/pam.d/system-auth を介して認証機能を設定します
  • –enableldap オプションは、/etc/nsswitch.conf でユーザー情報サービスを構成します
  • –enablesysnetauth オプションは、uid が 500 未満のシステム アカウントの認証を許可します。
  • –enablelocauthorize オプションを使用すると、承認のためにネットワーク認証サービスのチェックをバイパスできます
  • –update オプションは、指定されたコマンド ライン オプションに基づいて、すべての構成ファイルが確実に変更されるようにします

Linux
  1. CentOSで時刻同期のためにNTPをインストールして設定する方法は?

  2. CentOS6VPSにLDAP389DirectoryServerをインストールする方法

  3. CentOS / RHEL :OpenSSH サーバーとクライアントをインストールして構成する方法

  1. サーバー用のSophosInterceptXAdvancedをインストールする方法

  2. Ubuntuサーバー18.04にFreeIPAクライアントをインストールする方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. Ubuntu 16.04 /Debian8でLDAPクライアントを構成する

  2. Ubuntu20.04でLDAPクライアントを構成する方法

  3. AlmaLinux8にOpenVPNサーバーをインストールする方法