Soru Kimlik doğrulaması için LDAP'yi kullanan Samba bağımsız sunucusu: SID uyuşmazlığı


Yeni samba sunucumu günlerce koşturmaya çalışıyorum ve yanlış yaptığım şeyi anlamaya çalışmaktan bıktım. İşte benim kurulumum:

LDAP'ın SID'sinden türetilen LDAP'de atanmış ve depolanmış bir Kullanıcı SID ve Birincil Grup SID'si ile birlikte LDAP'de saklanan bir unix ve bir samba parolası olan ~ 15 grup ve> 100 kullanıcıyla OpenLDAP 2.4.21 sunucusu Sunucusu.

Şimdi, kullanıcıların kimliğini doğrulamak için LDAP sunucusunu kullanmak için birkaç samba sunucusu kullanmak istiyorum. Samba sunucusu, ldap sunucusunu kullanarak NSS / PAM ile yapılandırılmış bir linux'tur. getent passwd / group tüm kullanıcılar için ssh ve samba makinesine ssh tüm kullanıcılar için çalışır. Şimdi burada smb.conf:

[global]
workgroup = XXXXX
security = user
passdb backend = ldapsam:ldap://myldapserver
ldap suffix = dc=mydomain,dc=com
ldap admin dn = cn=replicator,dc=mydomain,dc=com
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap ssl = start tls

Ldap bağlantısı şöyle çalışır: pdbedit -L gösterileri

pm_process() returned Yes
smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=SAMBAHOSTNAME))]
StartTLS issued: using a TLS connection
smbldap_open_connection: connection opened
ldap_connect_system: successful connection to the LDAP server
The LDAP server is successfully connected
smbldap_search_paged: base => [dc=mydomain,dc=com], filter => [(&(uid=*)(objectclass=sambaSamAccount))],scope => [2], pagesize => [1024]
smbldap_search_paged: search was successful
sid S-1-5-21-[LDAPSID]-5168 does not belong to our domain

ve sonra tüm mesajlar tüm mesajlar için tekrarlanır. kullanma smbclient -L localhost -U someid günlük dosyası diyor ki:

check_ntlm_password:  Checking password for unmapped user [XXX]\[someid]@[SAMBAHOST] with the new password interface
check_ntlm_password:  mapped user is: [SAMBAHOST]\[someid]@[SAMBAHOST]
StartTLS issued: using a TLS connection
smbldap_open_connection: connection opened
ldap_connect_system: successful connection to the LDAP server
The LDAP server is successfully connected
init_sam_from_ldap: Entry found for user: someid
Home server: SAMBAHOST
Home server: SAMBAHOST
init_group_from_ldap: Entry found for group: 1011
init_group_from_ldap: Entry found for group: 1011
Primary group S-1-5-21-[LDAPSID]-1000 for user someid is a UNKNOWN and not a domain group
Forcing Primary Group to 'Domain Users' for someid
ntlm_password_check: Checking NTLMv2 password with domain [CIN]
sam_account_ok: Checking SMB password for user someid
The primary group domain sid(S-1-5-21-[LOCALSID]-513) does not match the domain sid(S-1-5-21-[LDAPSID]) for someid(S-1-5-21-[LDAPSID]-5708)
check_sam_security: make_server_info_sam() failed with 'NT_STATUS_UNSUCCESSFUL'
check_ntlm_password:  Authentication for user [someid] -> [someid] FAILED with error NT_STATUS_UNSUCCESSFUL

