Samba standalone server che utilizza LDAP per l'authentication: SID non corrispondente

Sto cercando di far funzionare il mio nuovo server samba per giorni e comincio a perdere la mia mente a non capire cosa sto facendo male. Ecco il mio setup:

OpenLDAP 2.4.21 server con 15 gruppi e> 100 utenti, tutti dotati di una password unix e una password samba memorizzati nell'LLDAP e un SID utente e un gruppo SID primario assegnato e memorizzato nell'LLDAP derivato dalla SID dell' LDAP Server.

  • Come fare netstat su Linux solo visualizzare connessioni tcp OUTBOUND?
  • Logrotate non rimuove i vecchi registri
  • ionice vs Software-RAID
  • Accesso split Linux (connessioni multiple internet con bilanciamento del carico)
  • Il rilevamento automatico di proxy wpad.example.com non funziona
  • C'è un modo per rendere visibile l'output dello script bash nel browser?
  • Ora voglio utilizzare diversi server samba per utilizzare il server LDAP per autenticare gli utenti. Il server samba è un linux configurato con NSS / PAM utilizzando il server ldap. getent passwd / group restituisce tutti gli utenti e ssh alla macchina samba funziona per tutti gli utenti. Ora ecco l'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 

    La connessione ldap funziona, come mostra pdbedit -L

     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 

    e poi l'ultimo messaggio si ripete per tutti gli uids. Utilizzando smbclient -L localhost -U someid il file di registro dice:

     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 

    Quello che vedo qui è che il server samba non riconosce il gruppo primario dell'utente (che è un gruppo esistente nel LDAP) e pertanto elabora il gruppo primario nel suo gruppo locale "Domain Users" che ovviamente non corrisponde al dominioIDID dell'utilizzatore. Ma perché il server samba non riconosce il gruppo? Oppure c'è un diverso problema sottostante?

    Quello che ho provato finora:

    La modifica del SID del server samba sul SID del server LDAP, ma la net setlocalsid S-... non ha modificato il SID locale. Nessun messaggio di errore, eseguito correttamente ma getlocalsid ha restituito il vecchio SID.

    Impostazione del domainsid del server samba sul SID del server ldap. net setdomainsid S-... è riuscito ma il server samba rifiuta ancora di autenticare gli utenti.

    Abbiamo provato ad aggiungere il server al dominio con net join XXX ma la risposta è stata semplicemente "il server autonomo non può entrare nel dominio".

    Ho provato a eseguire smbpasswd -a per aggiungere l'utente al db samba locale (anche se questo non sarebbe un'opzione per la soluzione finale, ma è quello che gli altri utenti hanno consigliato), ma l'errore non è cambiato.

    Come posso dire a samba di ignorare la mancata corrispondenza SID di dominio o forzare samba per avere lo stesso SID come LDAP? O potrebbe causare altri problemi se ~ 10 Samba Server e LDAP alla fine hanno tutti lo stesso SID?

    One Solution collect form web for “Samba standalone server che utilizza LDAP per l'authentication: SID non corrispondente”

    Ho avuto un problema simile. Quello che wherevo fare era modificare le voci sambaSID per il dominio, l'utente e il gruppo in LDAP in modo che corrispondessero a quello che il mio server aveva. Se non si otterrà il seguente messaggio di errore nel registro Samba nel server. Per vedere questo registro, assicuratevi che il log level = 2 nel tuo 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 

    Sul server esegue net getdomainsid . Ciò restituirà il localsid e il domainsid . Questi valori dovrebbero corrispondere . Se non eseguono net setdomainsid al valore di 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 

    Ora sul tuo server LDAP prendere il valore di SID for domain e assicurati che questo sia il valore per l'attributo sambaSID per sambaDomainName=THISDOMAIN .

    Assicurarsi inoltre che sambaSID e sambaPrimaryGroupID degli utenti e sambaSID del gruppo siano composti dal SID for domain e un valore univoco per l'attributo.

    Ad esempio, il sambaSID per someuser sarebbe S-1-5-21-748580849-194208185-3916830000-99999 e il loro sambaPrimaryGroupID sarebbe S-1-5-21-748580849-194208185-3916830000-555 . Il sambaSID per il gruppo sarebbe S-1-5-21-748580849-194208185-3916830000-77777

    Spero che questo ti aiuti!!!

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.