Portál AbcLinuxu, 4. května 2025 02:12

Dotaz: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD

8.8.2017 14:18 Martin H. | skóre: 27 | blog: linservis | Brno
Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Přečteno: 1040×
Odpovědět | Admin
Mám openSuSE Leap 42.2 a Sambu. Pokouším se vytvořit server jako člena domény AD Windows 2008R2, ale nedaří se mi to zprovoznit. Už několik dní procházím různé rady a pořád nic.

Stav:
- Samba je členem domény: wbinfo -u a wbinfo -g vypisuje uživatele a skupiny.
- v logu Could not get unix ID for SID ... moje SID z Windows AD
- nsswitch nastaven podle návodu
- krb5 nastaven podle návodu
- smb.conf nastaven podle návodu
- všechny návody z Wiki Samby.
- DNS nastaveny podle Samba wiki
getent passwd vrací jen lokální uživatele (rady na různých webech neppomáhají). getent passd domena\user nevrací nic

Všechny další rady se už jen opakují a nevedou k cíli.

Nemá někdo tušení, kde by mohla být chyba?

Případně nějaký odzkoušený smb.conf?
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.8.2017 14:35 MadCatX
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak máš nastavený ten nsswitch? Běží ti winbindd? Funkční config klidně dodám.
8.8.2017 20:27 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
# /etc/nsswitch.conf
passwd:		compat winbind
shadow:		compat
group:		compat winbind

hosts:		files dns wins
networks:	files

services:	files
protocols:	files
rpc:		files
ethers:		files
netmasks:	files
netgroup:	files
publickey:	files

bootparams:	files
automount:	files nis
aliases:	files

Ano winbindd běží: wbinfo -u vypíše všechny uživatele z AD

Když dám do smb.conf: winbind use default domain = yes, tak vypíše jen uživatele (someuser). Když dám no, vypíše uživatele i s doménou INDOM\someuser

/etc/krb5.conf

[libdefaults]
	default_realm = INDOM.DOMAIN.CZ
	dns_lookup_realm = false
	dns_lookup_kdc = true
	ticket_lifetime = 600
	renew_lifetime = 7d
	forwardable = true

[realms]
	BRNO.DOMAIN.CZ = {
                kdc = pdc.indom.domain.cz
                kdc = bdc.indom.domain.cz
		default_domain = indom.domain.cz
	}
[domain_realm]
    .indom.domain.cz = INDOM.DOMAIN.CZ
    indom.domain.cz = INDOM.DOMAIN.CZ
    .INDOM.DOMAIN.CZ = INDOM.DOMAIN.CZ
    INDOM.DOMAIN.CZ = INDOM.DOMAIN.CZ
    
[logging]
    kdc = FILE:/var/log/krb5/krb5kdc.log
    admin_server = FILE:/var/log/krb5/kadmind.log
    default = SYSLOG:NOTICE:DAEMON
Pokud by bylo možné dodat funkční smb.conf, moc by to pomohlo ... ještě snad proměnné winbind v smb.conf
#--- For the BUILTIN  accounts ---
	idmap config *:range = 10000-3001000
	idmap config *:backend = tdb
#--- For the AD Domain ---
	idmap config INDOM:backend = ad
	idmap config INDOM:range = 2000-9999
	#idmap config INDOM:range = 500-4000
	idmap config INDOM:schema_mode = rfc2307

#--- Settings for winbind
	winbind nss info = rfc2307
	winbind trusted domains only = no
	winbind use default domain = yes
	winbind enum users = yes
	winbind enum groups = yes
	winbind nested groups = yes
	winbind cache time = 10
A co je v LOGu (a co mi nejde opravit, ať googluju, jak googluju):
[2017/08/08 14:13:00.007874,  3] ../auth/kerberos/kerberos_pac.c:453(kerberos_decode_pac)
  Found account name from PAC: someuser [Some User]
[2017/08/08 14:13:00.007907,  3] ../source3/auth/user_krb5.c:51(get_user_from_kerberos_info)
  Kerberos ticket principal name is [someuser@INDOM.DOMAIN.CZ]
[2017/08/08 14:13:00.007940,  4] ../source3/auth/user_util.c:362(map_username)
  Scanning username map /etc/samba/user.map
[2017/08/08 14:13:00.009710,  3] ../source3/auth/user_krb5.c:164(get_user_from_kerberos_info)
  get_user_from_kerberos_info: Username INDOM\someuser is invalid on this system
