手当たり次第に書くんだ

飽きっぽいのは本能

インストール

インストール

この時点でSambaとFreeRadiusをインストールするのはそれぞれのスキーマを入手するのが目的。

OpenLDAPをインストール

[root@centos ~]# yum install openldap-servers openldap-clients pam_ldap nss-pam-ldapd

Sambaをインストール

[root@centos ~]# yum install samba samba-swat samba-client

FreeRadiusをインストール

[root@centos ~]# yum install freeradius freeradius-utils freeradius-ldap freeradius-perl

設定

1. 管理者パスワード生成

[root@centos ~]# slappasswd

パスワードを入力すると文字列が生成される。生成された文字列は設定ファイルへ定義する。

New password:
Re-enter new password:
{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. スキーマを配置

SambaスキーマはSambaのインストール時点で適切に配置されているが、FreeRadiusスキーマは手動で配置しなければならない。

[root@centos ~]# cp -a /usr/share/doc/freeradius-2.1.12/examples/openldap.schema /etc/openldap/schema/radius.schema

3. 設定ファイルの雛形をコピー

OpenLDAP2.3以降、設定方法がファイル形式からDB形式へ変更され、使い勝手は最悪だ。取り敢えずは従来通りファイルに設定を定義し、それをDB形式に変換する方法をとる。

[root@centos ~]# cp -a /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/

4. 設定ファイル編集

[root@centos ~]# vim /etc/openldap/slapd.conf.obsolete

スキーマを定義。

include /etc/openldap/schema/samba.schema
include /etc/openldap/schema/radius.schema

cn=monitorのアクセス制御を変更。何の設定なのか。

database monitor
access to *
 by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
 by dn.exact="cn=admin,dc=si1230,dc=com" read
 by * none

suffixと管理者の設定。rootpwにはslappasswdで生成した文字列を定義。

suffix "dc=si1230,dc=com"
rootdn "cn=admin,dc=si1230,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ppolicy(パスワードポリシー)の設定。ppolicyはLDAPアカウントにパスワード入力ミス時のアカウントロックやパスワード文字数制限を提供するが、その機能はLinuxアカウントにしかきかない。

moduleload ppolicy.la
overlay ppolicy
ppolicy_use_lockout

設定ファイルをDB形式に変換

[root@centos ~]# rm -rf /etc/openldap/slapd.d/*
[root@centos ~]# slaptest -f /etc/openldap/slapd.conf.obsolete -F /etc/openldap/slapd.d
[root@centos ~]# chown -R ldap:ldap /etc/openldap/slapd.d/

5. サービス起動

[root@centos ~]# service slapd start
[root@centos ~]# service slapd restart
[root@centos ~]# chkconfig slapd on && chkconfig slapd --list

6. 初期情報登録

初期情報登録用のLDIFを作成。

[root@centos ~]# vim /root/init.ldif
dn: dc=si1230,dc=com
objectClass: dcObject
objectclass: organization
o: si1230
dc: si1230

dn: cn=admin,dc=si1230,dc=com
objectclass: organizationalRole
cn: admin

dn: ou=users,dc=si1230,dc=com
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=si1230,dc=com
objectClass: organizationalUnit
ou: groups

初期情報登録。

[root@centos ~]# ldapadd -x -D "cn=admin,dc=si1230,dc=com" -W -f /root/init.ldif

OpenLDAP自体の設定は一通り完了。後はユーザー登録、他アプリケーションのLDAP参照設定となる。

CentOS6 LDAPサーバー構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る