Portál AbcLinuxu, 14. května 2025 00:54

Dotaz: Samba - manuální přidávání uživatelů a volba SID

5.7.2010 13:34 salam
Samba - manuální přidávání uživatelů a volba SID
Přečteno: 775×
Odpovědět | Admin
Ahoj. Mám uživatele domény nt4 v sambě v ldapu, mají tam atributy sid a uid. Uživatele přidávám pomocí LAM nebo smbpasswd a jejich SID=DOMENA-(UID+-1). Podle čeho tyto nástroje a vlastně i samba počítá SID a kdybych chtěl přidávat uživatele manuálně jak mám zjistit potřebné SID? Manuálové stránky samby uvádějí něco o algoritmickém počítání sid pomocí rid base, ale to se tady evidentně nekoná a další dokumentace taky uvádějí samé nesmysly. Nemám se čeho chytit. Jak to tedy počítat?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.7.2010 14:40 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja mam rucne spravene mapovanie user sid=domainsid-uidnumber. Mam to tak hlavne kvoli prehladnosti a tomu, ze aplikaciu na pridavanie/editovanie userov som si robil sam na kolene. Ako by sa to malo mapovat je napr popisane v help stranke k skriptu smbldap-useradd (sucastou smbldap-tools).
5.7.2010 16:01 salam
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Tak to právě není. To co mi vytvářel nástroj z smbldap-tools je např. uživatel pokud má UID 1005 a SID 1006, což rozhodně neodpovídá tomu co tam mají popsané. Já jsem si taky myslel, že bych si to mapoval jako sid-domain-uid a u skupin jako sid=domain-gid, ale někde jsem narazil na varování, že by to mohlo způsobovat potíže. Ale to varování zase bylo u samba 3.0.x, prostě veškerá ta dokumentace je dost stará. Jsou s tím mapováním "user sid=domainsid-uidnumber" nějaké problémy, dá se použít i u vlastních skupin?
5.7.2010 16:21 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
keby som s tym mal akekolvek problemy, tak by som to nepouzival. ale funguje to spolahlivo. to, ako sa to bude v skutocnosti mapovat je podla mna jedno, dolezite je, aby sa niektore identifikatory neprekryvali s inymi usermi/skupinami. co si vsak pamatam na dobu, kedy som na to pouzival tamtie vzorce (sambarid=2*uidNumber+1000) tak to tusim sedelo (v konecnom dosledku nic vam nebrani sa pozret priamo do toho skriptu a uvidite, ze naozaj sa pri RIDe taky vzorec pouzije). ja riesim cislovanie skupin od 1000 vyssie a cislovanie userov od 10000 vyssie a tomu odpovedaju aj SIDy.
5.7.2010 22:39 salam
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Je potřeba řešit resetování SID/UID? Jde o to, že UID je 32bitové číslo, takže max. hodnota je 4294967295, jak je to se SID číslem resp. s tím posledním za pomlčkou(s tím RID), jak to může být velké?
5.7.2010 22:46 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID

Podla vsetkeho to nieje nejak obmedzovane. Z materialov od M$ zacitujem:

Maximum Number of Security Identifiers

There is a limit of approximately 1 billion security identifiers (SIDs) over the
 life of a domain. This limit is due to the size of the global relative identifier 
(RID) pool of 30 bits that makes each SID (that is assigned to user, group, and 
computer accounts) in a domain unique. The actual limit is 230 or 1,073,741,823 
RIDs. Because RIDs are not reused—even if security principals are deleted—the 
maximum limit applies, even if there are less than 1 billion security principals in 
the domain.

Podobne to bude platit aj pre sambu a logicky aj na klientske masiny, ktore ich pouziju pri mapovani prav nad subormi.

6.7.2010 02:32 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Už jsme to asi řešili nedávno v tady diskusi o Sambě. Podíval jsem se na to, a je celé dost chaotické. Zkusím to nějak shrnout.

Historicky Samba používala algoritmické mapování, v smb.conf býval parametr algorithmic rid base, výhozí hodnota byla 1000. Vypadalo to asi tak: USER_SID = RID_BASE + 2*UID, GROUP_SID = RID_BASE + 1 + 2*GID (jde o tu koncovou část dlouhého SIDu). Výhoda byla, že SIDy nemusely být nikde uložené a mohly se obousměrně vypočítat vždy znovu (v té době se obvykle používal primitivní /etc/smbpasswd).

