LDAP Account Manager の導入 (2011/08/03)

openldap の CUI による管理は,smbldap-tools を利用すればある程度簡易にはなりますが,普段からさわっていないと管理が必要になるたびに,コマンドを調べなくてはなりません.また,LDAP サーバにログインする必要があります.備忘録として,代表的な smbldap-tools 関連のコマンドを列挙します.

# /usr/sbin/smbldap-useradd -g [primary group name] -m [user name]  (新規ユーザアカウントの追加)
# /usr/sbin/smbldap-usermod -r [new user name] [user name]  (ユーザアカウント名の変更)
# /usr/sbin/smbldap-usermod [user name]  (ユーザアカウントの削除)
# /usr/sbin/smbldap-groupadd -p [group name]  (グループの追加)
# /usr/sbin/smbldap-groupdel [group name]  (グループの削除]
# /usr/sbin/smbldap-groupmod -m [user name] [group name]  (グループへのユーザの追加)
# /usr/sbin/smbldap-groupmod -x [user name] [group name]  (グループからのユーザの削除)
# /usr/sbin/smbldap-useradd -g [primary group name] -w [computer name]  (新規コンピュータアカウントの追加)

上記のリストさえあれば,たいていのことはできますが,コマンドを打つだけでも間違いが入りそうです.そこで,GUI ベースのものを探した結果,Apache Directory Studio が使いやすそうでしたので,「Apache Directory Studio - OSSでLinuxサーバ構築」を参考にして,Windows マシンに導入してみました.インストール方法は,Eclipse 3.5 (Pleiades の日本語化プラグイン適用版) および Apache Directory Studio をインストールした後,Apache Directory Studio のプラグインを Eclipse 3.5 のプラグインフォルダにコピーすればオーケーです.LDAP サーバへの接続方法は Eclipse を起動した後,[ウィンドウ] -> [パースペクティブを開く] -> [その他] を選択し,展開された別ウィンドウで [LDAP] を選択し,メインウィンドウの左下から LDAP アイコンを選択して新規接続を開始して,LDAP サーバの IP アドレス,バインド DN,バインド・パスワードを入力すれば完了です.接続が成功すれば,LDAP の DIT (Directory Information Tree) が見えるはずです.快適に使用できましたが,問題点としては,各管理用マシンに Apache Directory Studio をインストールする必要がある点です.研究室で運営していくときには,管理者となる学生のマシンに Apache Directory Studio をインストールする必要があります.できれば,研究室内では,クライアントマシンに制約は設けたくはなく,LDAP 管理のするためにインストール作業を伴いたくありません.

他の LDAP 管理ソフトウェアを調査したところ,LDAP Account Manager が LDAP サーバ側でのインストールだけで,Web ベースでの管理ができるため,こちらの要求条件に当てはまります.また,LDAP を管理するために,LDAP サーバへログインする必要がありません.「LDAP Account Manager - OSSでLinuxサーバ構築」を参考にして,CentOS 5.6 に LDAP Account Manager をインストールしました.

  1. LDAP Account Manager のインストール

    LDAP Account Manager 導入に必要なパッケージを次のようにインストールします.

    server# yum -y install http php php-ldap php-mhash
    
    LDAP Account Manager の RPM ファイルをプロジェクトのページhttp://www.ldap-account-manager.org/からダウンロードします.最新バージョンは 3.4.0 ですが,PHP のバージョンとして 5.2.4 以上が要求され,CentOS 5.6 の php パッケージのバージョンは 5.1.6 (rpm -q php で確認) であるため,バージョン 3.1.0 である ldap-account-manager-3.1.0-0.fedora.1.noarch.rpm をダウンロードして,インストールしました.
    server# rpm -ivh ldap-account-manager-3.1.0-0.fedora.1.noarch.rpm
    

  2. LDAP Account Manager の設定

    PHP の memory_limit は 64M 以上であることが要求されます./etc/php.ini を確認して下さい.今回の場合は,最初から memory_limit = 128M となっていました.また,ローカル Web サーバとして使用する場合は,他でアクセス制限をかけているものと思いますが,念のため,/etc/httpd/conf/httpd.conf によるアクセス制限もかけておきましょう.今回はネットワーク 192.168.0.0/24 のみをアクセスを許可する例を示します./etc/httpd/conf/httpd.conf を次の項目を修正して下さい.

    Order allow,deny
    Allow from 192.168.0.0/24
    
    設定ファイルの修正後,apache を再起動します.
    server# service httpd restart
    
    LDAP Account Manager の設定ファイルを作成します.まず,雛形のファイルをコピーします.
    server# cd /var/www/html/lam/config
    server# cp -p config.cfg_sample config.cfg
    server# cp -p lam.conf_sample lam.conf
    
    バインド DN は cn=manager,dc=example,dc=com,ユーザ組織単位を ou=Users,グループ組織単位を ou=Groups,コンピュータ組織単位を ou=Computers,Samba のドメイン名を EXAMPLE_COM としたとき,/var/www/html/lam/config/lam.conf の次に挙げる項目を修正します.
    serverURL: ldap://localhost:389
    admins: cn=manager,dc=example,dc=com
    
    treesuffix: dc=example,dc=com
    defaultLanguage: ja_JP.utf8:UTF-8:日本語 (日本)
    
    types: suffix_user: ou=Users,dc=example,dc=com
    types: suffix_group: ou=Groups,dc=example,dc=com
    types: suffix_host: ou=Computers,dc=example,dc=com
    types: suffix_smbDomain: sambaDomainName=EXAMPLE_COM,dc=example,dc=com
    

ブラウザでアクセスして動作を確認したところ,問題なく動作しました.


梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp
Last modified: 2020/05/01 15:37
Total Access Count