読み取り専用 LDAP を使用した Samba 認証

読み取り専用 LDAP を使用した Samba 認証

OpenLDAPさまざまな認証サービスに使用される読み取り専用サーバーがあります。現在samba、バックアップ用のストレージ スペースとしてのみ使用される (スタンドアロン) サーバーをそのリストに追加しようとしています。基本的なユーザー名/パスワード認証以外は何も必要ありません。

膨大な数のチュートリアルやハウツーはすべて、LDAPフルアクセスを持つ新しく構成されたサーバーを前提としています。サーバーの管理者資格情報を持っており、サーバーにはすべてのユーザーと入力済みの samba スキームがすでに含まれていますが、サーバーはLDAP読み取り専用のミラーにすぎません。

現在私の設定は...

# LDAP Settings
   passdb backend = ldapsam:ldap://192.168.100.11
   ldap suffix = dc=our-domain,dc=de
   ldap user suffix = ou=people
   ldap admin dn = cn=adminacc,ou=daemonadmins,dc=our-domain,dc=de
   ldap ssl = no
   ldap passwd sync = yes

...失敗します:

smbd version 4.2.14-Debian started.
  Copyright Andrew Tridgell and the Samba Team 1992-2014
[2017/01/13 12:52:49.367065,  0] ../source3/passdb/pdb_ldap_util.c:313(smbldap_search_domain_info)
  smbldap_search_domain_info: Adding domain info for SBACKUP failed with NT_STATUS_UNSUCCESSFUL
[2017/01/13 12:52:49.367106,  0] ../source3/passdb/pdb_ldap.c:6534(pdb_ldapsam_init_common)
  pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it.
[2017/01/13 12:52:49.367116,  0] ../source3/passdb/pdb_interface.c:179(make_pdb_method_name)
  pdb backend ldapsam:ldap://192.168.100.11 did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO)

もちろん、これは驚くことではありません。このサーバーは に認識されておらずLDAP、読み取り専用であるため、新しいエントリを作成することはできません。そもそもマシンに関する情報を追加する必要がある理由がわかりません。 への読み取り専用アクセスに対処するために、smb を構成する必要がある特定の方法がありますかLDAP?

netbios name明示的に をサーバーsmb.conf上の既存のエントリと一致するように設定すれば、LDAPすべて正常に動作します。しかし、これはハックのように感じられ、変更したくないのです。netbios name


これは、これ残念ながら、これは読み取り専用サーバーの使用の可能性のみをカバーしており、その実装についてはカバーしていません。

答え1

sambaLDAPドメインが機能するために本当に必要なマシン、信頼アカウント、および少数のローカル ユーザー (admin、nobody、ドメイン管理者などのグループ) を追加/変更するには、読み取り/書き込み可能にする必要があります。

回避策は、OpenLDAP を samba PDC にインストールし、ou=peopleマスターからLDAP読み取り専用で複製されたブランチ ( とします) を用意し、オーバーレイを使用して、ブランチ(ローカル ユーザー)、、 (説明不要)glueを含む読み取り/書き込みツリーの下にこのブランチを適用します。ou=usersou=groupsou=computers

ldap machine suffix = ou=computers
ldap suffix = dc=our-domain,dc=de
# do not set the following; OpenLDAP is
#  able to sort out if a user is a replicated user in 'ou=people'
#  or a local user in 'ou=users'
# ldap group suffix = ou=groups
# ldap user suffix = ou=people

関連情報