Gemeinsame Benutzerverwaltung in Windows- und …people.redhat.com/tscherf/articles/itadm_samba2.pdf...

6
www.it-administrator.de Dezember 2009 51 PRAXIS I Workshop u dem umfangreichen Samba-Pro- grammpaket [1] zählt etwa der im ersten Workshopteil vorgestellte Winbind- Dienst. Bekannter ist jedoch der SMB- Server, der Dateien und Drucker auf Ba- sis des SMB-Protokolls im Netzwerk freigibt. Benutzer greifen so über das SMB-Protokoll auf die Daten eines Li- nux-Servers zu. Daneben bietet Samba weitere Funktionen an die sonst nur von Windows-Servern bekannt sind: - So kann Samba beispielsweise als NT4 PDC oder BDC agieren, also Anmel- defunktionen für Windows-Clients zur Verfügung stellen. - Daneben ist es mittels WINS auch möglich, Samba als Namensserver ein- zusetzen oder - die Stabilität der Windows-Netzwerk- umgebung zum Durchsuchen von Frei- gaben zu erhöhen, indem Samba als Computersuchdienst agiert. Mit all diesen Funktionen ist es Samba möglich, eine komplette Windows-Do- mäne zu verwalten. An dieser Stelle sei natürlich auch erwähnt, dass Samba in der aktuellen Version 3 keinen Active Di- rectory-Domänencontroller ersetzen kann. Diese Funktion wird aber mit Er- scheinen des nächsten Release (Version 4) in das Programm-Paket aufgenommen. Vorteile von Samba Der ein oder andere stellt sich nun viel- leicht die Frage wieso er überhaupt einen Samba-Server einsetzen soll, schließlich erbringen bestehende Wind- ows-Server die notwendigen Aufgaben ja anscheinend auch problemlos. Zum einen spielt hier die Kostenfrage eine große Rolle, denn Samba steht unter der GNU General Public License (GPL) und ist somit kostenfrei zu haben. Hier- bei fallen keinerlei Lizenzgebühren an, weder für den Server selbst noch für Client-Zugriffe auf den Server. Daneben ist Samba sehr performant. Für jeden Client-Zugriff wird ein eigener smb-Prozess gestartet, das ist gerade für Multi-Core-Maschinen interessant, bei denen sich Prozesse auf einzelne CPUs verteilen lassen, um die anfallende Last aufzuteilen. Möchten Sie bestehende Windows-Server kon- solidieren, so bietet Samba die Installa- tion von unterschiedlichen Instanzen auf einem einzelnen System an. Auch was die Konfiguration und Verwaltung anbelangt hat Samba Vorteile, da die Konfiguration über eine einzige Konfi- gurationsdatei stattfindet. Diese lässt sich sehr leicht auch aus der Ferne editie- ren und anpassen. In Sachen Fehlersuche sind die Log-Da- teien eines Samba-Serves eindeutig aus- kunftsfreudiger als die Ereignisanzeige von Windows-Servern und Fehler las- sen sich leichter finden und somit Zeit einsparen. Dass zudem der Quellcode von Samba offen liegt und jeder die Funktionsweise der eingesetzten Soft- ware nachvollziehen kann, mag für ma- che Administratoren auch ein entschei- dender Vorteil im Vergleich zu einer rein Windows-basierten Lösung sein. Gemeinsame Benutzerverwaltung in Windows- und Linux-Netzwerken (2) Der andere Weg von Thorsten Scherf Der erste Teil dieser Workshopserie befasste sich damit, Linux-Benutzer mit Hilfe von Winbind an einem zentralen Windows- Domänenkontroller zu authentifizieren. Nun wenden wir uns dem umgekehrten Weg zu, indem wir Windows-Benutzer an einem Linux- Server anmelden und so auf die gewohnte Umgebung zugreifen lassen. Dazu verwenden wir das Samba-Programmpaket und OpenLDAP. Z Quelle: Jürgen Treiber, Pixelio.de

Transcript of Gemeinsame Benutzerverwaltung in Windows- und …people.redhat.com/tscherf/articles/itadm_samba2.pdf...

www.it-administrator.de Dezember 2009 51

P R A X I S I W o r k s h o p

u dem umfangreichen Samba-Pro-grammpaket [1] zählt etwa der im

