私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほとんどのチュートリアルとは異なるかもしれませんが、私が書いたので、間違いなく動作します。ただし、アドバイスし忘れたファイルがいくつかある可能性があります。 基本設定# 1. yumソースの設定を完了する mkdir /root/back tar -Jcvf /root/back/yum.repos.d-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/yum.repos.d/ rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum,repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum メイクキャッシュ 1. 必要なソフトウェアをインストールする yum -y インストール vim bash-completion openldap-servers openldap-clients nss-pam-ldapd sssd OPENLdap サービスの部分構成# 初期化手順については詳しく説明しません。詳細については、「OPENLDAP サービスのインストールと事後管理」を参照してください。 1. まずデータベース サービスを停止します。 1. 次にファイルを編集します。 # 復元できない場合に備えて、まずファイルをバックアップします mkdir /root/back tar -Jcvf /root/back/slapd.config-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/openldap/slapd.d/ tar -Jcvf /root/back/slapd.data-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /var/lib/ldap/ # 次に設定ファイルを削除します rm -rf /etc/openldap/slapd.d/* rm -rf /var/lib/ldap/* # 設定ファイルを一時ディレクトリにコピーします mkdir /root/ldap cd /root/ldap 1. slapd の設定ファイルを作成します。ここでの設定ファイルは、/usr/share/openldap-servers/slapd.ldif から派生したものです。主な変更点は、baseDN (サフィックス)、OPENLDAPTLS、olcRootPW (パスワードは slappasswd によって生成されます。この記事のパスワードは 123456 です)、include です。 # ファイル: /root/ldap/slapd.ldif dn:cn=設定 オブジェクトクラス: olcGlobal cn: 設定 olcArgsファイル: /var/run/openldap/slapd.args olcPidファイル: /var/run/openldap/slapd.pid olcTLS証明書ファイル: /etc/openldap/certs/server.crt olcTLS証明書キーファイル: /etc/openldap/certs/server.key olcTLSCACertificateファイル: /etc/openldap/cacerts/cacert.pem dn: cn=スキーマ、cn=構成 オブジェクトクラス: olcSchemaConfig cn: スキーマ インクルード: ファイル:///etc/openldap/schema/core.ldif インクルード: ファイル:///etc/openldap/schema/cosine.ldif インクルード: ファイル:///etc/openldap/schema/nis.ldif インクルード: ファイル:///etc/openldap/schema/inetorgperson.ldif dn:olcDatabase=フロントエンド、cn=config オブジェクトクラス: olcDatabaseConfig オブジェクトクラス: olcFrontendConfig olcデータベース:フロントエンド dn: olcDatabase=config、cn=config オブジェクトクラス: olcDatabaseConfig olcデータベース:config olcアクセス: * dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" で管理 * なし dn:olcDatabase=モニター、cn=構成 オブジェクトクラス: olcDatabaseConfig olcデータベース: モニター olcアクセス: * dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" で読み取り dn.base="cn=Manager,dc=black,dc=com" による読み取り * なし dn:olcデータベース=hdb、cn=config オブジェクトクラス: olcDatabaseConfig オブジェクトクラス: olcHdbConfig olcデータベース: hdb olcサフィックス: dc=black、dc=com olcRootDN: cn=Manager、dc=black、dc=com olcルートパスワード: {SSHA}l1vBI/HOMKLEiQZgcm3Co+hFQI68rH1Q olcDbディレクトリ: /var/lib/ldap olcDbIndex: オブジェクトクラス eq,pres olcDbIndex: ou、cn、メール、姓、名 eq、pres、sub 1. OPENSSL 証明書を設定します。 openldap サーバーの暗号化トンネルに使用されます。 # まず、CA サービスの証明書ファイルを作成します cd /etc/pki/CA openssl genrsa -out プライベート/cakey.pem 2048 openssl req -new -x509 -key private/cakey.pem -out cacert.pem # 証明書作成プロセスはここでは省略します。 # ただし、サーバー証明書アプリケーションの先頭は証明書の先頭と同じである必要があることに注意してください。そうでない場合、CA は証明書を発行できません。 タッチインデックス.txt echo "01" > シリアル # 次に、サーバー証明書の発行を申請します cd /etc/openldap/certs/ openssl genrsa -out server.key 2048 openssl ca -in server.csr -out server.crt -days 365 # CA証明書を指定された場所にコピーします mkdir /etc/openldap/cacerts cp /etc/pki/CA/cacert.pem /etc/openldap/cacerts/ 1. 設定に基づいてサーバー設定ファイルを生成する slapadd -F "/etc/openldap/slapd.d/" -b "cn=config" -l slapd.ldif # ファイルの所有者はまだルートなので、openldapに戻す必要があることに注意してください。 chown -R ldap:ldap /etc/openldap/slapd.d/* # 次にサービスを起動します systemctl start slapd _#################### 100.00% 予想時間 経過なし 高速なし! DBを閉じています... 1. データベース dn を初期化します: dc=black,dc=com dc: 黒 オブジェクトクラス: トップ オブジェクトクラス: ドメイン dn:cn=マネージャー、dc=黒、dc=com オブジェクトクラス: 組織の役割 cn: マネージャー 説明: LDAP マネージャー dn:ou=人々、dc=黒人、dc=com ou: 人々 オブジェクトクラス: トップ オブジェクトクラス: 組織単位 オブジェクトクラス: ドメイン関連オブジェクト 関連ドメイン: black.com dn:ou=グループ、dc=黒、dc=com ou: グループ オブジェクトクラス: トップ オブジェクトクラス: 組織単位 オブジェクトクラス: ドメイン関連オブジェクト 関連ドメイン: black.com 1. データベースにインポートする ldapadd -x -D "cn=Manager,dc=black,dc=com" -w 123456 -f base.ldif # 基本情報をデータベースにインポートします。 新しいエントリ「dc=black,dc=com」を追加します 新しいエントリ「cn=root,dc=black,dc=com」を追加します 新しいエントリ「ou=People,dc=black,dc=com」を追加します 新しいエントリ「ou=Group,dc=black,dc=com」を追加します 1. 次に、Apache Directory Studio を使用して、サーバーが正常に構成されているかどうかを確認します。 まず、ファイアウォールをオンにします
1. 後でテストするためにここでユーザーをインポートしましょう Linux ユーザー認証設定# ここで設計したユーザー認証と解析は次のように行われます。 ネット上で他の人が書いていることと違う場合もありますので注意してください。 NSS サービス構成# nss が ldap を照会できるようにするには、まず nslcd というサービスを有効にする必要があります。以下は、このサービスの設定ファイルです。 # ファイル: /etc/nslcd.conf uid-nslcd gid ldap URI ldap://127.0.0.1/ ベース dc=black,dc=com binddn cn=マネージャ、dc=黒、dc=com バインドパスワード 123456 SSL番号 tls_cacertdir /etc/openldap/cacerts サービスを開始する chmod 600 /etc/nslcd.conf systemctl nslcd を起動します systemctl nslcd を有効にする nssを設定する # ファイル: /etc/nsswitch.conf passwd: files ldap # 主に、passwd、shadow、groupの3行の後にldapを続ける必要があります。 シャドウ: ファイル LDAP グループ: ファイル LDAP ホスト: ファイル dns myhostname ブートパラメータ: nisplus [NOTFOUND=return] ファイル イーサ: ファイル ネットマスク: ファイル ネットワーク: ファイル プロトコル: ファイル rpc: ファイル サービス: ファイル sss ネットグループ: nisplus sss 公開鍵: nisplus 自動マウント: ファイル nisplus sss エイリアス: ファイル nisplus 利用可能かどうかをテストします。 getent パスワード | grep 黒 black:x:1001:1001:black:/home/black:/bin/bash PAM サービス構成# pam モジュールは、SSSD 認証に合格した関連モジュールで構成されています。ここでは次の内容を引用できます。 /etc/pam.d/ をコピーします。 mv システム認証{,.bak} ln -s システム認証ac システム認証 PAMはサービスを再起動する必要がなく、直接使用できます。 sssd サービス構成# LDAP ユーザーのログインの場合、PAM 構成によってログインが SSSD に転送され、SSSD でユーザーが認証されます。以下は sssd.conf 構成ファイルです。 # ファイル: /etc/sssd/sssd.conf [ドメイン/black.com] autofs_provider = ldap # autofsのプロバイダーをldapに設定する id_provider = ldap # id のプロバイダーは ldap です auth_provider = ldap # auth認証プロバイダをldapに設定する chpass_provider = ldap # パスワード変更時に使用するアプリケーション cache_credentials = True # キャッシュを有効にする ldap_search_base = dc=black,dc=com # LDAP クエリのベース DN ldap_uri = ldap://127.0.0.1/ # ldap URL パス ldap_id_use_start_tls = True # ldap tls 暗号化を有効にします。 ldap_tls_reqcert = never # TLS 暗号化を強制しません (TLS 暗号化を強制するには、hard に設定できます。TLS を使用できない場合、サービスが失敗する可能性があります。ldap と sssd は同じマシン上にあるため、TLS 暗号化は必要ありません) ldap_tls_cacertdir = /etc/openldap/cacerts # ldap サービス tls 暗号化信頼証明書 (CA ルート証明書)。 [sssd] services = nss, pam, autofs # 提供されるサービス domains = black.com # 有効なドメインを設定する [nss] homedir_substring = /home [パム] [須藤] [オートFS] [ssh] [パック] [ifp] [秘密] [セッション記録] スタートアップ サービスを構成し、起動時に自動的に開始するように設定します。 chmod 600 /etc/sssd/sssd.conf # 権限設定に注意してください。そうしないと起動しません。 systemctl sssd を起動する systmctl sssd を有効にする テスト# ユーザー認証部分の準備ができたので、今すぐテストしてみましょう。 ここで、ユーザーがログインできることも確認できます。もう 1 つの欠陥はホーム ディレクトリが存在しないことですが、これは以下のスクリプトで解決できます。 スクリプト# ユーザーの追加を容易にするために、この LDAP ユーザー認証用のスクリプトを作成しました。ここで強調しておきたいのは、CentOS はユーザーを LDAP データベースに保存するための migrationtools ツールを提供していますが、すべてのローカル ユーザーを LDAP データベースに登録し、ローカル ユーザーを保持しないと、コンピューターを再起動できなくなるため、UID が 1000 未満のユーザーを LDAP サーバーに保存しないことをお勧めします。 注意: このスクリプトは上記の環境が構築された後にのみ使用できます。他の環境では未知の問題が発生する可能性があります。 とても使いやすいです 次に、追加したユーザーがログインできるかどうかをテストします。 要約する 上記は、LDAP ユーザー認証を使用するように Linux を構成するための編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。 以下もご興味があるかもしれません:
|
<<: Vue.set() と this.$set() の使い方と違い
>>: MySQL における in と exists の使い方と違いの紹介
Linux システムで iso ファイルをインストールするにはどうすればいいですか?インストール手順...
1. インデックス不足または無効なインデックスによるクエリの遅延数千万件のデータを含むテーブルで、イ...
1. コンポーネントをインストールする yum install epel-rpm-macros.no...
共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...
サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...
第1章: keepalivedの紹介VRRP プロトコルの目的は、静的ルーティングの単一点障害問題を...
どの for ループまたは反復子がニーズに適しているかを知ることで、アプリケーションのパフォーマンス...
目次序文Denoとは何ですか? Node.jsとの比較建築ESモジュール依存関係の管理TypeScr...
type="radio" や type="checkbox"...
この記事では、IDEA が MySQL データベースに接続できない問題に対する 6 つの解決策を主に...
SSDストレージを有効にしたMySQLインスタンスの詳細な説明特に OS と MySQL が同じディ...
この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...
<abbr>タグと<acronym>タグは、Web ページに表示される略語と...
目次1. インラインスタイル2. インポート方法を使用する3.cssモジュールのエクスポート4. ス...
目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...