Solaris クライアント LDAP および Samba4 AD LDAP サーバー: いくつかの奇妙な点

Solaris クライアント LDAP および Samba4 AD LDAP サーバー: いくつかの奇妙な点

ldapユーザーを使用するようにSolarisを構成しました。 LDAP サーバーは Samba4 DC で、クライアントは Solaris 11.4 です。

このコマンドでサーバーに「登録」しました。

ldapclient manual \
 -a credentialLevel=proxy \
 -a authenticationMethod=sasl/gssapi \
 -a proxyDN=cn=proxyldap,cn=Users,dc=mydom,dc=priv \
 -a proxyPassword=******* \
 -a defaultSearchBase=dc=mydom,dc=priv \
 -a debugLevel=6 \
 -a domainName=mydom.priv \
 -a "defaultServerList=10.3.0.4" \
 -a attributeMap=group:userpassword=unixUserPassword\
 -a attributeMap=group:gidnumber=gidNumber \
 -a attributeMap=passwd:cn=cn \
 -a attributeMap=passwd:gidnumber=gidNumber \
 -a attributeMap=passwd:uidnumber=uidNumber \
 -a attributeMap=passwd:homedirectory=homeDirectory \
 -a attributeMap=passwd:loginshell=loginShell \
 -a attributeMap=shadow:userpassword=unixUserPassword \
 -a objectClassMap=group:posixGroup=group \
 -a objectClassMap=passwd:posixAccount=user \
 -a serviceSearchDescriptor=passwd:dc=mydom,dc=priv?sub \
 -a serviceSearchDescriptor=group:dc=mydom,dc=priv?sub 

設定がOKに戻りました。

Fingerが動作し、Solarisでユーザー「pino」を検索します。

finger pino
Login name: pino                        In real life: pino
Directory: /home/pino                   Shell: /bin/bash
Never logged in.
No unread mail
No Plan.

ldaplistはエラーを返します!

ldaplist passwd
ldaplist: libsldap.so.1 internal error

ldaplist -a sasl/GSSAPI passwd
ldaplist: (standalone auth error)
Configuration syntax error: Unable to set parameter from a client in __ns_ldap_setParam()

getent passwdは機能しますが、50%しか機能しません。

getent passwd |grep pino
pino:x:3000014:100:pino:/home/pino:/bin/bash

getent passwd pino

IDが機能しません

id pino
id: invalid user name: "pino"

私は何を見逃していますか?

/etc/nsswitch.conf 問題ありません

cp /etc/nsswitch.ldap /etc/nsswitch.conf

答え1

解決策/解決方法が見つかりましたが、50%しか完了していません。

この設定を有効にすると(暗号化されていないgssapi強力な認証を可能にするSamba)、すべてのコマンドが正常に動作します(ldaplist ok、id ok、su ok)。

   ldapclient -v manual \
     -a credentialLevel=proxy \
     -a authenticationMethod=simple \
     -a proxyDN=cn=proxyldap,cn=Users,dc=mydom,dc=priv \
     -a proxyPassword=******* \
     -a defaultSearchBase=dc=mydom,dc=priv \
     -a debugLevel=6 \
     -a domainName=mydom.priv \
     -a "defaultServerList=10.3.0.4" \
     -a attributeMap=group:userpassword=unixUserPassword\
     -a attributeMap=group:gidnumber=gidNumber \
     -a attributeMap=passwd:cn=cn \
     -a attributeMap=passwd:gidnumber=gidNumber \
     -a attributeMap=passwd:uidnumber=uidNumber \
     -a attributeMap=passwd:homedirectory=HomeDirectory \
     -a attributeMap=passwd:unixhomedirectory=unixHomeDirectory \
     -a attributeMap=passwd:loginshell=loginShell \
     -a attributeMap=passwd:gecos=gecos \
     -a attributeMap=shadow:userpassword=unixUserPassword \
     -a objectClassMap=group:posixGroup=group \
     -a objectClassMap=passwd:posixAccount=user \
     -a objectClassMap=shadow:shadowAccount=user \
     -a serviceSearchDescriptor=passwd:dc=mydom,dc=priv?sub \
     -a serviceSearchDescriptor=group:dc=mydom,dc=priv?sub

しかし、Sambaで強力な認証を有効にし、Solarisでgssapi認証を有効にするには..

   ldapclient -v manual \
     -a credentialLevel=proxy \
     -a authenticationMethod=sasl/gssapi \
     -a proxyDN=cn=proxyldap,cn=Users,dc=mydom,dc=priv \
     -a proxyPassword=******* \
     -a defaultSearchBase=dc=mydom,dc=priv \
     -a debugLevel=6 \
     -a domainName=mydom.priv \
     -a "defaultServerList=10.3.0.4" \
     -a attributeMap=group:userpassword=unixUserPassword\
     -a attributeMap=group:gidnumber=gidNumber \
     -a attributeMap=passwd:cn=cn \
     -a attributeMap=passwd:gidnumber=gidNumber \
     -a attributeMap=passwd:uidnumber=uidNumber \
     -a attributeMap=passwd:homedirectory=HomeDirectory \
     -a attributeMap=passwd:unixhomedirectory=unixHomeDirectory \
     -a attributeMap=passwd:loginshell=loginShell \
     -a attributeMap=passwd:gecos=gecos \
     -a attributeMap=shadow:userpassword=unixUserPassword \
     -a objectClassMap=group:posixGroup=group \
     -a objectClassMap=passwd:posixAccount=user \
     -a objectClassMap=shadow:shadowAccount=user \
     -a serviceSearchDescriptor=passwd:dc=mydom,dc=priv?sub \
     -a serviceSearchDescriptor=group:dc=mydom,dc=priv?sub

すべての戻りエラー。良い解決策はstarttlsを使用することですが、私はsaslを使用したいと思います。 ProxyldapユーザーのためにSambaサーバーにサブジェクトを作成しました。

#!/bin/sh
NAME=proxyldap
SERV=ldap
HOST=solaris11
DOMAIN=mydom.priv
samba-tool user delete $NAME
samba-tool user create $NAME 22unix33AA@@@@
net ads enctypes set $NAME 24
samba-tool spn add $SERV/$DOMAIN $NAME
samba-tool spn add $SERV/$HOST.$DOMAIN $NAME
samba-tool domain exportkeytab $HOST.keytab --principal=$SERV/$DOMAIN
samba-tool domain exportkeytab $HOST.keytab --principal=$SERV/$HOST.$DOMAIN

Solarisのkrb5.keytabにタブをコピーしました。

(echo rkt solaris1.keytab; echo wkt /etc/krb5/krb5.keytab )|ktutil
  644  (echo rkt solaris2.keytab; echo wkt /etc/krb5/krb5.keytab )|ktutil

しかし、何も動作しません。はっきりしたり、何もない。私は何を見逃していますか? ATM 私はこの悲しい解決を受け入れます。より良い解決策を知っている人がいる場合は、提案してください。その答えを最終的な解決策として受け入れます。

関連情報