ersten Workshopteil vorgestellte Winbind-Dienst. Bekannter ist jedoch der SMB-Server, der Dateien und Drucker auf Ba-sis des SMB-Protokolls im Netzwerkfreigibt. Benutzer greifen so über dasSMB-Protokoll auf die Daten eines Li-nux-Servers zu. Daneben bietet Sambaweitere Funktionen an die sonst nur vonWindows-Servern bekannt sind:- So kann Samba beispielsweise als NT4

PDC oder BDC agieren, also Anmel-defunktionen für Windows-Clients zurVerfügung stellen.

- Daneben ist es mittels WINS auchmöglich, Samba als Namensserver ein-zusetzen oder

- die Stabilität der Windows-Netzwerk-umgebung zum Durchsuchen von Frei-gaben zu erhöhen, indem Samba alsComputersuchdienst agiert.

Mit all diesen Funktionen ist es Sambamöglich, eine komplette Windows-Do-mäne zu verwalten. An dieser Stelle seinatürlich auch erwähnt, dass Samba in deraktuellen Version 3 keinen Active Di-rectory-Domänencontroller ersetzenkann. Diese Funktion wird aber mit Er-scheinen des nächsten Release (Version4) in das Programm-Paket aufgenommen.

Vorteile von SambaDer ein oder andere stellt sich nun viel-leicht die Frage wieso er überhaupt einen Samba-Server einsetzen soll,schließlich erbringen bestehende Wind-ows-Server die notwendigen Aufgabenja anscheinend auch problemlos. Zumeinen spielt hier die Kostenfrage einegroße Rolle, denn Samba steht unterder GNU General Public License (GPL)und ist somit kostenfrei zu haben. Hier-bei fallen keinerlei Lizenzgebühren an,weder für den Server selbst noch fürClient-Zugriffe auf den Server.

Daneben ist Samba sehr performant.Für jeden Client-Zugr iff wird ein eigener smb-Prozess gestartet, das istgerade für Multi-Core-Maschinen interessant, bei denen sich Prozesse aufeinzelne CPUs verteilen lassen, um dieanfallende Last aufzuteilen. MöchtenSie bestehende Windows-Server kon-solidieren, so bietet Samba die Installa-tion von unterschiedlichen Instanzenauf einem einzelnen System an. Auchwas die Konfiguration und Verwaltunganbelangt hat Samba Vorteile, da dieKonfiguration über eine einzige Konfi-gurationsdatei stattfindet. Diese lässt sichsehr leicht auch aus der Ferne editie-ren und anpassen.

In Sachen Fehlersuche sind die Log-Da-teien eines Samba-Serves eindeutig aus-kunftsfreudiger als die Ereignisanzeigevon Windows-Servern und Fehler las-sen sich leichter finden und somit Zeiteinsparen. Dass zudem der Quellcodevon Samba offen liegt und jeder dieFunktionsweise der eingesetzten Soft-ware nachvollziehen kann, mag für ma-che Administratoren auch ein entschei-dender Vorteil im Vergleich zu einer reinWindows-basierten Lösung sein.

Gemeinsame Benutzerverwaltung in Windows- und Linux-Netzwerken (2)

Der andere Wegvon Thorsten Scherf

Der erste Teil dieser Workshopserie befasste sich damit, Linux-Benutzer mit Hilfe von Winbind an einem zentralen Windows-

Domänenkontroller zu authentifizieren. Nun wenden wir uns dem umgekehrten Weg zu, indem wir Windows-Benutzer an einem Linux-

Server anmelden und so auf die gewohnte Umgebung zugreifen lassen.Dazu verwenden wir das Samba-Programmpaket und OpenLDAP.

Z

Quelle: Jürgen Treiber, Pixelio.de

Unter der Haube der BenutzerverwaltungBevor es an die Konfiguration des Sam-ba-Servers geht, ist ein kleiner Ausflugin die interne Benutzerverwaltung aufWindows- und Linux-Systemen not-wendig. Bereits im letzten Artikel erwähnten wir, dass Windows Benut-zerkonten anders verwaltet als ein Linux-Server.Verwendet Linux eineeinfache numerische User-ID (uid) umeinen Benutzer zu ident i f iz ieren,so kommt unter Windows eine so genannte Security ID (SID) zum Ein-sa tz . Diese SID i s t , ander s a l s d ie uid unter Linux, in der ganzen Wind-ows-Domäne eindeutig. Das ist deshalbso, weil diese SID aus zwei Kompo-nenten besteht. Einer 98 Bit langenDomänenkennung und einer relativenID (RID).

