Portál AbcLinuxu, 12. května 2025 08:44

Dotaz: samba s LDAP

11.8.2008 12:14 jnovacek | skóre: 22 | blog: NovLin
samba s LDAP
Přečteno: 1354×
Odpovědět | Admin

Dobrý den,
mám problém s přihlášením do Windows XP, kde je nastavena doména na sambu (PDC). Při přihlašování do domény vše proběhne tak jak má. V LDAP se vytvoří účet počítače. Po restartu se však do domény nemohu přihlásit. Dostávám hlášení
"Systém vás nemůže přihlásit, protože doména XY není k dispozici"
Tuší někdo kde dělám chybu?
Předem děkuji Jirka
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.8.2008 12:34 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pravděpodobně Windows nemůžou najít řadič domény.

Nemáte na tom stroji, kde je PDC Samba víc síťových rozhraní pro několik subnetů?

Adresu PDC Windows hledají přes broadcast, WINS (s tím ale nemám dobré zkušenosti), nebo LMHOSTS, terý doporučuji použít - třeba takhle ve formě BAT souboru (stačí spustit jednou, nejlépe před přidáním do domény):
REM vytvoreni noveho lmhosts souboru
echo 192.168.1.5 JMENO_SERVERU_KDE_JE_PDC #PRE #DOM:DOMENA > %systemroot%\system32\drivers\etc\lmhosts
echo 192.168.1.5 "DOMENA         \0x1b" #PRE >> %systemroot%\system32\drivers\etc\lmhosts

REM nucene znovunacteni zaznamu z lmhosts
nbtstat -R
U toho druhého echo je potřeba při změně domény zachovat délku 16 znaků.

Měl jsem hodně velké problémy, pokud přímo na PDC bylo víc interfaců s několika podsítěmi - nefungovalo přihlašování, protože server odpovídal src adresou z jiného subnetu. Bylo potřeba omezit Sambu jen na 1 IP adresu a používat výhradně tu: smb.conf
  interfaces = 192.168.1.0/24 lo
  socket address = 192.168.1.5
Je ale možné, že tohle už je v nových verzích Samby opravené. Tohle se mi stalo na Debianu etch, projevovalo se to jen občas a dlouho jsem nevěděl co s tím.
11.8.2008 12:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: samba s LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podívejte se do logu Samby, zda tam něco nebude. Máte v LDAPu nastavená práva tak, aby uživatel (účet počítače) mohl měnit údaje o sobě (především heslo, ale možná i jiné)?
11.8.2008 12:52 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle je také možné. Mám ale zkušenost, že uživatel nemusí mít LDAP ACL na změnu svého hesla. Veškeré zápisy do LDAPu Samba dělá pod ldap admin dn. A pokud by tento neměl možnost zápisu, tak by se podle mě nepovedlo ani prvotní zařazení do domény.

Každopádně podívat se do logu by měla být první věc.

Je v LDAPu po zařazení PC do domény vytvořený účet název_pc$ včetně Samba parametrů?
11.8.2008 22:43 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
Tak je to úplně nějak divně. Vrtal jsem se tak dlouho v konfiguracích, že se už ani nedostanu do domény. Když chci přidat počítač do domény, tak dostanu hlášení, že "Při pokusu o připojení do doméně XY došlo k následující chybě: Nebylo nalezeno uživatelské jméno". Přitom když se kouknu do LDAP tak tam uživatele mám a co je zajímavé tak se vytvoří i účet počítače. Už jsem z toho nešťastnej. Pokusil jsem se vše udělat úplně od začátku (samba, ldap, účty), ale už jsem se k funkční variantě nedostal. Mužete mi někdo poslat základní konfiguráky samba a ldap včetně struktury v LDAP (třeba ldif). Moc prosím.
Předem děkuji Jirka
11.8.2008 23:35 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Snad to pomůže.