[2017/08/08 14:13:00.009763,  3] ../source3/auth/auth_generic.c:145(auth3_generate_session_info_pac)
  auth3_generate_session_info_pac: Failed to map kerberos principal to system user (NT_STATUS_LOGON_FAILURE)
[2017/08/08 14:13:00.009840,  3] ../source3/smbd/smb2_server.c:3098(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_ACCESS_DENIED] || at ../source3/smbd/smb2_sesssetup.c:134
[2017/08/08 14:13:00.010770,  4] ../source3/smbd/sec_ctx.c:321(set_sec_ctx_internal)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2017/08/08 14:13:00.010809,  4] ../source3/smbd/sec_ctx.c:321(set_sec_ctx_internal)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2017/08/08 14:13:00.010825,  4] ../source3/smbd/sec_ctx.c:321(set_sec_ctx_internal)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2017/08/08 14:13:00.010840,  4] ../source3/smbd/sec_ctx.c:321(set_sec_ctx_internal)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2017/08/08 14:13:00.011024,  3] ../source3/smbd/server_exit.c:246(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)

To tučně zvýrazněné jsem hledal v google naposledy a žádná rada nepomohla. Stále stejný stav.

PS: doména a uživatel je samozřejmě v reálu jiný. Tady jsem nahradil jsem doménu a uživatele jiným názvem.
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
8.8.2017 21:34 MadCatX
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Můj config je asi o trochu jednodušší, snad ti to k něčemu bude. Snad jsem při tom odstraňování irelevantních částí nesmazal něco důležitého.
  • /etc/nsswitch.conf
    passwd:     files winbind
    shadow:     files winbind
    group:      files winbind
    
    hosts:      files dns wins myhostname
    
    bootparams: nisplus [NOTFOUND=return] files
    
    ethers:     files
    netmasks:   files
    networks:   files
    protocols:  files
    rpc:        files
    services:   files
    
    netgroup:   files
    
    publickey:  nisplus
    
    automount:  files
    aliases:    files nisplus
    
  • /etc/krb5.conf
    includedir /var/lib/sss/pubconf/krb5.include.d/
    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     dns_lookup_realm = true
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
     rdns = false
     default_ccache_name = KEYRING:persistent:%{uid}
    
     default_realm = FAKE.BLONDE.CZ
     dns_lookup_kdc = true
    [realms]
     FAKE.BLONDE.CZ = {
     }
    
    [domain_realm]
     fake.blonde.cz = FAKE.BLONDE.CZ
     .fake.blonde.cz = FAKE.BLONDE.CZ
    
  • /etc/samba/smb.conf
    [global]
            vfs objects = acl_xattr
            map acl inherit = yes
            store dos attributes = yes
            inherit acls = yes
            acl group control = yes
    
            workgroup = UNKW
    
            netbios name = ECT228-SRV
    
            log file = /var/log/samba/log.%m
            max log size = 5000
    
            security = ads
            realm = UNKW.FAKE.BLONDE.CZ
            preferred master = no
    
            idmap config * : backend = rid
            idmap config * : range = 50000-150000
    
            winbind enum groups = yes
            winbind enum users = yes
            winbind use default domain = yes
            winbind refresh tickets = yes
            winbind offline logon = no
            winbind cache time = 300
            winbind separator = +
            wins proxy = no
            dns proxy = no
    
            template shell = /bin/bash
            template homedir = /mnt/storage/home/%U
    
            smb encrypt = auto
            client signing = mandatory
            server signing = mandatory
    
            load printers = no
            cups options = raw
    
9.8.2017 12:39 kami
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Zdravim,

jak se divam na ten konfig nsswitch.conf, vzpomel jsem si na radu na ofic wiki:
Do not add the winbind entry to the NSS shadow database. This can cause the wbinfo utility fail.
https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member

jen pro info
9.8.2017 16:16 MadCatX
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Zajímavé, je fakt, že winbind pro shadow je asi nesmysl. Díky...
8.8.2017 15:33 MP
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Odpovědět | | Sbalit | Link | Blokovat | Admin
A jses si jisty, ze to vubec umi ukazovat, uz si to nevybavim, ale od urcite verze neceho to bylo by default nezobrazovane.
8.8.2017 16:26 MadCatX
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Mně na CentOSu 7 getent passwd doménové uživatele zobrazí.
8.8.2017 16:31 komodo | skóre: 27 | blog: komodo
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podival bych se na parametr

winbind enum users

8.8.2017 20:28 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Nastaveno na yes ...
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
9.8.2017 09:25 Lukas. H
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, uživatelé musí mít na DC nastavené UID a jejich primární skupina GID. Je UID uživatelů na DC opravdu v rozsahu 2000-9999? U mě začíná na 10000.
9.8.2017 10:54 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Vcházím z howto na wiki.samba.org

