Ubuntu 12.04 LTS も出たのでさくらVPSで色々とセットアップ中です。Unix のユーザ管理は、LDAPで行うようにし、かつLDIFを一から書くのは面倒なので LDAP Account Managerを使うようにしました。その時のメモです。
諸々のパッケージをインストール
1 | # apt-get install slapd |
LDAP サーバとLDAP Account Managerの再セットアップ時のコマンド
上記インストール時にも同様の設定入力はあります。
1 | # dpkg-reconfigure slapd |
LDAP Account Manager
設定で指定したマスターパスワードと標準のlamプロファイル(デフォルトパスワード:lam)の状態でセットアップされます。
Apache2を使うようにインストールしていれば、http://<ホスト>/lam/ でブラウザから操作できます。
右上の「LAM configuration」から「Edit server profiles」で「ldm」プロファイル設定に入ります。
[General settings]では「Security settings」のcn=Manager〜の部分をslapdのセットアップで指定した管理ユーザにします。
[Account types]では Samba は使わないのでこれを Remove します。
その他 dc も自分のドメインに合わせてそれぞれ設定します。
トップページから管理ユーザのパスワードでログインして、Unixで使うグループとユーザーをそれぞれ追加します。
※ユーザーのパスワードはセットしてからSaveしないと保存されないので注意。
さらにバインドユーザー proxyuserを、「Tree View」から「import」で下記のLDIFを使って作成します。
1 | dn: cn=proxyuser,dc=mydomain,dc=com |
※パスワードは、slappasswd コマンドで生成しておきます。
バインドユーザーの設定
/etc/ldap.conf の binddn と bindpw をそれぞれ先ほど作成したバインドユーザーのものにします。また pam_password を「exop」にします。
確認
/etc/nsswitch.conf の passwd, group, shadowが「compat ldap」か確認します。
1 | $ getent passwd <追加したユーザーのuid> |
で引けるかどうか確認。
1 | $ su <追加したユーザーのuid> |
追加したユーザのパスワードが使えるか確認。
自分でパスワード変更
ログインユーザーが自身のパスワードを変更できるか確認すると、
1 | $ passwd |
のようにエラーになってしまいました。
/etc/pam.d/common-password の use_authtok を消して slapd を再起動します。
1 | # here are the per-package modules (the "Primary" block) |
以上、メモ終わり。