/etc/smb.conf:
[global]

  dos charset = 852
  unix charset = UTF-8
  workgroup = DOMAINNAME

  load printers = no
  printcap name = /dev/null

  server string = %h
  interfaces = 192.168.1.0/24 lo
  socket address = 192.168.1.5
  wins support = no
  name resolve order = dns hosts bcast

  smb ports = 139

  log file = /var/log/samba/log.%m
  log level = 1
  max log size = 1000
  syslog = 0

  security = user
  map to guest = bad user
  encrypt passwords = true

  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

  add machine script = /etc/scripts/ldap-machineadd %u

  logon script = logon.vbs
  logon drive = H:

  ldap suffix = dc=domena,dc=cz
  ldap admin dn = cn=admin,dc=domena,dc=cz
  ldap delete dn = yes
  ldap machine suffix = ou=machines
  ldap group suffix = ou=groups
  ldap user suffix = ou=users
  ldap idmap suffix = ou=idmap # nevyuziva se
  ldap passwd sync = yes
  passdb backend = ldapsam:ldap://localhost

  domain master = yes
  domain logons = yes
  local master = yes
  os level = 128

  enable privileges = yes
  inherit acls = yes

[homes]
   browseable = no
   writable = yes
   valid users = %S
   create mask = 0711
   directory mask = 2711
   inherit permissions = yes
   map hidden = yes
   map system = yes
   csc policy = disable

[netlogon]
   path = /home/netlogon
   guest ok = yes
   writable = yes
   create mask = 0775
   directory mask = 2775
   map hidden = yes
   map system = yes
Relevantní části /etc/ldap/slapd.conf:
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/samba.schema

suffix          "dc=domena,dc=cz"

access to attrs=userPassword
        by dn="cn=admin,dc=spsostrov,dc=cz" write
        by anonymous auth
        by self write
        by * none

access to attrs=sambaLMPassword,sambaNTPassword
        by dn="cn=admin,dc=spsostrov,dc=cz" write
        by * none

access to *
        by dn="cn=admin,dc=spsostrov,dc=cz" write
        by * read
Náznak struktury LDAPu:
dn: dc=domena,dc=cz
objectClass: top
objectClass: dcObject
objectClass: organization
o: domena.cz
dc: domena

dn: cn=admin,dc=domena,dc=cz
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: xxx=

dn: ou=users,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users

dn: ou=machines,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users
12.8.2008 12:23 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: samba s LDAP
Jestli bych se mohl připojit k dotazu, ten /etc/scripts/ldap-machineadd je vlastní nebo odněkud? (Zajímalo by mě, co je v něm)
Quando omni flunkus moritati
12.8.2008 15:03 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Ten je vlastní. Obecně v návodech bývají využity perl skripty od IDEALX: smbldap-tools, ale s těmi jsem měl kdysi nějaké potíže tak jsem se inspiroval skripty odtud:

http://ldap.zdenda.com/

trochu jsem je přepsal pro svoje potřeby a nad nimi mám ještě webové rozhraní.

Skript pro přidání účtu PC končí takhle:
# Finally insert all into LDAP as LDIF structure
printf "dn: uid=${LD_LOGIN},ou=machines,${LDAPBASEDN}
uid: ${LD_LOGIN}
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
uidNumber: ${NEWUID}
gidNumber: ${LDAPMACHINEGID}
loginShell: /bin/false
homeDirectory: /dev/null
cn: ${LD_LOGIN}
sn: ${LD_LOGIN}
" | ldapadd -h "${LDAPHOST}" -x -D "${LDAPADMIN}" -w "${LDAPPASS}" 
Skript tedy vytvoří jen UNIX účet s názvem podle předaného parametru a ostatní parametry, jako třeba machine heslo, si už Samba zařídí.
12.8.2008 15:48 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: samba s LDAP
Díky
Quando omni flunkus moritati
13.8.2008 15:49 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Školácký dotaz.
Jsem nějak omezován při nastavování jména domény a netbios name v smb.config? Mají něco společného s vlastním jménem počítače a domény nastavované v konfiguraci sítě? Mohou být stejná a nebo naopak musí být různá. Je to drobnost, ale nikde jsem na toto odpověď nenašel.
Předem děkuji Jirka
13.8.2008 17:58 misace2
Rozbalit Rozbalit vše Re: samba s LDAP
Myslím, že společnýho nemají nic, jistě to říct nemůžu, ale já mám na PDC oboje jiný a funguje to jak má.
14.8.2008 22:53 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak ještě pořád bojuji a mám dotaz ohledně následujícího. Po zadání příkazu net groupmap list se má zobrazit něco takovéhoto:
Domain Admins (S-1-5-21-xxx-512) -> Domain Admins
Domain Users (S-1-5-21-xxx-513) -> Domain Users
Domain Guests (S-1-5-21-xxx-514) -> Domain Guests
Domain Computers (S-1-5-21-xxx-515) -> Domain Computers
Administrators (S-1-5-21-xxx-544) -> Administrators
Account Operators (S-1-5-21-xxx-548) -> Account Operators
Print Operators (S-1-5-21-xxx-550) -> Print Operators
Backup Operators (S-1-5-21-xxx-551) -> Backup Operators
Replicators (S-1-5-21-xxx-552) -> Replicators
nebo to mám mít namapované na unixové skupiny třeba pomocí tohoto:
#Map Windows Domain Groups to Unixgroups
net groupmap add rid=512 unixgroup=root type=d ntgroup="Domain Admins"
net groupmap add rid=513 unixgroup=users type=d ntgroup="Domain Users"
net groupmap add rid=514 unixgroup=nobody type=d ntgroup="Domain Guests"