Mj, když se podívám na uživatele ve Windows serveru přes Editor atributů, žádné UID není nastaveno

V LOGulog.winbindd-idmap je: Could not get unix ID for SID S-1-5- ....-1121, což je SID mého loginu.

Když zadám getent groups "Domain Users", tak v LOGU je Could not get unix ID for SID S-1-5- ....-513, což je SID pro Domain Users.

Snažím se hledat, co způsobuje tuto chybu a zatím nic nepomáhá.

Pro úplnost: openSuSE Leap 42.2, Samba 4.4.2-11.9.1.3764 a Windows server 2008 R2

--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
9.8.2017 11:20 Lukas. H
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Při použití idmap config INDOM:backend = ad, ale uid a gid musí být nastaveny - Users must have at least the uidNumber and groups the gidNumber attribute set. When using the rfc2307 winbind NSS info mode, user accounts must also have the loginShell, unixHomeDirectory and primaryGroupID set. Takže je buď nastavit a změnit rozsah INDOM:range. Nebo je možné použít INDOM:backend = rid (nezkoušel jsem)
9.8.2017 12:12 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Jj, díky. Přesně na to jsem došel před chvílí během vyhledávání ... zkusil jsem nastavit gUidnumber a jede to. Nevím, proč ve Windows u uživatelů ty hodnoty nejsou, jestli je to tím, že původní úroveňd domény byla Windows 2003R2 a následně byla povýšena jen se nic nedoplnilo ... ale nejsou tam.

Zkusím RID.

V principu je mým cílem, aby Samba byla úložištěm dokumentů, kam budou smět uživatelé podle oprávnění v AD Windows serveru. A nechci replikovat uživatelské účty. Našel jsem jakousi možnost přes winbind kopírovat data z AD do passwd, ale nezkoušel jsem to.

Díky za rady, budu zkoušet dál a uvidíme jak to dopadne.
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
9.8.2017 12:28 kami
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevim jak v openSuSE, ale na Ubuntu 14.04 jsem musel doinstalovat libnss-winbind...

wbinfo slo, ale getent az teprve po doinstalovani

presneji "getent passwd" mi stale vraci jen lokalni uzivatele (asi to nevadi), ale kdyz dam napr. getent group "DOMENA\\Domain Users", tak mi vrati uzivatele z domeny ...

https://wiki.samba.org/index.php/Libnss_winbind_Links
9.8.2017 16:13 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Jj, děkuji za info. Projel jsem si linky a existují.

Ale problém je evidentně asi v tom, že ve Windows není gUIDNumber - nevím proč. Když ho doplním ručně, tak to funguje.

Nicméně nelíbí se mi to, rád bych, aby se mapovaly SID na ID Unix - a to nejde. Budu pátrat dál. Nějak to jít musí.
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
10.8.2017 07:32 kami
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
je pravda, ze nepouzivam rfc2307, resp. backand ad, protoze nevyhody:

https://wiki.samba.org/index.php/Idmap_config_ad
Disadvantages:
  • If the Windows Active Directory Users and Computers (ADUC) program is not used, you have to manual track ID values to avoid duplicates.
  • The values for the RFC2307 attributes must be set manually.
pak jeste poznamka s win 10:

https://wiki.samba.org/index.php/Installing_RSAT
Missing Unix Attributes tab in ADUC on Windows 10 and Windows Server 2016
Nevim, jestli jsem to pochopil spravne, jestli je opravdu u "ad" potreba rucne udrzovat cislovani uid guid... ale me to odradilo a pouzivam backend=rid...
Řešení 1× (Martin H. (tazatel))
10.8.2017 11:02 Martin H. | skóre: 27 | blog: linservis | Brno
Rozbalit Rozbalit vše Re: Samba 4 jako člen AD - nefunguje překlad uživatelů z AD
Souhlasím, zadávat ručně gUIDNumber do AD je blbost. Včera jsem ještě googlil přímo winbind a našel jsem možnost backend = autorid

To je přesně ono, mapuje automaticky SID na UID a je jednodušší na správu než backend=rid

Zdroj: https://www.samba.org/samba/docs/man/manpages/idmap_autorid.8.html

Konečně to chodí, teď ještě ladím Sambu, aby to nemělo prodlevy. Protože winbind cache je bezva, přímé dotazy do AD a překlad má časovou prodlevu cca 2-3 vteřiny.

Všem zúčastněným děkuji za pomoc.
--- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.