Portál AbcLinuxu, 26. dubna 2024 23:08


Dotaz: samba a ldap - pouze virtuální uživatelé

Zdeněk Zámečník avatar 8.3.2008 19:50 Zdeněk Zámečník | skóre: 26
samba a ldap - pouze virtuální uživatelé
Přečteno: 976×
Odpovědět | Admin
Chtěl jsem se zeptat, zda dokáže samba autentizovat uživatele proti LDAP aniž by účty v LDAPu musely být i v systému. Snažím se to už celý den zprovoznit na Debianu Etch 4.0R3 a stále mi samba dokáže autentizovat pouze uživatele, kteří zároveň existují i v systému (třebaže i s jiným heslem). Budu vděčen za jakékoliv rady.

Můj smb.conf vypadá přibližně takto:
[global]
unix charset = LOCALE
workgroup = tyc
netbios name = node2
log level = 1
syslog = 0
log file = /var/log/samba/%m
max log size = 50
name resolve order = wins bcast hosts
show add printer wizard = No
#logon script = %u.bat
#logon path = \\192.168.0.4\profiles\%u
#logon path = \\nodes.differentialdesign.org\profiles\%u
#logon drive = H:
domain logons = Yes
os level = 63
domain master = No
#wins server = node1.differentialdesign.org
passdb backend = ldapsam:"ldap://localhost"
ldap suffix = dc=tyc,dc=cz
#ldap machine suffix = ou=computers
ldap user suffix = ou=people
ldap group suffix = ou=groups
#ldap idmap suffix = ou=idmap
ldap admin dn = cn=admin,dc=tyc,dc=cz
#utmp = Yes
#idmap uid = 10000-20000
#idmap gid = 10000-20000

#========================Share Definitions=========================

[homes]
comment = Home Directories
valid users = %S
browseable = yes
writable = yes
create mask = 0600
directory mask = 0700

[netlogon]
comment = Network Logon Service
path = /var/spool/samba/netlogon
writeable = yes
browseable = yes
read only = no

[profiles]
path = /var/spool/samba/profiles
writeable = yes
browseable = no
read only = no
create mode = 0777
directory mode = 0777

[Documents]
comment = share to test samba
path = /var/spool/documents
writeable = yes
browseable = yes
read only = no
valid users = "@Domain Users"

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

Odpovědi

8.3.2008 22:27 timeos | skóre: 32
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
osobne som to nikdy neskusal, ale try this ldapsam:trusted=yes (man smb.conf). mozno vam to pomoze
9.3.2008 09:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
Můžete to udělat tak, že uživatelé nebudou mít shell nebo heslo, takže se nebudou moci přihlásit. Jinak ale z pohledu systému musí uživatelé existovat – jsou vlastníky souborů, Samba dělá interně su na daného uživatele po té, co se uživatel přihlásí, atd.
9.3.2008 10:03 pht
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
jestli jde o to abyste nemusel zakladat dva uzivatele (v systemu a v ldap) tak muzete pouzit nss-ldap, pak budete mit uzivatele ldapove zaroven i v systemu. pokud jde o to aby uzivatele nemohli udelat ssh do shellu tak jim dejte shell /bin/false.

ale jinak je nutne aby uzivatel existoval z pohledu unixu, jelikoz vlastni soubory a tak dal. s tim "internim su" je to velmi zjednodusene, ve skutecnosti samba sice vetsinu veci dela primo pod danym userem ale take par veci dela pod rootem a emuluje chybejici funkcionalitu unixu...
Zdeněk Zámečník avatar 9.3.2008 10:31 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslel jsem, že se díký LDAPu zbavím spousty zbytečných unix userů a mylně jsem se asi domníval že by samba dokázala manipulovat se soubory prostřednictvím jednoho skutečného uživatele. Ale tak jako tak díky, přinejmenším jste mě zbavili zbytečného tápání. Jdu mrknout na to nss ldap :)
Zdeněk Zámečník avatar 9.3.2008 11:22 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Tak jak tak koukám nss ldap můj problém řeší na jedničku :) Díky! Jediné co mi pořád nechodí, je čtení skupiny, do které uživatel patří. Příkaz
getent group ldapuzivatel
mi totiž nic nevrátí, což je podle mě celkem velká chyba... Uživatele v ldapu samozřejmě ve skupině mám (pro jistotu posixGroup i sambaGroupMapping).
Zdeněk Zámečník avatar 9.3.2008 11:28 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Omlouvám se, jsem příliš zbrklý. Špatně jsem pochopil syntaxi příkazu getent.
getent group <skupina ktera nas zajima>
9.3.2008 11:34 pht
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
ono to umi i trochu vic (nevim zda to vyuzijete ale stejne) a to tzv. vnorene skupiny (s trochou konfigurovani navic). tj. mate v ldapu skupinu jejimz clenem jsou dalsi ldapove skupiny a do unixovych skupin se to on-the-fly expanduje.

jinak samba umi obhospodarovat soubory pomoci jednoho uzivatele. je to tusim parametr force user. ale pak budou vsechny soubory patrit tomu uzivateli a vsichni budou mit stejna prava, coz asi neni to co chcete.
Zdeněk Zámečník avatar 9.3.2008 12:26 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
To zní celkem zajímavě, akorát si příliš nedovedu představit, jak v ldapu přidám jednu skupinu do jiné. Force user bych asi mohl použít a zároveň ošetřit zabezpečení složek pomocí parametrů read list a write list... Nicméně to nemá smysl, když si teď mohu vesele používat "virtuální" uživatele a skupiny, což mi dá mnohem lepší možnosti.
9.3.2008 17:17 pht
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Pridate to pomoci atributu uniqueMember z objectclass groupOfUniqueNames.

