• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

openldap

date: 2021-12-18 excerpt: openldapの設定と使い方

tag: linuxopenldap


openldapの設定と使い方

概要

  • ldapと呼ばれる認証と関連するデータの管理
  • ldapとactive directoryの違いはactive directoryはldap等のプロトコルをサポートしたソフトウェア
  • microsoft outlookやthunderbirdなどでアドレス帳としても用いられる

インストール

debian, ubuntu

$ sudo apt install slapd ldap-utils

用語

LDIF形式

  • openldapがサポートするファイル形式
  • 設定のルートはcn=config
  • 直接編集するのは避けたほうが良い

LDIF形式凡例

dn: 識別名
属性名: 値
属性名: 値
...

LDIF形式具体例

dn: uid=user1,ou=People,dc=willeke,dc=com 
uid: user1 
cn: user1 
uidnumber: 199995 
gidnumber: 20 
gecos: Joe Smith [New York] 
homedirectory: /home/user1 
loginshell: /bin/csh 
objectclass: top 
objectclass: shadowAccount 
objectclass: account 
objectclass: posixAccount 
objectclass: nisKeyObject 
objectclass: inetOrgPerson

スキーマファイル

  • 概要
    • オブジェクオクラスや属性の定義を行うファイル
    • /etc/ldap/schema/にある
  • 主なファイル
    • core.schema
      • cnやouなどの基本的な情報
    • cosine.schema
      • X.500で定義された属性
    • inetorgperson.schema
      • intOrgPersonクラスを定義
      • cnとsnは必ず設定sルウ
    • nis.schema
      • network information service関連のオブジェクトクラス

サーバデーモン

  • slapd

設定

slapd-config

ディレクティブ

  • olcLogLevel: <Level>
    • syslogに出力するログレベル
  • olcIncluce: <filepath>
    • 外部設定ファイル
  • olcAttributeTypes
  • olcAttributeClasses: <object-class>
    • オブジェクトクラスを定義
  • olcBackend: <type>
    • typeは使用するバックエンド
    • bdb, config, ldap, ldif等がある

slapd.conf

  • directory <dir-path>
    • データベースファイルを格納するディレクトリ
  • database <type>
    • 使用するバックエンドデータベース
  • suffix <dn>
    • ディレクトリのトップとなるdnを指定
  • rootdn <dn>
    • データベース管理者のdn
  • rootpw <password>
    • データベース管理者のパスワード
  • index <attribute> <tyep>
  • pidfile <filename>
    • slapdのプロセスIDを格納するファイル
  • logfile <filename>
    • デバッグログの出力先
  • include <filename>
    • 読み込む設定ファイル
  • timelimit <seconds>
    • 検索応答に使う最大秒数

属性名

  • dn
    • 識別名
  • objectClass
    • オブジェクトクラス
  • c
    • 国名
  • cn
    • common name
  • dc
    • domain component
  • mail
    • mail address
  • o
    • organization
  • ou
    • organization unit
  • sn
    • SurName
  • telephoneNumber
    • 電話番語
  • uid
    • user name
  • uidNumber
    • user id number

各ツール

slaptest

概要

  • slapd.conf構文確認ツール

slapcat

概要

  • slapcat - SLAPD database to LDIF utility

ldapadd

概要

  • ユーザの追加

    引数

  • -h <hostname>
    • LDAPサーバを制定
  • -x
    • SASLを使用せず簡易設定を行う
  • -D cn=<user>,dc=<domain>,dc=<tdl>
    • 識別名を指定
  • -W
    • 対話式のパスワード
  • -w <password>
    • パスワードを指定
  • -f <filename.ldif>
    • LDIFファイルを指定
  • -c
    • エラー時も処理を継続(ファイルから設定する時)
  • -n <database-number>
    • slapf.confに書かれたデータベース番号
  • -d <debug-level>
    • デバッグレベル

具体例

$ sudo ldapadd -x -D cn=admin,dc=computingforgeeks,dc=com -W -f basedn.ldif

ldapmodify

概要

  • 変更ツール

ldapsearch

概要

  • LDAPに登録されている情報の確認

    引数

  • -h <hostname>
    • ホストを指定
  • -H <ldap://uri>
    • URIを指定
  • -b cn=<user>,dc=<domain>,dc=<tdl>
    • 識別名を指定
  • -L
    • LDIFv1で表示
  • -LL
    • コメント無しで表示
  • -LLL
    • コメント、LDAPのバージョン表記なし

slappasswd

概要

  • slappasswd - OpenLDAP password utility

    引数

  • -h <alorithm>
    • {SHA}や{MD5}
  • -s <password>
    • ハッシュを計算したいパスワード


linuxopenldap Share Tweet