こんにちは。セシオスサポートチームです。
今回は、弊社から提供しているOSS、「LISM」(リスム)について紹介したいと思います。
LISMは 弊社で開発した、LDAP、AD、RDBMSなどを対象にID情報を一元管理するためのソフトウェアで、OSSとして提供しており、誰でもご利用頂くことが可能です。
今回はRHEL8の環境でそのLISMを構築してみたいと思います。
OS:
Red Hat Enterprise Linux release 8.6 (Ootpa)
ミドルウェア:
openldap 2.6.3
LISM 2.3.19
リポジトリを追加します。appstreamとpowertools、EPELを入れます。
|
ソースからコンパイルをするので、開発者ツールで一通り入れます。
dnf groupinstall "Development Tools"
|
開発者ツールで入ってこなかった、コンパイルに必要なパッケージと、LISMで必要になるパッケージをインストールしていきます。
dnf install perl perl-devel perl-ExtUtils-Embed cyrus-sasl-devel libdb-devel libtool-ltdl-devel openssl-devel |
https://www.openldap.org/ 公式サイトからソースをダウンロードします。執筆時点では 2.6.3 が最新でした。
curl -O https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.3.tgz |
/usr/bin/ld: xxxx.o: relocation R_X86_64_32 against `.xxxx' can not be used when making a PIE object; recompile with -fPIC |
tar zxvf ./openldap-2.6.3.tgz -fPIC" LDFLAGS="-fPIC" ./configure --prefix=/usr/local/lism --enable-perl |
make に成功すると、以下のように、done と表示されます。続けて make install してください。
|
openldap、LISMのインストールが完了したら、PATHを通しておきます。
vi ~/.bashrc (末尾に追加) export PATH=$PATH:/usr/local/lism/bin/:/usr/local/lism/sbin/ source ~/.bashrc |
# バックアップ cp /usr/local/lism/etc/openldap/slapd.conf ~/ vi /usr/local/lism/etc/openldap/slapd.conf |
<config>
<!-- データ同期に関する設定 -->
<sync>
<master>
<containerdn>ou=Master</containerdn>
<data>TestLDAP</data>
</master>
</sync>
<!-- システムデータに関する設定 -->
<data name="TestLDAP">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=TestLDAP</rdn>
</container>
<storage name="LDAP" hash="SSHA">
<uri>ldap://ssk-test1.int.secioss.work/dc=secioss,dc=ldap</uri>
<binddn>cn=Manager,dc=secioss,dc=ldap</binddn>
<bindpw>secret</bindpw>
</storage>
</data>
</config>
|
|
編集内容
<config>
<!-- データ同期に関する設定 -->
<sync>
<master>
<containerdn>ou=Master</containerdn>
<data>TestLDAP</data>
</master>
</sync>
<!-- システムデータに関する設定 -->
<data name="TestLDAP">
<container>
<oc>organizationalUnit</oc>
<rdn>ou=TestLDAP</rdn>
</container>
<storage name="LDAP" hash="SSHA">
<uri>ldap://ssk-test1.int.secioss.work/dc=secioss,dc=ldap</uri>
<binddn>cn=Manager,dc=secioss,dc=ldap</binddn>
<bindpw>secret</bindpw>
</storage>
</data>
</config>
vi /usr/local/lism/share/perl5/LISM/Storage.pm |
1681行目:
my @funcs = ($str =~ /%{([^}]*)}/g);
1681行目:
my @funcs = ($str =~ /%\{([^}]*)\}/g);
サービスファイルを定義して、管理を少し楽にします。
vi /usr/lib/systemd/system/lism.service |
編集内容
[Unit]
Description=openldap LISM Server
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/lism/var/run/slapd.pid
Environment=PERL5LIB=/usr/local/lism/share/perl5
ExecStart=/usr/local/lism/libexec/slapd -h "ldap://:3890/"
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
サービスファイルを反映させます。
systemctl daemon-reload |
|
ldapsearch -x -LLL -H ldap://localhost:3890/ -D "cn=Manager,dc=lism,dc=com" -w 'PWD1234' -b "ou=Master,dc=lism,dc=com" |
ldapsearch -x -LLL -H ldap://localhost:3890/ -D "cn=Manager,dc=lism,dc=com" -w 'PWD1234' -b "ou=TestLDAP,dc=lism,dc=com" |
参照先は同じなので、取得できるデータは代わり映えしませんが、
この様に源泉データとして設定している箇所に対してのサーチ、
データソースとして登録しているシステムに対してのサーチが行なえます。
いかがでしょうか。今回は構築ということで、あまり設定をしていないため、同期部分の機能がわかりづらかったと思いますが、RHEL8での構築手順は以上となります。
詳しい使い方はまた同コラムの次回にご紹介したいと思います。
今後共セシオスリンクをよろしくお願いいたします。
以上、セシオスサポートチームでした。