2015年11月24日 星期二

[LDAP] 使用 LDAP 管理 Account on Ubuntu 14.04 (使用phpldapadmin)

  • 簡介
    LDAP的概念與DNS類似,都是以階層(hierarchical)概念來進行操作與處理。因此,設計一透合適的階層架構圖(Schema)是非常重要的,Schema可以讓LDAP Client知道該如何存取資訊,以及可以定義哪些人符合擁有哪些權限等等資訊。圖一為我所設計的Schema,圖中個縮寫定義如下:
    DIT(Directory Information Tree;目錄資訊樹)
    DC(Domain Country;區域網域)
    OU(Organization Unit;組織單位)
    CN(Common Name;使用者名稱)
    DN(Distinguish Name;識別名稱)
圖一 : Schema
  • 安裝LDAP和phpldapadmin
    #apt-get install slapd ldap-utils
    #apt-get install phpldapadmin apache2 php5 php5-mysql

  •  設定sldapd
    #dpkg-reconfigure slapd

     以下為我採用的設定
    • Omit OpenLDAP server configuration? No
    • DNS domain name? example.com.tw
    • Organization name? company (or example)
    • Administrator password? (phpldapadmin登入用)
    • Database backend to use? HDB
    • Remove the database when slapd is purged? Yes
    • Allow LDAPv2 protocol? No

    Note: db path : /var/lib/ladp

  •  設定 phpldapadmin
    #vim /etc/phpldapadmin/config.php
    #指定Host
    $servers->setValue('server','host','127.0.0.1');

    #指定DIT
    $servers->setValue('server','base',array('dc=example,dc=com,dc=tw'));

    #指定admin
    $servers->setValue('login','bind_id','cn=admin,dc=example,dc=com,dc=tw');

  • Connect to phpldapadmin
    • WebSite : http://127.0.0.1/phpldapadmin
    • 帳號:cn=admin,dc=example›‹,dc=com,dc=tw
    • 密碼:執行dpkg-reconfiguration時所設定的那組
    phpldapadmin

  • 安裝並設定 LDAP Client
    #apt-get install libpam-ldap nscd
    #dpkg-reconfigure ldap-auth-config
        注意:LDAP server Uniform Resource Identifier: ldap://{LDAP SERVER}
    #auth-client-config -t nss -p lac_ldap
    #pam-auth-update
  • 如果需要使用者登入時,沒有家目錄要自動建立,則設定以下動作
    #vim /etc/pam.d/common-session
    session required pam_mkhomedir.so umask=0022 skel=/etc/skel

  • 重啟Service
    /etc/init.d/nscd restart

Reference :
[1] How To Install and Configure OpenLDAP and phpLDAPadmin on an Ubuntu 14.04 Server

沒有留言:

張貼留言