Read list a write list pripadne jine reseni se hodi pokud nechcete uzivatelum dat pravo menit prava.
Zdeněk Zámečník avatar 9.3.2008 20:55 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Tak to hned zítra vyzkouším. Moc jste mi pomohl! Chtěl jsem se zeptat, zda jste nezkoušel, jestli by mělo nějaký přínos ve výkonu poskládání vlastního *.schema souboru pouze s atributy, které se opravdu použijí..? A ještě jedna věc mi po dnešku leží hlavě a to, jak se používají indexy? Resp. co znamenají parametry eq,sub a pres? V dokumentaci jsem toho ohledně indexů našel minimum. Čeho jsem si všimnul, je to, že pokud pokud mám nastavené v ldapu ukecané logování (tuším level 256), tak mi sám při provozu říká jaké atributy bych měl přidat do indexace.
10.3.2008 10:00 pht
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Indexy jsou jedna z nejdulezitejsich casti databaze. Muzete si je predstavit jako rejstrik v knize versus nutnost projit celou knihu kdyz hledate urcity pojem. Akorat ze pocitacove indexy umoznuji hledat napriklad jen cast retezce nebo vsechny hodnoty vetsi nez 10 atd. Samozrejme cim vice mate indexu tim vice mista to zere a tim dele trva operace pridani/zmeny polozky.

U mne jsou indexy nastaveny takto
index           objectClass,uidNumber,gidNumber,memberUid eq
index           sambaPrimaryGroupSID,sambaDomainName,sambaSID eq
index           cn,sn,uid,displayName pres,sub,eq
index           uniqueMember,owner pres,eq
index           default sub
Doporucuji vam si precist neco o ldapu na netu. Vim ze se to obtizne hleda a zejmena spousta "tutorialu" je o tom ze "ldap je super" a jinak o nicem. Docela pekne shrnuti typu indexu je na http://prefetch.net/blog/index.php/2007/01/27/ldap-indexes/
9.3.2008 21:25 CyberDragon
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
To by mne zajimalo, domnival jsem se dosud, ze pro vnorene skupiny "nested groups" je treba pouzit winbind/nss mechanismus. Muzete blize popsat reseni s ldap/nss?
10.3.2008 09:54 pht
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Potrebujete aby nss_ldap podporoval neco cemu se rika RFC 2307bis. Netusim jak je to v ruznych distribucich, v nejhorsim muzete nss_ldap stahnout a prelozit se zapnutou prislusnou volbou. Pak potrebujete lehce upravit jeden radek ve schematu a pak pouzivat uvedene objectclassy. Tech navodu se na siti povaluje vice, jako lehke nakopnuti muze slouzit (moje) cviceni na LDAP, ktere jsem kdysi sestavoval. Najdete jej i s komentari na adrese http://pht.blog.root.cz/0705/cviceni-na-ldap

Vnorene skupiny pres winbind trochu zavadi. Pouzivaji se v pripade (uchylne) sestavy, ze vas samba server je v podruci windowsoveho domain controlleru, kteremu jsou vnorene skupiny vlastni a vy chcete napriklad aby lokalni admini na sambe byli prevzati z Domain Admins. Vnorit lokalni skupinu do lokalni skupiny winbind nedonutite (aspon pokud vim).
24.4.2008 09:29 omicron
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravím, měl bych dotaz podobného typu. Samba už si na mém stroji s LDAP povídá. Pomocí getent vidím LDAP skupiny i uživatele ale při pokusu o připojení k doméně mi vyhodí chybovou hlášku: 09:11:11 atreides ~ # net rpc join -S atreides -U root
Password:
Creation of workstation account failed
Unable to join domain ROUDNET.ORG.
Ale přitom se v LDAP ve skupine Computers vytvoří počítačový účet ve správném formátu. Už opravdu nevím kde by mohla být chyba a budu rád za každou radu. Děkuji.
24.4.2008 13:09 timeos | skóre: 32
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Pridali ste vetvu ou=Computers,... do konfiguracie nss ldap na systeme so sambou? Pocitace sa voci nss musia tvarit ako "uzivatelia" (i ked su specialni)
25.4.2008 10:33 omicron
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Dekuji mockrát, už to běží.
25.4.2008 10:45 omicron
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Ale zas na druhou stranu LDAP převzalo od Samby řízení logon skriptů a cestovních profilů. Nevíte někdo jak to nastavit zpět na řízení Samby? Případně jak LDAP vysvětlit aby skripty načítal z / cestovní profily ukládal do adresářů podle typů připojovaných systémů (v Sambě jsem to měl všechno rozděleno pomocí proměné %a)?
25.4.2008 11:48 timeos | skóre: 32
Rozbalit Rozbalit vše Re: samba a ldap - pouze virtuální uživatelé
Myslim, ze pokial zvlast nespecifikujete cestu k profilu resp. k logon skriptu v atributoch daneho uzivatela, tak samba bere predvolene nastavenia uvadzane premennymi logon path, logon script v smb.conf.

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.