Zur Rechtevergabe kommt neben derangesprochenen SID und der uid na-tür l ich auch noch die Gruppen-mitgliedschaft eines Benutzers zum Tragen wenn es darum geht, Zugriffs-entscheidungen zu treffen. Genauso wieBenutzer-IDs verwaltet Windows auchseine Gruppen mit Hilfe dieser Secu-rity-IDs. Bei einer Anmeldung am Sys-tem bekommt ein Benutzer dann einso genanntes Security-Token ausgestellt,dieses enthält eine Liste mit sämtlichenSIDs, die diesem Benutzer zugeordnetsind. Mit dem Tool “rpcclient” lässt sichbei Interesse aus einer numerischenSIDs der eigentliche Benutzer- undGruppenname ableiten. Somit ist esauch relativ sinnlos, den Administrator-Account auf einer Windows-Maschineumzubenennen, da sich dieser anhandder SID immer eindeutig identifizierenlässt (die SID dieses Kontos endet stetsauf 500). Das Tool zeigt auch sehrschön an, ob es sich bei der angegebe-nen SID um einen Benutzer oder eineGruppe handelt, dies ist ansonsten soohne weiteres nicht ersichtlich.Aus denSIDs im Security-Token ergeben sichdann die tatsächlichen Zugriffsrechtefür den Benutzer.

Unter Linux besitzt jede Gruppe eineGruppen-ID, die sogenannte gid.Wel-cher Gruppe ein Benutzer angehörtsteht in der Datei /etc/group. Das Li-nux-Kommando id zeigt sämtliche Mit-gliedschaften für einen Benutzer an.Beim Zugriff auf eine Datei ist auchhier die Kombination aus User-ID undGruppen-IDs verantwortlich dafür, wel-che Rechte der Benutzer an dieser Da-tei besitzt.

Linux speichert Benutzerinformatio-nen übl icherweise in der Datei/etc/passwd; diese Datei ist vergleichbarmit dem Windows Security AccountManager (SAM). Damit nun auch Li-nux-Konten nicht nur auf einem ein-zelnen System eindeutig sind, sondernsich auch problemlos netzwerkweit ein-setzen lassen, sind diese an zentralerStelle zu speichern. Da wir in dieserWorkshopserie die Konsolidierung vonLinux- und Windows-Konten behan-deln, bietet es sich an, die Benutzer-konten in einem LDAP Directory-Ser-ver abzulegen. Fügen Sie diesen Kontendann noch die notwendigen Windows-Attribute hinzu, so lässt sich mit Hilfevon Samba auch von Windows-Clientsauf diese Konten zurückgreifen.

Die beiden Samba Standard-Backends“smbpasswd” und “tdbsam” eignen sichfür diesen Fall nicht, da diese lediglichmit Samba-Benutzern umgehen kön-nen und außerdem auch keine Formder Replikation zwischen mehrerenSamba-Servern anbieten. Diese Pro-

bleme existieren mit dem ldapsam-Ba-ckend von Samba nicht. Hier beziehtSamba, genau wie auch Linux-An-wender, Benutzer- und Gruppeninfor-mationen aus dem LDAP-Server. So-mit besteht nur noch ein zentralerServer zur Verwaltung sämtlicher Ac-counts. In größeren Umgebungen, indenen die Last auf mehrere Domänen-kontroller verteilt wird, kommen Sieum den Einsatz eines LDAP-Servers als Backend sowieso nicht herum, daSamba über keinen eigenen Replika-tionsmechanismus zwischen dem Pri-mary- (PDC) und dem Backup-Do-mänenkontroller (BDC) verfügt. Siekönnen mit einem Verzeichnisdienst,wie beispielsweise OpenLDAP [2], dieBenutzerdatenbanken mehrerer Do-mänenkontroller dank der Replikati-onsfähigkeit des Verzeichnisdiensts syn-chron halten.

