PR

(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

図2●/etc/openldap/slapd.confの設定例
写真1●authconfig実行例(ユーザー情報の設定)
NSSWITCHの設定が行われる。
写真2●authconfig実行例(認証の設定)
PAMの設定が行われる。
図3●ldap.confのHOST行とBASE行をこのように書き換える
 Red Hat系のLinuxディストリビューションを使用していて,該当のRPMが見つからない場合は,rpm --rebuild samba*.srpm を実行し,パッケージを再構築すれば利用できるだろう。

 インストールの際は,必ず以下のように-Uオプションを指定すること。

# rpm -Uvh samba-ldap*.rpm

 なお,上記のインストールを実行する前に,以下のディレクトリ配下のファイルをバックアップしておくと,作業ミス発生に伴うリカバリ時に役立つだろう。

・ /etc/samba/
・ /var/cache/samba

OpenLDAPの設定

 LDAPを利用するために,(a)LDAPサーバーを動作させるための設定と,(b)LDAPクライアントとしての設定を行う必要がある。(a)はLDAPデーモンを動かすサーバーだけに行えばよく,(b)はWindowsを除くLinux/UNIXマシンすべて(LDAPサーバーも含む)に対して行う必要がある。

(a)LDAPサーバーを動作させるための設定

 設定の対象ファイルは,/etc/openldap/slapd.confだけである。

 OpenLDAPの詳細な設定方法に関しては,以下のWebページや一般書籍なども参照すると良いだろう。

●OpenLDAP 2.0 管理者ガイド:

http://www.interq.or.jp/earth/inachi/openldap/admin/index-ja.html

●Red Hat Linux 参照ガイド:

http://www.jp.redhat.com/manual/Doc9/rhl-rg-ja-9/ch-ldap.html

 ここでは,Sambaでドメイン環境を構築するための設定だけを解説する。まず,以下からslapd.confのサンプルをダウンロードし,/etc/openldap/ ディレクトリに配する。そして,次に解説する3つのパラメータだけを変更する。

http://www.miraclelinux.com/technet/magazine/openldap/index.html

●suffix

 ベース・サフィックスを指定する。最低1つは設定することが必須で,複数指定することも可能である。

 このパラメータは,ユーザーが自由に設定できるが,全世界でユニークになるようにDNSドメイン名と同じものを使用すると良い。

【ベース・サフィックスの例】

・ suffix "dc=miraclelinux,dc=com"
・ suffix "dc=nikkeibp,dc=co,dc=jp"
・ suffix "ou=naniwa,dc=oracle,dc=co,dc=jp"
・ suffix "ou=sales,ou=yokohama,o=miraclelinux,c=jp"

 ここで,dcはDomain COmponent,ouはOrganization Unitを意味している。dc,ou以外に,c:countryやo:organizationなどの使用も一般的である。要するに,全世界でユニークになるなら,どれを使うのもユーザーの自由である。また,英大文字,英子文字の区別はない。

●rootdn

 LDAPサーバーの管理者のDN(Distinguished Name:識別名)を指定する。なお,管理者DNを含むユーザーDNには,英大文字,英子文字の区別はない。

【管理者DNの例】

・ rootdn "cn=Manager,dc=miraclelinux,dc=com"
・ rootdn "cn=root,dc=nikkeibp,dc=co,dc=jp"
・ rootdn "cn=Administrator,ou=Users,ou=naniwa,dc=oracle,dc=co,dc=jp"
・ rootdn "cn=Manager,ou=person,ou=sales,ou=yokohama,dc=miraclelinux,dc=co,dc=jp"

 管理者のDNも,前述のサフィックスを含むものであればユーザーが自由に設定できる。

●rootpw

 LDAPサーバーの管理者パスワードを設定する。

 試験のときはそのままの(暗号化されていない)パスワードを指定しても良いが,試験が完了したら暗号化したものを設定しよう。例えば,miracleというパスワードをMD5ハッシュする場合は,slappasswdコマンドを使用して以下のように行う。

# slappasswd -s miracle -h {MD5}
{MD5}0SLYzLSMIRdTdundlie/5A==

 ここで表示されたものを使用して

rootpw = {MD5}0SLYzLSMIRdTdundlie/5A==

というように指定する。

 なお,LDAPに登録されているユーザーをrootdnに指定し,LDAPの中にパスワードが格納されていれば,rootpwを指定する必要はない。

 例として,サフィックスを"dc=miraclelinux,dc=com",管理者DNを"cn=Manager,dc=miraclelinux,dc=com",管理者パスワードをmiracleとして設定するには,slapd.confの中で図2[拡大表示]のように指定する。

 設定が終了したら,OpenLDAPデーモンを起動させる。

# service ldap restart

うまく起動したら,システム起動時に自動的に動作するよう,次のように設定する。

# chkconfig ldap on

(b)LDAPクライアントとしての設定

 LDAPデーモンを動作させるマシンを含むすべてのLinuxマシンで,以下のファイルに対して設定する必要がある。

・ /etc/ldap.conf
・ /etc/openldap/ldap.conf
・ /etc/nsswitch.conf
・ /etc/pam.d/system-auth

 上記4つのファイルに対して,同時かつ簡単に設定できるよう,Red Hat LinuxやMIRACLE LINUX V2.xにはauthconfigコマンドが用意されているので,これらディストリビューションを利用している場合はauthconfig(写真1[拡大表示],2[拡大表示])を使うと良い。このコマンドが存在しないOSの場合は(SolarisやHP-UXを含む),手作業で上記ファイルを編集する。

 LDAPサーバーが動作しているマシンでauthconfigコマンドを実行する場合は,サーバーを127.0.0.1と指定する。それ以外のマシンで実行する場合は,LDAPサーバーのIPアドレスやホスト名を指定する。

 authconigを実行すると,/etc/nsswitc.confと/etc/openldap/ldap.conf,/etc/pam.d/system-authの内容が変更されるので,確認しよう。

●/etc/nsswitch.conf

 以下の行を確認する

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

●/etc/ldap.confと/etc/openldap/ldap.conf

 nss_ldapとpam_ldapの設定ファイルである/etc/ldap.confを編集し,ユーザーの組織と検索ベースを正しい内容に書き換える。/etc/openldap/ldap.confファイルはldapsearch,ldapaddなどのようなコマンドライン・ツールのための設定ファイルで,これもLDAPの設定に合わせて編集する必要がある。authconfigによって,これらのHOST行とBASE行が変更されているはずであるが,さらに手作業で図3[拡大表示]のように変更を加える。

(ミラクル・リナックス 小田切 耕司)


(次回に続く)