私の会社のOpenLDAPサーバーを管理するためのWebフロントエンドを作成しています。私はPerl、Apache2、OpenLDAP、Cyrus SASLを使用しています。Kerberos認証がmod_auth_kerb/Apache2、Authen :: SASL/perlを使用してopenldapに転送されない
問題は、Webインターフェイスを使用しているときに私のKerberos資格情報が転送されませんので、私は、Kerberosの検証ユーザーとしてのOpenLDAPへの認証ができない、である、とApacheのエラーログは言う:
「33」であるCredentials cache file '/tmp/krb5cc_33' not found
Apache用のuidNumber。どちらが理にかなっていますが、問題は解決しません。皮肉なことに、mod_auth_kerbはユーザー名とパスワードを要求し、認証し、チケットをキャッシュし、それがすべて機能するため、すべてが領域の外側から動作します。
Apache2に認証するためにmod_auth_kerbを使用しています。パスワードは要求されず、認証されたユーザーに表示される保護されたページが表示されます(そうでなければ拒否されます)。設定の関連フラグメント:
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms EXAMPLE.COM
Krb5Keytab /etc/apache2/HTTP.keytab
KrbServiceName HTTP
KrbSaveCredentials on
require valid-user
</Directory>
ケルベロス/ GSSAPI/SASL認証は、同様に正常に動作するので、コマンドラインから実行する場合、このコードはOK与える:
1 #!perl
2 use strict;
3 use warnings;
4 use Net::LDAP;
5 use Authen::SASL;
6
7 my $l = Net::LDAP->new('ldap.example.com', onerror=>'die',);
8 my $sasl = Authen::SASL->new(mechanism=>'GSSAPI');
9 $l->bind(sasl=>$sasl);
10
11 print "OK\n";
だから、何が解決策になるかもしれません?
ダブルホップのケースを叩いていますか? perlスクリプトでバインド呼び出しの戻り値を確認しましたか?エラーが発生する可能性があります。 – Jayen