Později se přešlo na jiná úložiště (tdabsam, LDAP) kde jsou SIDy uložené přímo, takže se SID vygeneroval při přidání uživatele/skupiny do databáze Samby a později se už používal ten uložený. A tady nastává jeden z problémů - jsou na to různé nástroje jako smbpasswd, pdbedit, smbldap-tools, a jiné). Každý ten nástroj funguje trochu jinak a generuje SIDy po svém.

Já jsem vždy, i po přechosu na LDAP, nechával SIDy na automatické volbě. Uživatele a skupiny v LDAPu vždy založím bez Samba atributů (tj. i bez SIDu) importem LDIFu, který mi generuje shell skript. Pak zavolám smbpasswd -a resp. net groupmap add.

Na Debianu Etch (už dost stará Samba 3.0.24) s LDAPem pozoruju asi takové chování:

- v LDAP objektu domény je parametr nextRid, který začal na hodnotě 1000, a postupně se zvyšuje. Tomu odpovdají SIDy skupin přidaných přes net groupmap. Jsou to lichá i sudá čísla narůstající s novými skupinami. Tady se algoritmické mapování nekoná.

- pak je tam nextUserRid, který mám pořád 1000, a to se tam účty přidávají hodně často. U uživatelů SIDy odpovídají tomu algoritmickému mapování, co jsem popsal výše. Tj. jsou to jen sudá čísla. Toto chování přisuzuji použití "legacy" nástroje smbpasswd. Možná novější verze Samby toto dělá jinak.

Takže je vidět, že tu mám potenciální problém, že se mi "potkají" SIDy skupin a uživatelů. Ale vzhledem k tomu, že UID uživatelů volím od 10000 výše, tj. SID od 21000, a SID skupin je teď u poslední asi 1300, není co řešit! Ještě se mi to komplikuje tím, že některé skupiny přidávám přes LDAP Admin, který Samba atributy do LDAPu generuje sám. Ale tady SID skupin volí algoritmicky jako lichá čísla, takže OK.

Pokud s tím chcš pohnout, tak doporučuju zkusit v LDAPu založit pár skupin a uživatelů bez LDAP atributů. Pak použít ty smbpasswd -a resp. net groupmap add a nechat je, ať zvolí SID automaticky (tyto nástroje samy rozšíří u LDAP záznamů schema o Samba atributy). Pak se podívat do LDAPu jak to dopadlo.

Ještě se můžeš podívat dovnitř smbldap-tools, jak to řeší (jsou to perl skripty). Pokud vím, tak tam přímo zapisují Samba atributy do LDAPu, a nepoužívají třeba net groupmap.

Závěr je, že každý nástroj si volí SID po svém. Ty jen musíš zajistit, aby nevznikaly kolize SIDů mezi uživateli a skupinami. To nejlíp uděláš tak, že na správu uživatelů/skupin budeš používat jen nástroje, u kterých víš jak fungují, a víš že ve výsledku ke kolizi nedojde.

Při psaní vlastního nástroje bych stejně nedoporučil SID do LDAPu zapisovat přímo. Protože do toho LDAPu musíš kvůli Smambě zapsat mnohem víc věcí, a se změnou verze Samby se požadované atributy občas mění. Takže je lepší se spolehnou na Samba nástroje, které budou fungovat určitě.
6.7.2010 17:32 ET
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://lists.samba.org/archive/samba/2005-January/099388.html
6.7.2010 19:22 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Pozor na to, že to je 5 let stará diskuse. Za tu dobu se zrovna tahle věc mohla několikrát změnit.
6.7.2010 20:30 ET
Rozbalit Rozbalit vše Re: Samba - manuální přidávání uživatelů a volba SID
Odpovědět | | Sbalit | Link | Blokovat | Admin
jj, ale zas ma tohle v podpisu a rika ze nejlepsi manual je zrdojak :]

jinak ja testuju smbldaptools a zatim sem na problem nenarazil, predpokladam ze exkluzivita bude osetrena bud primo ve skriptech adduser|grp|... , nebo by to mozna slo na urovni openldapu [neco jako unique pro "ou" ??? - tohle fakt nvm ]

Kdyby to nekdo testoval tak sem poslete vysledek...

goodluck

----------------- John H Terpstra > > > Samba-Team Member > > > Phone: +1 (650) 580-8668 > > > > > > Author: > > > The Official Samba-3 HOWTO & Reference Guide, ISBN: 0131453556 > > > Samba-3 by Example, ISBN: 0131472216 > > > Hardening Linux, ISBN: 0072254971 > > > Other books in production.

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.