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 をインストールしました.
- 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
- 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