7. Samba als lid van een NT domein

Een samba server als een peer 2 peer server is natuurlijk wel leuk. Zeker als je hem thuis wilt gebruiken. Echter als je gewend bent met een NT domein te werken dan is het een stap terug.

De essentie van een NT domein is het authoriseren van gebruikers (en werkstations) bij een centrale authoriteit. Zodoende verkrijg je een centrale database. Als beheerder heeft dat het voordeel dat er maar op 1 machine gebruikers aangemaakt hoeven te worden (dit zal met Samba niet helemaal lukken zullen we zien), als gebruiker heb je 1 centrale plek waar je je wachtwoord kunt wijzigen (en dit gaat wel lukken).

In een NT domein is de PDC (primary domain controller) verantwoordelijk voor het bij houden van de gebruikers database, de SAM. Gebruikers kunnen authoriseren bij zowels de PDC als ook de BDC's (backup domain controller). De BDC's echter zijn slaven van de PDC.

We moeten dus voorelkaar krijgen dat samba niet langer zelf de authorisatie doet, maar dat hij dit delageert naar de PDC (of BDC). En dit is niet echt moeilijk, kwestie van 1 optie veranderen/toevoegen in smb.conf.
	security = domain
	

In de vorige (werkgroep) versie van smb.conf stond deze regel niet, en de default waarde (security = user) werd dan ook gebruikt

Door het gebruik van security = domain zal samba voor het authoriseren op zoek gaan via WINS naar een PDC of BDC. Er is echter nog 1 probleem... de PDC of BDC moet de Samba server kunnen vertrouwen. Anders zou elke host security informatie aan de domain controllers kunnen vragen. De Samba server moet dus lid worden van het domein.

Om de Samba sever lid te maken van het domein begin je in de server manager van de PDC (uitvoeren srvmgr). In servermanager voeg je een machine toe met de netbiosnaam van de Samba server.

Vervolgens authoriseer je de Samba server met het programma smbpasswd (op de samba server):
bilbo@bilbo:~$ smbpasswd -r [hostnaam_pdc] -j [domein_naam]	
	

De Samba server is nu lid van het domein, en kan dus gebruikers authoriseren bij het domein.

Maar op dit moment gaat Linux een beetje dwars liggen. Hoe.... blijf bij me... dan zal ik het proberen uit te leggen.

De share kun je je voorstellen als een schil om het filesysteem. Op NT is dat meestal NTFS. Op een Linux systeem is dat ext2, ext3, ReiserFS of wat dan ook. Om toegang te krijgen tot een share zal men eerst moeten voldoen aan de beveiligings eisen die de share stelt en vervolgens nog aan de beveiligings eisen die het filesysteem stelt.

Figuur 2. Share model

Op een NT machine laat men de beveiliging meestal over aan het NTFS filesysteem. Net als bij Linux is in het filesysteem gedefineerd wie welke rechten heeft. NTFS echter is in staat om de beveiliging af te dwingen bij de NT kernel, die voor dat doel uiteraard de gebruikers database van de domein controller. Dit werkt zo goed en doorzichtig dat op een NT systeem de share beveiliging helemaal open staat (iedereen full controll).

Samba is in staat om de share aan te bieden aan het smb netwerk. In Samba kan de share beveiliging ingesteld worden. Er zal echter ook nog moeten worden voldaan aan de beveiling van het Linux filesysteem.

Dit wil zoveel zeggen dat als in de Samba share staat dat ik "rw" rechten op een share heb, en ik vlgs het filesysteem alleen maar "r" heb. Ik dus niet kan schrijven naar die share.

Enderzijds betekent dit dat we een extra instrument hebben om de beveiliging in te stellen. Anderzijds is het ook een last.... Linux zelf weet niets van NT en domein controllers, gebruikers en groepen moet dus aangemaakt zijn op de Linux machnine. En dat is jammer genoeg een beetje dubbel op.

Gelukkig is het niet zo dat gebruikers moeten authoriseren t.o.v. de Linux machine, dat doet Samba voor ze bij de domein controller. Ze moeten wel een account hebben op de Linux machine, ook al kan dat een account zijn zonder shell en zonder (hun bekend) wachtwoord.

Een Samba server zoals hierboven beschreven staat hebben we inmiddels een aantal jaren in gebruik om op onze scholen leerlingen een home map met quota te geven. De lievertjes hoeven niet eens te weten dat het geen NT server is. Wat zou hun dat ook uit maken :D.

Dit stond ook al in HfdStk 4 => herschrijven dus :(