Neben den Benutzerkonten selbst mussein Domänenkontroller noch einigeweitere Informationen verwalten. Zumeinen sind hier die Heimat-Verzeich-nisse der Benutzer zu nennen, also“C:\Dokumente” und “Einstellungen\ Benutzername”. Zum anderen exis-tieren die beiden Ordner “Profiles” und“Netlogon”. Der Profiles-Ordner ent-hält üblichweise spezifische Einstel-lungen für e inen Benutzer, a l so beispielsweise dessen Desktop-Einstel-lungen (ntuser.dat) und bestimmte Tei-le der Registry. Dieser Ordner kannTeil des Heimatverzeichnisses sein, lässtsich aber auch an jeder anderen Stelle

52 Dezember 2009 www.it-administrator.de

P R A X I S I W o r k s h o p

Bild 1: Samba speichert alle Account-Informationen in einem LDAP-Baum

www.it-administrator.de Dezember 2009 53

P R A X I S I W o r k s h o p

im Dateisystem ablegen. Im OrdnerNetlogon befinden sich Skript- oderBatch-Dateien die nach einem Logineines Benutzers ausgeführt werden. DesWeiteren finden sich hier Systemricht-linien (NTConfig.pol). Diese sind nichtmit den Gruppenrichtlinien eines Acti-ve Directory-Servers zu verwechseln.

Aufbau des LDAP-ServersNach soviel grauer Theorie nun in diePraxis.Als Test-Installation dient ein Fe-dora 11-System. Alle Beispiele lassensich aber problemlos auch auf jeder an-deren Linux-Distribution nachvollzie-hen. Unter Fedora gelingt eine Instal-lat ion der Samba-Pakete aus demStandard Software-Repository heraus.Als LDAP-Server kommt hierOpenLDAP zum Einsatz, Sie könnenjedoch auch auf jeden anderen LDAP-Server zurückgreifen, solange dieserLDAPv3 konform ist. Zur Installationder Pakete sieht der entsprechendeyum-Aufruf unter Fedora wie folgt aus:yum install samba samba-common

openldap openldap-servers

openldap-clients

Als erstes konfigurieren Sie den Di-rectory-Server. Dieser lässt sich rechteinf ach über die Datei/etc/openldap/slapd.conf (Listing 1) ein-richten. Die Werte passen Sie natürlichentsprechend Ihrer Umgebung an (wei-tere Informationen zu den diversen Pa-rametern finden Sie in der Manpageslapd.conf).

Im nächsten Schritt erzeugen Sie nundie Container, welche später die Be-nutzer-, Gruppen- und Maschinenkon-ten aufnehmen sollen. Hierzu verwen-den Sie im einf achsten Fal l dieLDIF-Datei aus Listing 2.Als Directory-Server-Administrator ist diese dann indie LDAP-Datenbank zu importieren:

ldapadd -x -D “cn”Manager,dc=tuxge-

ek,dc=de” -f /tmp/samba.ldif -w

redhat

Ein abschliessendes ldapsearch bestätigt,dass der Server die Daten korrekt emp-fangen hat:

ldapsearch -x -h localhost -b

“dc=tuxgeek,dc=de” -D \

“cn=Manager,dc=tuxgeek,dc=de” -W

Um nicht s tändig eine Vielzahl

von Optionen an l dapsea r c h oder andere LDAP Client-Anwendung-en übergeben zu müssen, lassen sich diese in einer zentralen Konfigurations-datei /etc/openldap/ldap speichern:host tiffy.tuxgeek.de

base dc=tuxgeek,dc=de

binddn cn=Manager,dc=tuxgeek,dc=de

bindpw redhat

LDAP Client-Anwendungen greifenbeim Verbindungsaufbau zum Directo-ry-Server auf diese Konfigurationsda-tei zurück. Somit sparen Sie sich un-nötige Tipparbeit. Schließlich sind demDirectory-Server noch die notwendi-gen LDAP-Attribut- und Objekt-Defi-nitionen aus dem Samba-Paket zu über-geben. Unter Fedora befindet sich imSamba-Dokumentationsordner eineDatei mit dem Namen samba.schema.Diese kopieren Sie einfach in das Sche-ma-Verzeichnis von Open- LDAP undstarten den Server im Anschluss neu:

Die Konfiguration nehmen Sie in der Datei/etc/openldap/ slapd.conf vor.

Schema Dateien für den Serveriinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ccoorrbbaa..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ccoorree..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ccoossiinnee..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//dduuaaccoonnff..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ddyynnggrroouupp..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//iinneettoorrggppeerrssoonn..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//jjaavvaa..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//mmiisscc..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//nniiss..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ooppeennllddaapp..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ppppoolliiccyy..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ccoolllleeccttiivvee..sscchheemmaa