#Map Windows XP local groups to local UNIX groups
net groupmap add rid=544 unixgroup=root type=l ntgroup="Administrators"
net groupmap add rid=545 unixgroup=users type=l ntgroup="Users"
net groupmap add rid=546 unixgroup=nobody type=l ntgroup="Guests"
net groupmap add rid=549 unixgroup=daemon type=l ntgroup="System Operators"
net groupmap add rid=548 unixgroup=wheel type=l ntgroup="Account Operators"
net groupmap add rid=551 unixgroup=bin type=l ntgroup="Backup Operators"
net groupmap add rid=550 unixgroup=lp type=l ntgroup="Print Operators"
net groupmap add rid=552 unixgroup=kmem type=l ntgroup="Replicators"
net groupmap add rid=547 unixgroup=ntadmin type=l ntgroup="Power Users"

V případě, že to mám přemapovat, tak doménové nejdou. Obdržím následující hlášku:
adding entry for group Domain Admins failed
Netušíte kde je problém?
Předem děkuji
14.8.2008 23:14 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Mapování speciálních skupin jsem nastavoval přímo v LDAPu, třeba takhle je unix skupina ntadmins mapovaná na Domain Admins:
dn: cn=ntadmins,ou=groups,dc=domena,dc=cz
objectClass: posixGroup
objectClass: top
objectClass: sambaGroupMapping
cn: ntadmins
sambaGroupType: 5
displayName: ntadmins
sambaSID: S-1-5-21-xxx-xxx-xxx-512
gidNumber: 1100
Někdy se uvádí, že je potřeba explicitně definovat mapování Domain Users a dalších. Mě to bez problémů funguje pouze s tou skupinou Domain Admins, k tomu samozřejmě ostatní uživatelské skupiny.

Běžné skupiny je potřeba mít nejprve vytvořené v LDAPu jen jako posixGroup a pak funguje:
net groupmap add unixgroup=nejakaskupina ntgroup=nejakaskupina type=d
tedy bez uvedení rid.
14.8.2008 23:25 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Teď mě ještě napadlo: Jsou ty unix skupiny, které chcete mapovat v LDAPu? Je možné nastavovat mapování jen pro skupiny v LDAPu, protože tam se zapisují atributy zajišťující mapování.
15.8.2008 17:43 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
nejsou, jak je tam dostanu.
15.8.2008 19:03 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
LDAP kromě uživatelů umožňuje udržovat i skupiny.

Dostanete je tam nějakým LDAP editorem (některé editory umí vytvářet základní objekty, jako třeba posixGroup, přes "průvodce"), nebo přímo jako LDIF. Nedoporučuji vytvářet v LDAPu stejné skupiny jako v /etc/group (tedy dávat tam skupinu root, nogroup ap.). Vytvořte si v LDAPu třeba takovouhle skupinu:
dn: cn=ntadmins,ou=groups,dc=domena,dc=cz
objectClass: posixGroup
objectClass: top
cn: ntadmins
gidNumber: 1100
Skupiny, které jsou v LDAPu, normálně fungují v Linuxu (getent group). Pro ně lze pak už nastavit Samba mapování. (Samozřejmě je třeba mít správně nastavený nsswitch, ale to snad máte.)
16.8.2008 16:24 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
při přidávání PC do domény vše proběhne tak jak má - zeptá se na jméno i heslo a počítač se přihlásí do domény. Po restartu se do domémy nedostanu. Dostanu hlášení "Systém vás nemůže přihlásit, protože doména XY není k dispozici." Počítač je v doméně na serveru přidán. Co mohu dělat špatně.
16.8.2008 16:50 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Viz můj první přízpěvek, máte nastaven ten LMHOSTS?
16.8.2008 20:10 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
mám, ale nepomohlo to.
16.8.2008 20:16 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Tak to už netuším, co může být špatně.

