'Memo/Linux/OpenLDAP/' には、下位層のページがありません。

OpenLDAP


パスワード生成アルゴリズム

ruby:


glue entry: syncreplで複製されないエントリを補完

OpenLDAP ソフトウェア 2.3 管理者ガイド: LDAP Sync 複製

syncrepl の設定では一般的な検索フィルタを指定するので、コンテキスト中のいくつかのエントリは同期内容から失われる可能性があります。そこで syncrepl エンジンは、複製対象の一部に穴がある場合に、グルー(glue)エントリを生成して穴を埋めます。グルーエントリは ManageDsaIT 制御が与えられていない場合には検索の結果に返りません。

記事:

例:

修復:


Monitoring: 監視

記事:


バイナリ値: base64

属性に "::" がついているとバイナリ値。base64でエンコードされている。

例:

# 通常の場合
sshPublicKey: ssh-rsa ...

# 末尾に"\r\n"が入っている場合
sshPublicKey:: c3NoLXJ...

パスワード変更時に「Must supply old password to be changed as well as new one」


index


loglevel


標準入力を使う


ACL(Access Control Lis) / アクセス制限


ブラウザから一般ユーザのパスワード/公開鍵変更

LDAPの一般ユーザが以下の事をブラウザから簡単に行いたい。


トラブル


local userでもLDAPに問い合わせてしまう


Can't contact LDAP server


/etc/pam.d/以下がsymlinkの場合にauthconfigを使うと壊れる場合がある


attribute 'c' not allowed

diff -uwr schema/inetorgperson.schema schema.2.4.40-12/inetorgperson.schema
--- schema/inetorgperson.schema 2012-11-30 22:38:35.000000000 +0900
+++ schema.2.4.40-12/inetorgperson.schema       2016-05-11 08:32:09.000000000 +0900
@@ -151,5 +151,5 @@
                labeledURI $ mail $ manager $ mobile $ o $ pager $
                photo $ roomNumber $ secretary $ uid $ userCertificate $
                x500uniqueIdentifier $ preferredLanguage $
-               userSMIMECertificate $ userPKCS12 $ c )
+               userSMIMECertificate $ userPKCS12 )
        )

LDAPスキーマの追加

slapadd等でLDAPスキーマが不足している場合は、「str2ad(sudoUser): attribute type undefined」の様なエラーが出る。


デバッグ


認証方式の変更


LDAPでssh認証する場合に、sudoできない時


LDAPでssh公開鍵認証を使う

現状2つ方法があるようだ。


sssdでLDAP認証


openssh-ldapでLDAP認証


ldapdelete:エントリの削除


バージョンアップ


password hash methodの変更

sudo vim /etc/openldap/slapd.conf
----
# database config より上に記述
password-hash {SHA}
----
sudo service slapd stop
sudo rm -rf /etc/openldap/slapd.d/{cn=config,cn=config.ldif}
sudo -u ldap slaptest -f  /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
sudo service slapd restart

slappasswd : パスワード生成

ハッシュ化パスワードを生成する。

# 入力待ち
slappasswd
New password: 
Re-enter new password: 
{SSHA}CfGz6P2+x1YoIAjBnIsezTJvROGXQFMw

# パスワード指定
slappasswd -s secret
{SSHA}H8R+xa45GRrDhntW8NzXO0pP5btUnAz3

# Hash methodの指定: {SHA}, {SSHA}, {MD5}, {SMD5}, {CRYPT}, {CLEARTEXT}
slappasswd -s secret -h {SHA}
{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=

ldappasswd : パスワード変更


objectClass: value #0 invalid per syntax


LDIFファイル

# 1つめのエントリ
dn: uid=user01,ou=People,dc=my-domain,dc=com
uid: user01
cn: Test User 01
objectClass: account
objectClass: posixAccount
objectClass: top
loginShell: /bin/bash
uidNumber: 5001
gidNumber: 3001
homeDirectory: /home/user01

# 2つめのエントリ
dn: uid=user02,ou=People,dc=my-domain,dc=com
uid: user02
cn: Test User 02
objectClass: account
objectClass: posixAccount
objectClass: top
loginShell: /bin/bash
uidNumber: 5002
gidNumber: 3002
homeDirectory: /home/user02

uidNumberの最大値を検索

ldapsearch -x -H 'ldap://localhost' -b 'dc=my-domain,dc=com' -D 'cn=Manager,dc=my-domain,dc=com' -w 'YOUR PASSWORD' '(objectClass=posixAccount)' -LLL | \
    grep uidNumber: | \
    cut -f 2 -d ' ' | \
    sort -nr        | \
    head -n 1

ldapsearch : 登録済みエントリーの検索


ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

ldaps://での通信時に発生。SSL自己証明書等を利用していると出る。
openldap-clientsのみの場合でも有効。


sshログインにldapを使う

  1. クライアント側
    # インストール
    yum install pam_ldap nscd nss-pam-ldapd
    
    # デフォルトでTLS認証が嫌な場合は以下をyesに変更
    vim /etc/sysconfig/authconfig
    ----
    FORCELEGACY=yes
    ----
    
    # 認証情報設定(/etc/nsswitch.conf, /etc/pam.d/system-auth-ac, /etc/openldap/ldap.conf が変更される)
    authconfig --enableldap --enableldapauth --ldapserver="ldap://[LDAP SERVER]/" --ldapbasedn="dc=my-domain,dc=com" --update
    authconfig --test | grep -i ldap
    chkconfig nslcd on
    
    # ホームディレクトリが無い場合は自動作成
    echo "session     optional      pam_mkhomedir.so skel=/etc/skel umask=022" >> /etc/pam.d/system-auth-ac
  2. sshログインできるかテスト

設定(cn=config) 監視(cn=monitor) データベースを有効にする

デフォルトでは以下のディレクトリはadminユーザでも見えない。


レプリケーション/冗長化


readonly replica


監視


監視


CN=Monitor - 管理ツール


Apache Directory Studio - 管理ツール


phpLDAPadmin - 管理ツール


バックアップ/リストア


インストール


CentOS 7/8

記事:


CentOS 6


添付ファイル: fileldap-backup.sh 2200件 [詳細] fileldap-status.sh 2144件 [詳細] fileldif-example.zip 2301件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-08 (水) 18:23:24