iinncclluuddee //eettcc//ooppeennllddaapp//sscchheemmaa//ssaammbbaa..sscchheemmaa

Root-DN und Admin-Account ssuuffffiixx ""ddcc==ttuuxxggeeeekk,,ddcc==ddee""

rroooottddnn ""ccnn==MMaannaaggeerr,,ddcc==ttuuxxggeeeekk,,ddcc==ddee""

rroooottppww rreeddhhaatt

Datenbank-Settings ddaattaabbaassee bbddbb

cchheecckkppooiinntt 11002244 1155

ddiirreeccttoorryy //vvaarr//lliibb//llddaapp

Indexes für bessere Performance iinnddeexx oobbjjeeccttCCllaassss

eeqq,,pprreess

iinnddeexx oouu,,ccnn,,mmaaiill,,ssuurrnnaammee,,ggiivveennnnaammee

eeqq,,pprreess,,ssuubb

iinnddeexx uuiiddNNuummbbeerr,,ggiiddNNuummbbeerr,,llooggiinnSShheellll

eeqq,,pprreess

iinnddeexx uuiidd,,mmeemmbbeerrUUiidd

eeqq,,pprreess,,ssuubb

iinnddeexx ssaammbbaaSSIIDD

eeqq,,pprreess

Logdateillooggffiillee //vvaarr//lloogg//llddaapp

lloogglleevveell 225566

Access Control-Einträge aacccceessss ttoo aattttrrss==uusseerrPPaasssswwoorrdd,,ssaammbbaaLLMMPPaasssswwoorrdd,,ssaamm--

bbaaNNTTPPaasssswwoorrdd

bbyy sseellff wwrriittee

bbyy ** aauutthh

aacccceessss ttoo **

bbyy ** rreeaadd

Listing 1: Konfigurationsdatei für den OpenLDAP-Server

Die LDIF-Datei /tmp/samba.ldif erzeugt im Directory-Server ein Grundgerüst für die späteren Einträge.

ddnn:: ddcc==ttuuxxggeeeekk,,ddcc==ddee

oobbjjeeccttCCllaassss:: ttoopp

oobbjjeeccttCCllaassss:: ddccOObbjjeecctt

oobbjjeeccttCCllaassss:: oorrggaanniizzaattiioonn

oo:: ttuuxxggeeeekk..ddee

ddcc:: ttuuxxggeeeekk

ddnn:: oouu==uusseerrss,,ddcc==ttuuxxggeeeekk,,ddcc==ddee

oobbjjeeccttCCllaassss:: ttoopp

oobbjjeeccttCCllaassss:: oorrggaanniizzaattiioonnaallUUnniitt

oouu:: uusseerrss

ddnn:: oouu==ggrroouuppss,,ddcc==ttuuxxggeeeekk,,ddcc==ddee

oobbjjeeccttCCllaassss:: ttoopp

oobbjjeeccttCCllaassss:: oorrggaanniizzaattiioonnaallUUnniitt

oouu:: ggrroouuppss

ddnn:: oouu==iiddmmaapp,,ddcc==ttuuxxggeeeekk,,ddcc==ddee

oobbjjeeccttCCllaassss:: ttoopp

oobbjjeeccttCCllaassss:: oorrggaanniizzaattiioonnaallUUnniitt

oouu:: iiddmmaapp

ddnn:: oouu==ccoommppuutteerrss,,ddcc==ttuuxxggeeeekk,,ddcc==ddee

oobbjjeeccttCCllaassss:: ttoopp

oobbjjeeccttCCllaassss:: oorrggaanniizzaattiioonnaallUUnniitt

oouu:: ccoommppuutteerrss

Listing 2: LDIF-Datei

cp /usr/share/doc/samba-

3.4.1/LDAP/samba.schema

service ldap restart

Wichtig ist, dass diese Schema-Datei inder eigentlichen Konfigurationsdateislapd.conf auch mit einem include-State-ment eingelesen wird, ansonsten sinddem LDAP-Server sämtliche Samba-Attr ibute unbekannt. Abschließend erzeugen Sie die Standard-Gruppen und-Benutzer, die Samba benötigt, um dieFunktion als PDC korrekt ausführen zu können:

net sam provision

Checking for Domain Users group.

