これだけでは、何とも言えませんが、私のHPにまとめたものがありますので、ご
参考に。
http://www.tmo.co.jp/
-> Debian Linux Tools
-> How to configure LDAP on Linux (English)
野村
> 初めまして。
> 徳田と申します。
>
> さて本題ですが、ただいまLDAPの勉強中で、
> 最終的にはLDAP+SambaでPDC環境を構築したいと考えています。
>
> 必要なパッケージのインストールは終え、
> LDAPサーバーも動いている様に見えるのですが、Linuxのユーザー認証ができません。
> (migrationtoolでユーザー登録し、GUIツールやコマンドで操作はできています。)
--
****** Nomura Technical Management Office Ltd. *****************
Tomoo Nomura nom...@tmo.co.jp http://www.tmo.co.jp/
Phone: +81-78-797-0240 Fax: +81-50-3428-2033
Worldwide Airline Timetable 'Flight Planner'
European Electronic Timetable 'HAFAS' ValueFax Support
****************************************************************
At Sun, 21 Feb 2010 09:51:50 +0900,
徳田 知弘 wrote:
> 各所に"getent passwd でLDAP登録ユーザーが見えるか確認する。"
> という情報がありますが、まずこれがうまくいっていないようで、
> LDAP登録ユーザーが見えません。
> ■/etc/libnss-ldap.conf
> host 127.0.0.1
> base dc=hoge,dc=org
> uri ldap://127.0.0.1/
> ldap_version 3
> rootbinddn cn=admin,dc=hoge,dc=org
「id LDAPにあるユーザ名」などを実行した際に、/var/log/auth.log に
nss_ldapの記録が何か出ているかと思います。
# ldapsearch -x -D $(grep rootbinddn /etc/libnss-ldap.conf |sed -e 's/.* //') -w $(cat /etc/libnss-ldap.secret)
は動作しますか?
--
武藤 健志@ kmuto @ kmuto.jp
Debian/JPプロジェクト (km...@debian.org, km...@debian.or.jp)
株式会社トップスタジオ (km...@topstudio.co.jp)
URI: http://kmuto.jp/ (Debianな話題など)
昨日は誤ってコマンドを書いたメールを投稿してしまい、
思わぬところで会社の住所など晒してしまいました。
不快に思われた方は申し訳ありません。
さて本題ですが、ただいまLDAPの勉強中で、
最終的にはLDAP+SambaでPDC環境を構築したいと考えています。
必要なパッケージのインストールは終え、
LDAPサーバーも動いている様に見えるのですが、Linuxのユーザー認証ができません。
(migrationtoolでユーザー登録し、GUIツールやコマンドで操作はできています。)
各所に"getent passwd でLDAP登録ユーザーが見えるか確認する。"
という情報がありますが、まずこれがうまくいっていないようで、
LDAP登録ユーザーが見えません。
ご教示、何卒よろしくおねがいします。
各種設定は以下の通りです。
※nscdが動いているとうまくいかないという情報もありましたので、
nscdはアンインストールしています。
■/etc/ldap/slapd.conf
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 256
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=hoge,dc=org"
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
index uid eq
lastmod on
checkpoint 512 30
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=zeon,dc=org" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=zeon,dc=org" write
by * read
■/etc/libnss-ldap.conf
host 127.0.0.1
base dc=hoge,dc=org
uri ldap://127.0.0.1/
ldap_version 3
rootbinddn cn=admin,dc=hoge,dc=org
■/etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
■/etc/pam_ldap.conf
host 127.0.0.1
base dc=hoge,dc=org
uri ldap://127.0.0.1/
ldap_version 3
rootbinddn cn=admin,dc=hoge,dc=org
■/etc/pam.d/common-*
account sufficient pam_ldap.so
account required pam_unix.so
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure md5 use_first_pass
session required pam_unix.so
session optional pam_ldap.so
session optional pam_mkhomedir.so skel=/etc/skel umask=0022
ありがとうございます。
当方ではレプリカとスレイブの設定、Sambaの設定は一旦不要なので、
slapd.conf以外の以下の設定は同じにしてみました。
が、結果は変わらずです。
/etc/libnss-ldap.conf
/etc/pam_ldap.conf
/etc/nsswitch.conf
/etc/pam.d/common-xxxxx
野村さんHPのDBチェックの項について、
slapcat --> 期待通り
ldapsearch -x "(cn=foo)" --> 期待通り
id foo --> No such user
という結果になります。
他に何か気になる箇所等ございましたらご教示ください。
※紛らわしくて申し訳ありませんが、
slapd.confの一部に色々試していたときの残骸が残っていましたので、
改めて最新版を掲載致します。
■/etc/ldap/slapd.conf
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 256
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=hoge,dc=org"
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
index uid eq
cachesize 200
idlcachesize 1000
lastmod on
checkpoint 512 30
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=hoge,dc=org" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=hoge,dc=org" write
by * read
お世話になります。
実は、「id foo」「getent passwd」も auth.log は出力されません。
無反応なのです。
ちなみに下記のコマンドの結果は以下の通りです。
お気づきの点ございましたらご教示ください。
# ldapsearch -x -D $(grep rootbinddn /etc/libnss-ldap.conf |sed -e 's/.* //') -w
$(cat /etc/libnss-ldap.secret)
# extended LDIF
#
# LDAPv3
# base <dc=hoge,dc=org> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# hoge.org
dn: dc=hoge,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: hoge
dc: hoge
# admin, hoge.org
dn: cn=admin,dc=hoge,dc=org
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e0NSWVBUfVdTWmVxVGZWaHBaY3c=
# People, hoge.org
dn: ou=People,dc=hoge,dc=org
objectClass: organizationalUnit
ou: People
# Group, hoge.org
dn: ou=Group,dc=hoge,dc=org
objectClass: organizationalUnit
ou: Group
# test, People, hoge.org
dn: uid=test,ou=People,dc=hoge,dc=org
uid: test
cn: test
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/sh
homeDirectory: /home/test
shadowLastChange: 14659
gidNumber: 1001
uidNumber: 1001
userPassword:: e01ENX1DWTlyelVZaDAzUEszazZESmllMDlnPT0=
# test, Group, hoge.org
dn: cn=test,ou=Group,dc=hoge,dc=org
objectClass: posixGroup
objectClass: top
cn: test
gidNumber: 1001
userPassword:: e0NSWVBUfU9tQ21nWE5FZkV4RWs=
# ldap, People, hoge.org
dn: uid=ldap,ou=People,dc=hoge,dc=org
loginShell: /bin/sh
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
uid: ldap
shadowLastChange: 14659
shadowMax: 99999
uidNumber: 1003
shadowWarning: 7
userPassword:: e0NSWVBUfTMxQWtxcDl2N0w4LlU=
gidNumber: 1003
homeDirectory: /home/test
cn: ldap
# ldap, Group, hoge.org
dn: cn=ldap,ou=Group,dc=hoge,dc=org
gidNumber: 1003
objectClass: posixGroup
objectClass: top
userPassword:: e0NSWVBUfVMxdFQxa1RCRG52UHc=
cn: ldap
# search result
search: 2
result: 0 Success
# numResponses: 9
# numEntries: 8
> 武藤@Debianぷろじぇくとです。
>
> At Sun, 21 Feb 2010 09:51:50 +0900,
> 徳田 知弘 wrote:
>> 各所に"getent passwd でLDAP登録ユーザーが見えるか確認する。"
>> という情報がありますが、まずこれがうまくいっていないようで、
>> LDAP登録ユーザーが見えません。
>
>> ■/etc/libnss-ldap.conf
>> host 127.0.0.1
>> base dc=hoge,dc=org
>> uri ldap://127.0.0.1/
>> ldap_version 3
>> rootbinddn cn=admin,dc=hoge,dc=org
>
> 「id LDAPにあるユーザ名」などを実行した際に、/var/log/auth.log に
> nss_ldapの記録が何か出ているかと思います。
>
> # ldapsearch -x -D $(grep rootbinddn /etc/libnss-ldap.conf |sed -e 's/.* //') -w $(cat /etc/libnss-ldap.secret)
>
> は動作しますか?
--
====================================================
トマム・ソフト株式会社
堺市中区東八田30-5
システム開発部長 徳田 知弘
TEL :072-270-0817
MOBILE:090-3944-4814
MAIL :tomohir...@tomam.jp
====================================================
お世話になります。
/etc/libnss-ldap.secret は存在します。
内容は平文でパスワードを記述すればよいのですよね?
ご指摘の通り、rootbinddn はコメントアウトしましたが、状況変わらずです。
また、気になっているのですが、
login コマンドでログインしたときと、
ターミナルからログインしたときと、ログの内容が異なっています。
認証に失敗しているようですが、これもなぜが分かりません・・・
■login コマンドでログイン
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 fd=18 ACCEPT from
IP=127.0.0.1:51091 (IP=0.0.0.0:389)
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=0 BIND dn="" method=128
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=0 RESULT tag=97 err=0 text=
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=1 SRCH base="dc=hoge,dc=org"
scope=2 deref=0 filter="(uid=test)"
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=1 SEARCH RESULT tag=101 err=0
nentries=1 text=
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=2 BIND
dn="uid=test,ou=People,dc=hoge,dc=org" method=128
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=2 BIND
dn="uid=test,ou=People,dc=hoge,dc=org" mech=SIMPLE ssf=0
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=2 RESULT tag=97 err=0 text=
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=3 BIND anonymous
mech=implicit ssf=0
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=3 BIND dn="" method=128
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 op=3 RESULT tag=97 err=0 text=
Feb 22 22:40:36 KUROBOX-PRO slapd[1311]: conn=8 fd=18 closed (connection lost)
■ターミナルからログイン
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 fd=18 ACCEPT from
IP=127.0.0.1:51092 (IP=0.0.0.0:389)
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=0 BIND dn="" method=128
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=0 RESULT tag=97 err=0 text=
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=1 SRCH base="dc=hoge,dc=org"
scope=2 deref=0 filter="(uid=test)"
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=1 SEARCH RESULT tag=101 err=0
nentries=1 text=
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=2 BIND
dn="uid=test,ou=People,dc=hoge,dc=org" method=128
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=2 RESULT tag=97 err=49 text=
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=3 BIND dn="" method=128
Feb 22 22:41:32 KUROBOX-PRO slapd[1311]: conn=9 op=3 RESULT tag=97 err=0 text=
Feb 22 22:43:25 KUROBOX-PRO slapd[1311]: conn=9 fd=18 closed (connection lost)
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> 武田@OSSテクノロジです。
> こんにちは。
>
> 徳田 知弘 さんは書きました:
>> 初めまして。
>> 徳田と申します。
>>
>> 各所に"getent passwd でLDAP登録ユーザーが見えるか確認する。"
>> という情報がありますが、まずこれがうまくいっていないようで、
>> LDAP登録ユーザーが見えません。
>>
>> ■/etc/ldap/slapd.conf
>> access to attrs=userPassword,shadowLastChange
>> by dn="cn=admin,dc=zeon,dc=org" write
>> by anonymous auth
>> by self write
>> by * none
>> access to dn.base="" by * read
>> access to *
>> by dn="cn=admin,dc=zeon,dc=org" write
>> by * read
>>
>> ■/etc/libnss-ldap.conf
>> host 127.0.0.1
>> base dc=hoge,dc=org
>> uri ldap://127.0.0.1/
>> ldap_version 3
>> rootbinddn cn=admin,dc=hoge,dc=org
>>
>
> rootbinddnを設定していると、この権限でLDAPサーバーに
> bindすることになると思いますが、cn=adminに設定したパスワードを
> 保存したファイルはありますか?
> Debianだと/etc/libnss-ldap.secretでしょうか。
>
> slapd.confのアクセス権の設定を見た限りだと、anonymousで
> 接続してもユーザー情報は取れるはずなので、rootbinddnの
> 設定が無くても動くと思います。
>
> Yasuma Takeda <yas...@osstech.co.jp>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAkuBSPQACgkQFqeEDqJUyIfMvQCgjaEa6ZxWwfZnRgpu+hult0P7
> t80AnipplhzbSd7fyvs0M2Ccp2E8U9Sy
> =ihFw
> -----END PGP SIGNATURE-----
>
>
>
ありがとうございます。
ビンゴです!
私も玄箱Proを使っているので、/lib/libnss_ldap.so.2 は存在せず、
#ln -s /lib/nss_ldap.so.1 /lib/libnss_ldap.so.2
で、 #id foo も #getent passwd も # login も無事動作確認できました。
ちなみにパッケージリストを確認してきましたが、
玄箱Pro の armelアーキテクチャのみ、
/lib/libnss_ldap.so.2 ではなく
/lib/nss_ldap.so.1 でした。
こんなこともあるのですね。
勉強になりました。
他にも助言くださった方ありがとうございました。
武田@OSSテクノロジです。
こんにちは。
徳田 知弘 さんは書きました:
> 初めまして。
> 徳田と申します。
>
> 各所に"getent passwd でLDAP登録ユーザーが見えるか確認する。"
> という情報がありますが、まずこれがうまくいっていないようで、
> LDAP登録ユーザーが見えません。
>
> ■/etc/ldap/slapd.conf
> access to attrs=userPassword,shadowLastChange
> by dn="cn=admin,dc=zeon,dc=org" write
> by anonymous auth
> by self write
> by * none
> access to dn.base="" by * read
> access to *
> by dn="cn=admin,dc=zeon,dc=org" write
> by * read
>
> ■/etc/libnss-ldap.conf
> host 127.0.0.1
> base dc=hoge,dc=org
> uri ldap://127.0.0.1/
> ldap_version 3
> rootbinddn cn=admin,dc=hoge,dc=org
>
rootbinddnを設定していると、この権限でLDAPサーバーに
参考になるか自信ないですが.
以前,自宅の玄箱Pro で LDAP をしてたときに/lib/libnss_ldap.so.2 が
みつからなくて /lib/nss_ldap.so にシンボリックリンクしたら引けるように
なった記憶があります.
他には,意外と tcpwrappers で引っかかってはないでしょうか?
ではでは.