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>
- ハッシュを計算したいパスワード