Adding the Domain Users group.

Checking for Domain Admins group.

Adding the Domain Admins group.

Check for Administrator account.

Adding the Administrator user.

Checking for Guest user.

Adding Guest user.

Checking Guest’s group.

Adding the Domain Guest group.

Mit Hilfe von pdbedit lässt sich das Er-gebnis, beispielsweise anhand des Admi-nistrator-Kontos, überprüfen. Dieses ist

nun bereits in der LDAP-SAM vorhan-den und lässt sich entsprechend abfra-gen. Natürlich können Sie das Tool auchdazu verwenden, bestimmte Eigenschaf-ten eines Benutzers zu verändern.

Konfiguration von SambaNachdem wir den LDAP-Server einge-richtet haben, steht im nächsten Schrittdie Konfiguration des eigentlichen Sam-ba-Servers über die Datei /etc/samba/smb.conf an. Interessant ist, dass neue Ver-sionen von Samba (ab 3.3) zusätzlich ei-ne Registry-basierte Konfiguration überdas Tool “net registry” anbieten. Somithaben Sie die Möglichkeit, von einemWindows-System über den Registrie-rungseditor die Linux-basierte Konfigu-ration des Samba-Servers zu verändern.Mit diesem Thema befassen wir uns imletzten Teil der Serie ausführlich.

Die Konfigurationsdatei gliedert sich inzwei Abschnitte – “Global” und “Sha-res”. Über die Sektion “Global” definie-ren Sie beispielsweise die Funktion desServers, in diesem Fall also die des Pri-mary Domain Controllers (PDC). Eineeinfache Konfiguration für diese Sekti-

on könnte wie folgt aussehen:[global]

workgroup = TUXGEEK

security = user domain

logons = yes domain

master = yes

Hiermit definieren wir den Samba-Ser-ver als primären Domänen-Controllerin der TUXGEEK-Domäne. Danebenag ier t der Server noch als MasterBrowse-Server, dass heisst er ist dafürzuständig die Informationen, aus denensich die Netzwerkumgebung zusam-mensetzt, von den einzelnen lokalenBrowse-Servern aus den einzelnen Sub-netzen zu verarbeiten und entsprechendauszuwerten.Als nächstes teilen Sie demServer mit, welches Backend er ver-wenden soll. Da wir in diesem Beispielvon einer replizierten Benutzerdaten-bank ausgehen, legen wir sämtliche Ac-count-Informationen in einem LDAP-Verzeichnis ab. Die notwendigeKonfiguration finden Sie in Listing 3.

Seit Samba 3.0.25 ist der Server selbstin der Lage, die Benutzer- und Grup-pen-Konten in die LDAP-Datenbank zu

LDAP Backend-Konfigurationppaassssddbb bbaacckkeenndd == llddaappssaamm::llddaapp::////ttiiffffyy..ttuuxxggeeeekk..ddee

llddaapp aaddmmiinn ddnn == ccnn==DDiirreeccttoorryy MMaannaaggeerr

llddaapp ssuuffffiixx == ddcc==ttuuxxggeeeekk,,ddcc==ddee

llddaapp uusseerr ssuuffffiixx == oouu==uusseerrss

llddaapp ggrroouupp ssuuffffiixx == oouu==ggrroouuppss

llddaapp mmaacchhiinnee ssuuffffiixx == oouu==ccoommppuutteerrss

llddaapp iiddmmaapp ssuuffffiixx == oouu==iiddmmaapp

llddaappssaamm::ttrruusstteedd == yyeess

llddaappssaamm::eeddiittppoossiixx == yyeess

Winbind Konfiguration (Samba benötigt diese wennmittels smbpasswd neue Benutzer und Gruppen anzu-legen sin):iiddmmaapp uuiidd == 1100000000 -- 1199999999

iiddmmaapp ggiidd == 1100000000 -- 1199999999

tteemmppllaattee sshheellll == //bbiinn//bbaasshh

Home-, Profile- und Netlogon-Definitionenllooggoonn ddrriivvee == HH::

llooggoonn ppaatthh == \\\\%%NN\\pprrooffiilleess\\%%UU\\%%aa

llooggoonn ssccrriipptt == llooggiinn..bbaatt

Listing 3: Ablage der Accountda-ten im LDAP-Verzeichnis

54 Dezember 2009 www.it-administrator.de

