雑記

インフラのことだったりプログラムのことだったりどうでもいいこと書いたり。要は雑記。

LDAP構築メモ

LDAPを作る機会があったので構築メモ。

環境

  • CentOS6

LDAP Server

install

# yum install openldap-servers openldap-clients

設定

  • DBの設定
# cd /home/ldap
# cp -a /usr/share/openldap-servers/DB_CONFIG.example DB_CONFIG
  • slapd.dの初期化
# cd /etc/openldap
# mv slapd.d/ slapd.d.default
# mkdir slapd.d
  • slapd.confの設定
# cd /etc/openldap
# cp -a /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
  • slapd.confのsyntax check
# slaptest -u -f /etc/openldap/slapd.conf -v
  • slapd.confを適用
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d
  • LDAPDBの作成
# mkdir /home/ldap
# echo "" | slapadd -f /etc/openldap/slapd.conf
# chown -R ldap:ldap /home/ldap
  • 起動
# /etc/init.d/slapd start
  • LDAPの初期設定
    • ldifファイルを作るよ
  • base.ldif
dn: dc=example,dc=com
objectClass: dcObject
objectClass: organization
o: example
dc: example

dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager

dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
  • group.ldif
dn: cn=dev,ou=Group,dc=example,dc=com
objectClass: posixGroup
cn: group-name
gidNumber: 1000
  • userファイルの作成前にパスワードの生成
# slappasswd
  • パスワードを2回入力すると「{SSHA}xxxxxxxxxxxxxxxxxx」という形式でパスワードが生成されるのでメモる
  • test-user.ldif
dn: uid=test-user,ou=People,dc=example,dc=com
changetype: add
uid: test-user
cn: test-user
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword: {SSHA}xxxxxxxxxxxxxxxxxx ※生成したパスワードを貼り付け
shadowLastChange: 13914
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/test-user

dn: cn=dev,ou=Group,dc=example,dc=com
changetype: modify
add: memberUid
memberUid: test-user
  • 適用
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f base.ldif
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f group.ldif
# ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f test-user1.ldif
  • 確認
# slapcat

LDAP Client

install

# yum install pam_ldap nscd nss-pam-ldapd

設定

# authconfig-tui
  • 以下をチェック
[*] Use LDAP 
[*] Use LDAP Authentication 
  • 以下を入力
Server: ldap://[LDAPサーバのIP]/
Base DN: dc=example,dc=com
  • 確認
# getent passwd
# getent group
  • ldapで追加したアカウントとグループが出ればok


なかなかめんどくさかった…