Dejte sem:

- výpis nbtstat -c z toho PC s Windows

- celý smb.conf

- není na serveru více síťových rozhraní?
16.8.2008 23:08 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
tak jsem hledal v logu a našel toto
...
[2008/08/16 22:31:37, 0] lib/fault.c:fault_report(41)
INTERNAL ERROR: Signal 6 in pid 6285 (3.2.0rc1-22.1-1795-SUSE-SL11.0)
Please read the Trouble-Shooting section of the Samba3-HOWTO
...
pomocí googlu jsem našel odkaz na
http://www.nabble.com/Winbind-panic---bug--5551-not-completely-solved-in-version-3.0.31--td18590306.html
a tam jsem pokračoval na:
http://git.samba.org/?p=samba.git;a=commitdiff;h=8691709626
Co mám stáhnout a jak ten diff aplikovan netuším. Ještě jsem to nikdy nedělal. Prosím o radu co mám stáhnout a jak to mám spustit
Jinak výpis nbtstat -c je tady
Připojení k místní síti:
Adresa IP uzlu: [10.0.0.160] ID oboru: []

Název vzdálené paměti NetBIOS Tabulka

Název Typ Adr. hostitele Životnost [sek]
----------------------------------------------------------------
SPSTL <1C> SKUPINA 10.0.0.1 -1
SPSTL <1B> JEDINEČNÉ 10.0.0.1 -1
A01 <03> JEDINEČNÉ 10.0.0.1 -1
A01 <00> JEDINEČNÉ 10.0.0.1 -1
A01 <20> JEDINEČNÉ 10.0.0.1 -1
16.8.2008 23:11 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
Nejhorší na tom je, že na začátku to vše fungovalo včetně cestovních profilů, ale přihlašování a první zobrazení disku bylo na kávu. Tak jsem smazal (nezazálohoval) konfiguráky a začal znova. A dopadlo to takhle.
16.8.2008 23:33 VSi | skóre: 28
Rozbalit Rozbalit vše Re: samba s LDAP
Jakou tam máte distribuci? Není tam nějaká stará verze Samby s takovouhle chybou?

Do toho patchování bych se asi nepouštěl, přijde mi to jako cesta do pekla. Spíš bych se snažil najít balíček, kde je to opravené (novější, nebo možná i starší verze).

Ten výpis je v pořádku.
17.8.2008 00:17 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
z předchozího výpisu
3.2.0rc1-22.1-1795-SUSE-SL11.0

samba 3.2.0-22.11
openSUSE 11 s KDE 3x
na samba.org jsem našel stable 3.2.1 tak to vyzkouším.
18.8.2008 21:06 jnovacek | skóre: 22 | blog: NovLin
Rozbalit Rozbalit vše Re: samba s LDAP
Tak vše je úplně jinak. Dnes jsem stáhnul nejposlednější stable balíčky z hluboka se nadech a stejně nic. Tak jsem se chtěl jit op.., ale smazal jsem opět celou konfiguraci a začal znova. Na první pokus vše jelo. Tak jsem začal zjišťovat rozdíly a jediný rozdíl je v
povolení wins supports = Yes
Takže chyba byla mezi klávesnicí a židlí.
Všem děkuji za trpělivost s takovým nemehlem.
S přáním pěkného dne Jirka
16.8.2008 21:22 timeos | skóre: 32
Rozbalit Rozbalit vše Re: samba s LDAP

Mne robila samba presne to iste. Stanicu som do domeny pripojil, ale po restarte pisalo, ze domena je nedostupna. Zacalo to robit odkedy som upgradol fedoru 8 na deviatku, kde bola samba v nejakej pre-release verzii (3.2.0-pre4 tusim). Nepomohol som si stym nijak, lebo do upgradu to slapalo bezchybne a na chybu som neprisiel. V logoch nic smerodatne. Mne to pripadalo na chybny wins server, lebo nmb tusim pisal v logoch nieco v zmysle "bad packet received". Tak som bol nuteny spravit downgrade.

Preto neviem, ci s novou verziou (3.2) sa nejak zmenila funkcnost, alebo to bola vada len danej pre-release verzie. Pozeral som vtedy aj bugzillu na redhate ale nik podobne problemy ako ja nehlasil. Doteraz stale fungujem na fedore osmicke (samba 3.0.30) a s funkcnostou ziadne problemy.

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.