P R A X I S I W o r k s h o p

Bild 2: Mit Hilfe des grafischen LDAP-Browsers GQ lassen sich LDAP-Verzeichnisse komfortabel abfragen und verändern

www.it-administrator.de

P R A X I S I W o r k s h o p

schreiben. In älteren Versionen musstenAdministratoren hierfür auf einige Hilfs-Applikationen zurückgreifen [3][4]. Da-mit Samba nun auch mit dem LDAP-Backend kommuniziert, ist natürlich dasPasswort des “LDAP Admin Users” inder Samba-Konfig mittels smbpasswd -Wzu hinterlegen.

Wie bereits erwähnt besteht die Aufga-be eines Domänencontrollers aber nochaus anderen Aufgaben, als lediglich Ac-count-Informationen bereitzustellen.Benutzer möchten beim Login auchZugriff auf Ihre Homeverzeichnisse er-halten, einmal geänderte Desktop-Ein-stellungen sollen wieder geladen wer-den und andere Netzlaufwerke sollenauch direkt nach dem Login zur Verfü-gung stehen, ohne diese erst manuelleinbinden zu müssen. Genau hierfürsind die letzten drei Anweisungen ausder “Global-Sektion” zuständig. Sie de-finieren jeweils den Laufwerksbuchsta-ben für Homeverzeichnisse, legen festwo die Benutzerprofile zu speichernsind und welches Login-Script bei ei-ner Benutzeranmeldung auszuführen ist.Damit dies funktioniert muss Samba die

passenden Ordner natürlich auch frei-geben, so dass Benutzer Zugriff hierauferhalten. Freigaben erzeugen Sie in der“Share-Sektion”. Die drei Standard-Freigaben für einen Domänenkontrollersind im Folgenden aufgeführt:

[homes]

writable = yes

[profiles]

path = /var/lib/samba/profiles

writeable = yes

[netlogon]

path = /var/lib/samba/netlogon

Natürlich lassen sich noch jede Mengeweiterer Optionen in der Datei hinter-legen. Das ist für einen performantenuns sicheren Betrieb auch zwingend an-zuraten, für eine grundlegende PDC-Konfiguration reichen die aufgeführtenBeispiele jedoch vollkommen aus.

Abschließend erzeugen Sie nun nochmit Linux Bordmitteln ein Benutzer-konto mit allen notwendigen Samba-Attributen. Damit dies funktioniert undSamba nicht über einen fehlenden Li-nux-Benutzer mit den notwendigen Po-six-Attributen meckert, konfigurierenSie schließlich noch den Name ServiceSwitch (NSS). Dieser kümmert sich da-rum, Benutzer- und Gruppen-Infor-mationen aus unterschiedlichsten Da-tenquel len zu beziehen. Eine oftgestellte Frage an dieser Stelle ist, ob imVorfeld nun also ein Linux-Konto mitPosix-Attributen anzulegen ist. Die Ant-wort lautet “Nein, es ist nicht notwen-dig”. Der Clou bei der vorgestelltenKonfiguration ist nämlich, dass einemmit dem Tool smbpasswd erzeugten neu-en Samba-Konto, sowohl Samba-Attri-bute als auch – durch die Informatio-nen für den Winbind-Daemon aus dersmb.conf – die notwendigen Posix-At-tribute (beispielsweise uid, gid und Hei-

Bild 3: Mit Hilfe eines Administrator-Kontos des Samba-Servers lässt sich eine Windows-Maschine in die neue Domäne aufnehmen

S E M I N A R M A R K T

Den IT-Administrator Seminarmarktmit News zu IT-Trainings finden Sie auch online auf:

www.it-administrator.de/seminarmarkt

mat-Verzeichnis) zugewiesen werden.Damit der NSS diese Informationenaber auch findet, ist dieser anzuweisen,auf den LDAP-Server zurückzugreifen.Diese notwendigen Informationen ste-hen in der NSS-Konfigurationsdatei/etc/nsswitch.conf:

grep ldap /etc/nsswitch.conf

passwd: files ldap

group: files ldap

Möchten Sie dem System nun einenneuen Benutzer mit Samba- und Posix-Attr ibuten hinzufügen, so rufen Siehierfür einfach smbpasswd wie folgt auf:

smbpasswd -a thorsten

New SMB password:

Retype new SMB password:

Added user thorsten.

