もくじ

(2)ユーザー認証をサーバーに任せるよう設定する(2010/9/10)

概要

ユーザーの認証をldapサーバーで行い、クライアントコンピュータにユーザーを登録しなくても使用できるようにします。

このページは「Squeezeを40台にコピーするまでの手順(2010/9/10)」(2)の詳細です。

パッケージ

Debian では libnss-ldap をインストール指定すると libpam-ldap, nscd も自動でインストールされます。

libnss-ldap (264-2.2)
libpam-ldap (184-8.5)
nscd (2.11.2-2)

最終の設定値

synapticを使ってインストールしましたが、libnss-ldapとlibpam-ldapについては、インストール時に対話的に設定をするようになっています。これに修正を加えて最終的にできあがった設定を紹介します。

/etc/libnss-ldap.confの最終的な設定

host 10.5.5.1
base dc=st,dc=seiai,dc=ed,dc=jp
ldap_version 3
rootbinddn cn=admin,dc=st,dc=seiai,dc=ed,dc=jp

/etc/pam_ldap.confの最終的な設定

host 10.5.5.1
base dc=st,dc=seiai,dc=ed,dc=jp
ldap_version 3
rootbinddn cn=admin,dc=st,dc=seiai,dc=ed,dc=jp
pam_password crypt

ldapにアクセスするためのパスワードを保存するファイル

これも対話的な設定の過程で作成されます。平文で入っていますから、root以外に読み込み権限を与えません(デフォルトでそうなっています)。

$ ls -l /etc/*.secret
-rw------- 1 root root 9 2010-08-24 21:45 /etc/libnss-ldap.secret
-rw------- 1 root root 9 2010-08-24 21:45 /etc/pam_ldap.secret

/etc/nsswitch.confの設定値

この変更は自分でやらなければなりません。3箇所にldapと加えるだけです。

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

インストール時の設定の書き換え

synapticを使ってインストールしましたが、インストール時に対話的に設定をするようになっています。libnss-ldap で5項目、libpam-ldapで4項目に答えると上記の様に設定されます。

設定ファイルは /etc/libnss-ldap.conf と /etc/pam_ldap.conf で、両方共にたくさんの解説コメントに埋まっています。上記はコメント以外の行だけ書き出したものです。

ただし若干変更を必要とします。これは本校の古いldapサーバーに合わせる必要があるからと思っています。

写真による記録もあります。

LDAPサーバーのURL:の部分でサーバーのIPアドレスを入力するのですが、デフォルトとしてで表示されているのは 自分がLDAPサーバーであるときの指定です。

uri ldapi:///

今回はクライアントの設定なのでサーバーのアドレスを記入します。この場合ldapi:でなくldap:とします。

uri ldap://10.5.5.1/

この書き方は以前の host IPアドレス で書くやり方と同じです。

host 10.5.5.1

注 LDAPサーバーのURL:の部分で誤解がありましたので訂正しました。(2012-9-28)

rootでログインしたまま試す

よく言われることですが、認証システムに変更を加えるときはrootのログインを残したまま、他のコンソールからログインしてテストします。

設定に間違いがあるとログインできなくなり、設定の変更ができないということになる可能性があるからです。もちろんCD起動のOSで起動して設定を変更する手はあるのですが。


Linuxクライアント/サーバ運用
聖愛中学高等学校
安達 順一
http://www.seiai.ed.jp/
2010-05-02