ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/Linuxログイン認証 :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/Linuxログイン認証

ページ内コンテンツ
  • LDAPデータベースのアカウントで認証をする
  • 準備
  • 設定
    • /etc/ldap.conf
    • nsswitch.conf
    • PAM
      • 便利な追加設定

LDAPデータベースのアカウントで認証をする anchor.png[1]

LDAPのデータベースに、先ほどLinuxアカウントのデータをインポートしてやりました。こいつを用いてLinuxで認証を行います。 以下の設定を、全てのLinuxクライアントで実行しておくと、全マシンのユーザアカウント管理が一括でできるようになりますね。 また、passwdコマンドで、LDAPのパスワード(userPasswd)が変更されるようになります。

Page Top

準備 anchor.png[2]

以下のパッケージをインストールしてやります。

# emerge pam_ldap nss_ldap
Page Top

設定 anchor.png[3]

Page Top

/etc/ldap.conf anchor.png[4]

/etc/openldap配下にも同じ名称のものがありますが、/etc配下のは、nss_ldap用の設定ファイルです。つまり、Linuxの認証基盤がLDAPサーバを参照する際の設定です。誤解なきように~…

host  foo.example.com
uri   ldap://foo.example.com
base  dc=example,dc=com

ldap_version 3
ssl start_tls

binddn cn=syncuser,dc=example,dc=com
bindpw secret

scope sub
bind_policy soft

pam_password exop

pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute memberUid
pam_check_host_attr yes

nss_base_passwd ou=People,dc=example,dc=com
nss_base_shadow ou=People,dc=example,dc=com
nss_base_group  ou=Group,dc=example,dc=com

ファイル内にコメントがありますので、大体はわかると思いますが~、この程度を設定しておけばOK。ssl start_tlsを指定すると、暗号化してトランスポートレイヤが作成されます。uriにldaps://指定してもOK。

Page Top

nsswitch.conf anchor.png[5]

認証用に使用する場合は、以下の部分を変更するだけで十分。

passwd:    files ldap
shadow:    files ldap
group:     files ldap

passwdファイル、shadowファイル、groupファイルは、/etcにあるそれぞれのファイルを参照後、見つからない場合はldapを見に行く、という設定。nsswitch.conf見ると、他のファイルの設定もいっぱいあります。これらのファイルが、それぞれ参照設定が可能ってことね。hostsとかnetworkとかも、LDAPにいれておけば参照可能になったりします。う~ん、あまりメリットないけど…hostsぐらいですかねぇ?いれておくとメリットあるのって。 で、うまくLDAPから引けているかどうかを以下のコマンドで確認してみてください。

# getent passwd
# getent shadow
# getent group

これで、LDAPに登録されているユーザやグループが表示されればOK。また、passwdファイルにもLDAPにも同じユーザが登録されている場合は、2つエントリが表示されるとOKになります(passwdファイルのエントリと、LDAP側のエントリの2個)

Page Top

PAM anchor.png[6]

この設定によって、本格的にLinuxの認証基盤がLDAPを参照しに行きます。ログインできなくなったりするので、rootアカウントのコンソールを一つ残しておいて、うまくユーザ認証が通るようになるまで残しておくのが吉。

さて、/etc/pam.d/system-authを以下の用に変更します。もしも駄目だった時用に、元々のsystem-authファイルはバックアップしておいたほうが吉です。

auth            required        pam_env.so
auth            sufficient      pam_unix.so try_first_pass likeauth nullok
auth            sufficient      pam_ldap.so use_first_pass
auth            required        pam_deny.so

account         sufficient      pam_ldap.so
account         required        pam_unix.so

password        required        pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password        sufficient      pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password        sufficient      pam_ldap.so use_authtok use_first_pass
password        required        pam_deny.so

session         required        pam_limits.so
session         required        pam_env.so
session         required        pam_unix.so
session         optional        pam_ldap.so

さて、どうでしょう。ログインできるようになりましたか~ね?もしもうまく行かない場合は以下を疑ってみると良い…

パスワード認証されない
system-authがまずい。見なおしてみて
コマンドプロンプトにユーザIDが表示されない
/etc/ldap.confの設定がまずい。情報がうまく引けてない可能性大。
やたらコマンド応答が遅くなったりする
/etc/ldap.confの設定がまずい。情報がうまく引けてない可能性大。
Page Top

便利な追加設定 anchor.png[7]

先程のsystem-authに、以下のような設定を追加すると、初回ログイン時にホームディレクトリがない場合、自動作成してくれたりします。

session         required        pam_mkhomedir.so skel=/etc/skel umask=0022

ホームディレクトリの大元を持っているサーバなどで追加しておくと便利かもね!


Last-modified: 2011-01-07 (金) 02:21:35 (JST) (4829d) by maruo