mosakabe @ ウィキ
LDAPサーバ構築
最終更新:
mosakabe
-
view
OpenLdap でLDAPサーバを構築します。
OpenLdapインストール
$ sudo apt-get install slapd ldap-utils
スキーマを組み込む
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif $ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif $ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
バックエンドを作成
/etc/ldap/backend.example.com.ldif
# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=com
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=example,dc=com
olcRootPW: secret
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/backend.example.com.ldif
フロントエンドを作成
/etc/ldap/frontend.example.com.ldif
# Create top-level object in domain dn: dc=example,dc=com objectClass: top objectClass: dcObject objectclass: organization o: Example Organization dc: Example description: LDAP Example # Admin user. dn: cn=admin,dc=example,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword: secret # unit1 dn: ou=unit1,dc=example,dc=com objectClass: organizationalUnit ou: unit1 # unit1-1 dn: ou=unit1-1,ou=unit1,dc=example,dc=com objectClass: organizationalUnit ou: unit1-1 # member1 dn: uid=0001,ou=unit1-1,ou=unit1,dc=example,dc=com objectClass: inetOrgPerson cn: Yamada Taro sn: Taro uid: 0001 userPassword: hoge # member2 dn: uid=0002,ou=unit1,dc=example,dc=com objectClass: inetOrgPerson cn: Yamada Jiro sn: Jiro uid: 0002 userPassword: piyo
$ sudo ldapadd -x -D cn=admin,dc=example,dc=com -W -f /etc/ldap/frontend.example.com.ldif
サーバ側で確認
$ ldapsearch -xLLL -b "dc=example,dc=com"
で登録したのが出ればOK
$ sudo slapcat
サーバ側で全エントリが出力される
クライアント側で確認
クライアント側の /etc/ldap/ldap.conf にLDAPサーバのIPアドレスを設定する。
vi /etc/ldap/ldap.conf
BASE dc=example,dc=com URI ldap://192.168.11.10 ldap://192.168.11.10:666
$ ldapsearch -x "uid=0001"
以下広告