Burada gördüğüm şey, samba sunucusunun (LDAP'de var olan bir grup) kullanıcının birincil grubunu tanımıyor olması ve bunun için birincil grubu yerel "Etki Alanı Kullanıcıları" grubuna eşlemesidir. userid. Fakat samba sunucusu grubu neden tanımıyor? Yoksa altta yatan farklı bir sorun var mı?

Şimdiye kadar denedim:

Samba sunucusunun SID'sini LDAP sunucusunun SID'sine değiştirme, ancak net setlocalsid S-... yerel SID'yi değiştirmedi. Hiçbir hata mesajı, sadece başarıyla yürütüldü ancak getlocalsid eski SID'yi döndürdü.

Samba sunucusunun domainsid'inin ldap sunucusunun SID'sine ayarlanması. net setdomainsid S-... başarılı oldu ama samba sunucusu hala kullanıcıların kimliğini doğrulamayı reddediyor.

Sunucuyu etki alanına ekleyerek çalıştı net join XXX ama cevap sadece "bağımsız sunucu etki alanına katılamıyor" idi.

Koşmaya çalıştım smbpasswd -a kullanıcıyı yerel samba db'ye eklemek (bu nihai çözüm için bir seçenek olmasa da, diğer kullanıcıların önerdiği gibi), ancak hata değişmedi.

Samba’ya etki alanı SID uyumsuzluğunu görmezden gelmek ya da samba’yı LDAP’le aynı SID’ye sahip olmaya zorlamaktan nasıl söyleyebilirim? Ya da Samba Server ve sonunda LDAP'ın hepsinin aynı SID'ye sahip olması durumunda bu başka sorunlara neden olur mu?


5
2018-06-13 19:25


Menşei




Cevaplar:


Benzer bir sorunum vardı. Yapmam gereken, LDAP’daki etki alanı, kullanıcı ve grup için sambaSID girişlerini düzenlemekti, böylece sunucumun sahip oldukları ile eşleşiyorlardı. Değilse, sunucunuzdaki Samba günlüğünde aşağıdaki hata mesajını alacaksınız. Bu günlüğü görmek için emin ol log level = 2 senin içinde smb.conf.:

[2015/12/03 14:39:19.753690,  1] ../source3/auth/server_info.c:346(samu_to_SamInfo3)
  The primary group domain sid(S-1-5-21-748580849-194208185-3916830000-513) does not match the domain sid(S-1-5-21-2566626306-4294080665-3504248766) for someuser(S-1-5-21-2566626306-4294080665-3504248766-11678)
[2015/12/03 14:39:19.753733,  0] ../source3/auth/check_samsec.c:492(check_sam_security)
  check_sam_security: make_server_info_sam() failed with 'NT_STATUS_UNSUCCESSFUL'
[2015/12/03 14:39:19.753755,  2] ../source3/auth/auth.c:288(auth_check_ntlm_password)
  check_ntlm_password:  Authentication for user [someuser] -> [bbogaert] FAILED with error NT_STATUS_UNSUCCESSFUL
[2015/12/03 14:39:19.753777,  2] ../auth/gensec/spnego.c:743(gensec_spnego_server_negTokenTarg)
  SPNEGO login failed: NT_STATUS_UNSUCCESSFUL

Sunucunuzda net getdomainsid. Bu geri dönecek localsid ve domainsid. Bu değerler eşleşmeli. Çalışmıyorlarsa net setdomainsid değerine SID for local machine.

root@TheWiggle:~# net getdomainsid
SID for local machine THEWIGGLE is: S-1-5-21-748580849-194208185-3916830000
SID for domain THISDOMAIN is: S-1-5-21-748580849-194208185-3916830000

Şimdi LDAP sunucunuzda değerini al SID for domain ve bu özellik için değer olduğundan emin olun sambaSID için sambaDomainName=THISDOMAIN.

Ayrıca emin olun sambaSID ve sambaPrimaryGroupID Kullanıcıların ve sambaSID grubun SID for domain ve özellik için benzersiz bir değer.

Örneğin sambaSID için someuser olabilir S-1-5-21-748580849-194208185-3916830000-99999ve onların sambaPrimaryGroupID olurdu S-1-5-21-748580849-194208185-3916830000-555. sambaSID grup için olurdu S-1-5-21-748580849-194208185-3916830000-77777

Bu yardımcı olur umarım!!!


3
2017-12-03 22:44