web-dev-qa-db-ja.com

ldap-Linux smb / cifsサーバー(例:samba)でのsambaSamAccountなしの認証

私は現在、debian/wheezyホストでsamba-3.5.6を実行して、部門のw32クライアントのファイルサーバーとして機能しています。認証はOpenLDAPを介して行われます。ここで、各user-dnには、smb-credentialsを保持するobjectclass:sambaSamAccountと、「通常の」認証用のobjectclass:shadowAccount/posixAccount(pam、Apacheなど)があります。

ここで、部門のuser-dbをダンプし、代わりにアップストリーム組織のuser-dbに対して認証を使用します。これらのユーザーアカウントはnovel-edirectoryで管理されており、これを使用してpamを使用して認証することができます(例:ssh-logins、別のホスト)。私たちのアップストリーム組織は、いくつかのディレクトリへのsmb/cifsベースのアクセス(いくつかのノベルサービスを介して)を提供しています。これは、Linuxクライアントからsmbclientを介してアクセスできます。

私が現在何とかしていないのは、upstream-ldap(eDirectory)を使用して私たちの機関のsambaを認証することです。

アップストリームLDAPサーバーに対して認証するようにsambaサーバーを構成しました。

passdb backend = ldapsam:ldaps://ldap.example.com

しかし、ユーザーを認証しようとすると、次のようになります。

$ smbclient -U USER \\\\SMBSERVER\\test
Enter USER's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
tree connect failed: NT_STATUS_ACCESS_DENIED

ログファイルは次のことを示しています。

[2012/10/02 09:53:47.692987,  0] passdb/secrets.c:350(fetch_ldap_pw)
  fetch_ldap_pw: neither ldap secret retrieved!
[2012/10/02 09:53:47.693131,  0] lib/smbldap.c:1180(smbldap_connect_system)
  ldap_connect_system: Failed to retrieve password from secrets.tdb

私が抱えている2つの問題があります:

  • アップストリームLDAPの管理者パスワードを持っていません(おそらく、管理者パスワードを教えてくれません)。ユーザーを認証したいだけで、書き込みアクセスはまったく必要ありません。私はそれで去ることができますか?

  • アップストリームLDAPには、データベースにSamba関連の属性がありません。 smb/cifsは通常のposixAccountハッシュと互換性のない簡単なハッシュを使用するため、sambaが認証するには、これらの属性が必要であるという印象を受けました。

私の部門のSambaサーバーがそのようなLDAPサーバーに対して認証する方法はありますか?

4
umläute

SambaでLDAPパスワードを設定する必要があります。 (例:admindnがユーザーadmin用の場合)

smbpasswd -w admin
1
Andreas Rehm