2004年10月9日土曜日

LDAPとSMBの連携でパスワードの一元管理

OSはredhat9
ちょっとした事情でやることになった。

構成は、LDAP+SMB

参考サイト=@ITLDAPによるパスワードの一元管理
というか、これは自分のメモ用でしてこれをやりたい人は@ITいってくださいw
ほとんどコピペで、俺が見やすいようにしただけです。

http://www.openldap.org/よりopenldap-hoge.tar.gzを落とす。

# tar zxfv openldap-hoge.tar.gz
# cd openldap-hoge
# ./configure --enable-ldbm --prefix=/usr/local/ldap
# make depend;make
# make test
# make install


ftp://ftp.samba.gr.jp/pun/samba-jp/samba-ldap/samba.schema (samba用schema)を落とす。

# cp samba.schema /usr/local/ldap/etc/openldap/schema


ldapのconfのcopy

cp /usr/local/ldap/etc/openldap/slapd.conf.default /usr/local/ldap/etc/openldap/slapd.conf

# cd /usr/local/ldap/etc/openldap/

# vi slapd.conf

#nis.schemaとsambaschemaをinclude
include /usr/local/ldap/etc/openldap/schema/core.schema
include /usr/local/ldap/etc/openldap/schema/nis.schema
include /usr/local/ldap/etc/openldap/schema/samba.schema

pidfile /usr/local/ldap/var/slapd.pid
argsfile /usr/local/ldap/var/slapd.args

#pass関連の設定
# userPassword属性に対する設定
# ・LDAP管理ユーザー(cn=root,dc=itboost,dc=co,dc=jp)は書込可能(write)
# ・自分自身(self)は書込可能(write)
# ・匿名接続(anonymous)した場合は 認証時のみuserPasswordを利用できる
# ・そのほかのユーザー(*)は何もできない(none)

access to attribute=userPassword
by self write
by dn="cn=root,dc=itboost,dc=co,dc=jp" write
by anonymous auth
by * none

# userPassword属性以外(*)に対する設定-------
# ・LDAP管理ユーザー(cn=root,dc=itboost,dc=co,dc=jp)は書込可能(write)
# ・自分自身(self)は書込可能(write)
# ・そのほかのユーザー(*)は読取は可能(read)

access to *
by dn="cn=root,dc=itboost,dc=co,dc=jp" write
by self write
by * read


# 検索の高速化
#
# UNIXアカウント(uid)の存在(pres)と一致(eq)、
# Sambaアカウント(rid)の一致(eq)に対する検索能力を高めるためindexを作成

index uid pres,eq
index rid eq

# 必須項目
#
# suffix : LDAPディレクトリの検索範囲
# rootdn : 特権ユーザー
# rootpw : 特権ユーザーのパスワード
# slappasswd コマンドを実行し、出力された文字列をコピーすればよい
# -s :パスワード文字列
# -h :暗号化方式指定 {CRYPT} {SHA} {MD5} などを取ることができる
#
# 『実行例 ・・・パスワード暗号化方法にMD5を使用した例』
# slappasswd -s itboost -h {MD5}

database ldbm
suffix "dc=itboost,dc=co,dc=jp"
rootdn "cn=root,dc=itboost,dc=co,dc=jp"
rootpw {MD5}04GnLjggosVsXYs44jrvFg==

# データベースを置くディレクトリ指定
directory /usr/local/ldap/var/openldap-ldbm

 LDAPサーバは専用ユーザーで扱うことにします。まず、専用ユーザー「ldap」を作成し、ldapのデータベースが格納されるディレクトリのパーミッションを設定しておきます。

# useradd -d /usr/local/ldap/var/openldap-ldbm -s /bin/false ldap
# chown ldap.ldap /usr/local/ldap/var/openldap-ldbm
# chmod 700 /usr/local/ldap/var/openldap-ldbm

で、起動

# /usr/local/ldap/libexec/slapd -u ldap

 各サーバの認証をLDAPで行う場合、LDAPサーバデーモンであるslapdが起動していないと、すべての認証が失敗することになります。システム再起動時にslapdが起動するように 上記の1行を/etc/rc.d/rc.localに記述しておきましょう。

この記事はまだ書いている途中です。

0 件のコメント:

コメントを投稿

素材集

FreePhoto