変更要約: 初版(主題2.07・副主題2.07.1〜2.07.4に対応)
1.3LDAPクライアントの利用
LDAP ディレクトリサーバーをクライアントから操作する基本コマンドを学びます。エントリ追加の ldapadd、削除の ldapdelete、属性変更の ldapmodify、検索の ldapsearch、パスワード変更の ldappasswd の使い分けを押さえます。
社内の全ユーザー情報や組織情報を1か所に集約して検索・共有できるようにするのが LDAP(Lightweight Directory Access Protocol)ディレクトリです。202試験ではサーバー構築の前段として、クライアント側からディレクトリを操作する標準コマンド群が重要度2で問われます。用途がはっきり分かれた5つのコマンドの対応づけが核心です。
1.3.1エントリの追加・削除・変更
- ldapadd=LDIF 形式で記述した新規エントリをディレクトリに追加する(
ldapadd -x -D <bindDN> -W -f new.ldif)。 - ldapdelete=指定した DN(Distinguished Name)のエントリを削除する(
ldapdelete -x -D <bindDN> -W "<DN>")。 - ldapmodify=既存エントリの属性の追加・置換・削除を LDIF(
changetype: modifyを含む)で指示する。1コマンドで add/delete と同等の操作を LDIF 内の changetype で切り替えることもできる。
1.3.2検索とパスワード変更
- ldapsearch=検索フィルタ(例
(uid=alice))とベース DNを指定してディレクトリからエントリを検索する(ldapsearch -x -b "<baseDN>" "(uid=alice)")。読み取り専用の確認作業で最も頻用する。 - ldappasswd=ユーザーエントリのパスワード属性だけを専用に変更する(
ldappasswd -x -D <bindDN> -W -S "<userDN>")。ldapmodify で userPassword 属性を直接書き換えることも可能だが、ldappasswd はハッシュ化などを適切に扱う専用コマンドである点が実務上の利点。 - 多くのコマンドは
-x(簡易認証)・-D <bindDN>(バインド DN)・-W(パスワードをプロンプト入力)・-b <baseDN>(検索の基点)といった共通オプションを持つ。
「追加=ldapadd」「削除=ldapdelete」「属性変更=ldapmodify」「検索=ldapsearch」「パスワードだけ=ldappasswd」 という目的とコマンド名の一対一対応が最頻出です。「エントリ全体を新規作成」ならldapadd、「既存エントリの一部属性だけ書き換え」ならldapmodifyと、新規か既存かの区別にも注意します。
新入社員のディレクトリ登録から退職者の削除までの一連の流れで押さえましょう。まず人事システムから新入社員の情報を受け取ったら、氏名・メールアドレス・所属部署などを LDIF ファイルにまとめ、ldapadd でディレクトリに新規登録します。登録が正しく反映されたかは ldapsearch(例 ldapsearch -x -b "dc=example,dc=com" "(uid=suzuki)")で検索して目視確認するのが定番です。異動で部署(例:ou 属性)が変わったら、変更点だけを LDIF に changetype: modify として書いて ldapmodify を実行します。初期パスワードの発行や、ユーザー自身によるパスワード変更には ldappasswd を使い、userPassword 属性の書き換えを安全に行います(ldapmodify で直接 userPassword を書くことも技術的には可能ですが、パスワード専用の ldappasswd の方が実務では適切です)。退職者が出たら ldapdelete(対象の DN を指定)でエントリそのものを削除します。5つのコマンドはLDAP サーバーそのものの設定ではなく、あくまでクライアントとしてディレクトリの中身を操作するツールである点を忘れないでください。
| コマンド | 用途 | 対象 |
|---|---|---|
| ldapadd | 新規エントリの追加 | LDIF(新規) |
| ldapdelete | エントリの削除 | DN |
| ldapmodify | 既存エントリの属性変更 | LDIF(changetype: modify) |
| ldapsearch | エントリの検索 | 検索フィルタ+ベースDN |
| ldappasswd | パスワードの変更 | ユーザーDN |
ひっかけ: 「既存ユーザーの部署変更には ldapadd を使う」は誤りです。ldapadd は新規エントリの追加専用で、既存エントリの属性変更にはldapmodifyを使います。また「ldapsearch はディレクトリの内容を書き換えられる」も誤り=ldapsearch は検索専用(読み取り)で、書き換えは行いません。
1.3.3この節のまとめ
- 新規追加=ldapadd/削除=ldapdelete/属性変更=ldapmodify/検索=ldapsearch/パスワード=ldappasswd
- 入力は LDIF(add/modify)または DN(delete)/検索フィルタ+ベースDN(search)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. LDAP ディレクトリ上の既存ユーザーエントリについて、所属部署を表す属性だけを変更したい。使用するコマンドとして適切なのはどれ?
Q2. ディレクトリに `uid=suzuki` のエントリが正しく登録されているかを、ベース DN "dc=example,dc=com" から検索して確認したい。適切なコマンドはどれ?
Q3. 退職したユーザーの LDAP エントリを完全に削除したい。指定すべき情報と使用するコマンドの組み合わせとして正しいのはどれ?