Oftmals ist es wünschenswert einzelne At-tribute des Benutzers im LDAP zu ver-ändern oder neue Attribute hinzuzufü-gen. Zum einen gelingt dies manuell übereine LDIF-Datei, die Sie dann mittelsldapadd in den Server importieren oderSie greifen auf grafischen Frontends wiebeispielsweise GQ [5] zurück. MöchtenSie beispielsweise den eben eingerichtetenBenutzer zum Domänen-Administratorbefördern, so ändern Sie im LDAP dieAttribute uidNumber, gidNumber undsambaSID entsprechend. Die sambaSID

eines Administrator-Kontos endet immerauf 500, die uid istauf 0 zu setzen unddie Gruppe der Do-mänen-Administra-toren hat die Num-mer 10024.

Eine ldapsearch-Abfrage bestätigt,dass das Konto nunwirklich im LDAP-Server vorhandenist und die manuellvorgenommen Än-derungen s ind

ebenfalls zu erkennen. Auch die An-meldung über den Samba-Server funk-tioniert nun einwandfrei, wie der fol-gende Aufruf zeigt:

smbclient //tiffy/thorsten

-U thorsten

Enter thorsten’s password:

Domain=[TUXGEEK] OS=[Unix]

Server=[Samba 3.4.1-0.41.fc11]

smb: \>

Nun wird es Zeit, den ersten Rechnerin die neue Domäne aufzunehmen.Aufeinem Windows-Client gelingt diesdurch einen Rechtklick auf das Ar-beitsplatz-Symbol. Unter dem Reiter“Computername” klicken Sie dann aufden Button “Ändern” um der Domänebeizutreten. Als Benutzername gebenSie ein Konto des Samba-Servers an,welches Sie zuvor der Gruppe der Do-mänenadministratoren hinzugefügt ha-ben und welches über root-Rechte aufder Linux-Maschine verfügt. Noch ein-facher geht es von einer Linux-Maschi-ne aus. Hier reicht der folgende Befehlum de gewünschten Rechner sozusa-gen remote in die Domäne aufzuneh-men – sogar ein remote Reboot gelingtvon hier aus:

$ net dom join -S WINXP -U

WINXP\\Administrator

domain=tuxgeek \

account=root password=redhat reboot

Enter WINXP\Administrator’s

password:

Enter WINXP\Administrator’s

password:

Shutdown of remote machine

succeeded

Anders als bei den Benutzer-Konten,liegt das Maschinen-Konto nun imContainer ou=computers und endetauf ein Dollarzeichen. Damit ist Kon-figuration des PDCs abgeschlossen.Verwalten lässt sich der Server nun,wie gezeigt, sowohl mit Linux-Bord-mitteln oder aber mit den bekanntenWindows-Tools.

Im nächsten Teil der Artikel Serie geht esdann darum, dem PDC einen Backup-Domänencontroller mit einer replizier-ten Benutzerdatenbank zur Seite zu stel-len. Auch die Konfiguration vonLinux-Systemen, so dass diese von denInformationen im LDAP profitieren unddiese zur Anmeldung verwenden kön-nen, ist Thema des nächsten Artikels.Ab-schließend kommen einige erweiterteKonfigurationsmöglichkeiten zur Spra-che, beispielsweise wie sich die Kom-munikation zwischen dem Samba-Ser-ver und den Clients mittels SSL/TLSschützen lässt oder wie Sie die komplet-te Samba-Konfiguration mit Hilfe desRegistrierungseditors von einer Wind-ows-Maschine aus erledigen. (jp)

[[11]] SSaammbbaa--HHoommeeppaaggee

http://www.samba.org

[[22]] OOppeennLLDDAAPP--HHoommeeppaaggee

http://www.openldap.org

[[33]] IIDDXX--ssmmbbllddaapp--TToooollss

http://sourceforge.net/projects/smbldap-tools/

[[44]] GGOOssaa--TToooollss

http://alioth.debian.org/projects/gosa

[[55]] GGrraaffiisscchheerr LLDDAAPP--BBrrwwoosseerr GGQQ

http://sourceforge.net/projects/gqclient/

Links

Bild 4: Beim Login kann sich der Anwender entweder mit seinem lokalen oder einem Domänen-Konto an der Maschine anmelden

56 Dezember 2009 www.it-administrator.de

P R A X I S I W o r k s h o p