Linux-domeincontroller

Uit Linuxdocs.nl
Ga naar: navigatie, zoeken

Het maken van een Windows NT Domein controller

Door: Michaell Bakker
Website: www.linuxdocs.nl
Versie: 19-05-2006


Inleiding

Het is met SAMBA mogelijk om een Windows domein controller na te maken. Dit is zeer handig, wanneer u een netwerk heeft met Windows NT/9x cliënten en u dan vaak van pc wisselt.

Deze how2 zal op een hopelijk eenvoudige manier vertellen, hoe u een dergelijke server kunt opzetten.

Wat is een domein controller

Een domein controller is een server in een computer netwerk voor Microsoft Windows die centraal beheert wie er toegang tot welke stukken van het domein mag hebben. Dit in tegenstelling tot het werkgroep-model, waarbij gebruikers en toegang op iedere individuele computer ingesteld moeten worden.
Tot Windows 2000 was er in een domein maar een enkele domein controller (PDC, Primary Domain Controller), eventueel met een of meerdere back-up-domein controllers (BDC). Bij uitval van de domein controller zou toegang tot computers namelijk niet meer mogelijk zijn.
Met de komst van Windows 2003 Server en Active Directory is er hiërarchische structuur in de domeinen mogelijk geworden waarmee meerdere domeinen in een boomstructuur ("tree") georganiseerd kunnen worden, en meerdere "trees" in een "forest". Voor grotere organisaties met meerdere vestigingen biedt dit een grotere flexibiliteit.

Bron: wikipedia

Benodigdheden

  1. Een Linux server.
  2. Minimaal 1 werkstation draaiende op 1 van de op NT of 9x kernels gebaseerde Windows versies (winXP home kan geen lid worden van een domein).
  3. Een werkend computer netwerk.
  4. Internet toegang i.v.m. downloaden van SAMBA.
  5. Linux cdrom.

Installeren van SAMBA

De meeste Linux distro's hebben SAMBA standaard wel aan boord. Maar voor het maken van een domein controller is een redelijk recente versie vereist. Dit geld helemaal, als u ook Active directory support wilt hebben.

SAMBA is gratis te downloaden vanaf: <a href="http://www.samba.org" Target="window-1">www.samba.org</a>.
Zorg ervoor, dat u kiest om de zogenaamde source bestanden te downloaden, en niet de binaries. Ik weet namelijk niet of de binaries domein controller ondersteuning bieden.
U kunt daarom het beste het bestand samba-latest.tar.gz van deze FTP server downloaden. Op die manier kunnen we zelf functionaliteit toevoegen / verwijderen.

SAMBA installeren

Voor het gemak plaats ikzelf de source downloads in /usr/src.
Kopieer het bestand samba-latest.tar.gz naar deze lokatie en pak het bestand vervolgens uit.
Dit doen we met de volgende opdrachten:

[gebruiker@server /]# su -
Password: _
[root@server ~/]# mv /pad/naar/samba-latest.tar.gz /usr/src
[root@server ~/]# cd /usr/src
[root@server src]# tar -xvzf samba-latest.tar.gz
[root@server src]# _

Vervolgens gaan wij naar de zojuist gemaakte samba directory en geef de volgende opdrachten om samba te compileren met Active directory support:

[root@server src]# cd samba-3.0.*/source
[root@server samba]# ./configure --with-ads --with-smbmount --with-quotas
[root@server samba]# make
[root@server samba]# make install

Het configureren en compileren van SAMBA kan afhankelijk van uw systeem van een paar tellen tot meer dan een uur in beslag nemen.
Tijdens dit proces ziet u veel regel verschijnen. Dit is normaal. Waarschuwingen kunt u veilig negeren. Fatale errors zullen het proces echter wel stoppen.

Gebruik maken van SWAT

Het is mogelijk, om alle config regeltjes zelf in te geen typen in het bestand smb.conf. Maar waarom moeilijk doen, als je een handig hulpje kunt inschakelen!

SWAT is een hadige web tool die het smb.conf bestand kan editen. Let echter wel op: SWAT zal alle eventueel reeds bestaande smb.conf vernietigen. MAAK DUS EEN BACK-UP!! als u SWAT wilt gaan gebruiken in een bestaande configuratie.

SWAT wordt gestart vanuit de master server xinetd. Edit het bestand /etc/xinetd.conf en plaats de volgende regels onder dit bestand:

service swat

{

port            = 901
socket_type     = stream
protocol        = tcp
wait            = no
user            = root
server          = /usr/sbin/swat
log_on_failure  += USERID
disable         = no
only_from       = 192.168.0.0/24
}

De += is geen typfout

Herstart nu xinetd

[root@server /]# /etc/rc.d/init.d/xinetd restart

Nu kunt u met uw webbrowser gebruik maken van SWAT. Ga daarvoor naar de volgende URL of klik op de link: http://localhost:901
U kunt inloggen als "root".

SAMBA inrichten als NT domeincontroller

SAMBA kent veel instellingen. Helaas ben ik niet bekend met ALLE instellingen. Vandaar dat ik het alleen over de basis instellingen ga hebben om een primaire domeincontroller op te zetten.
Hou er a.u.b. rekening mee, dat SAMBA niet instaat is om een Windows 2000/2003 server te vervangen. SAMBA's mogelijkheden zijn te beperkt als domeincontroller om een dergelijke server te vervangen!
Tevens dient u er rekening mee te houden, dat er geen 2 primaire domeincontrollers naast elkaar kunnen zijn. Indien al een domeincontroller in uw netwerk aanwezig is, kunt u SAMBA beter instellen als back-up of secondaire domeincontroller.

De volgende instellingen onder [Global variables] zijn nodig om een domeincontroller op te zetten:

  1. Workgroup: Geef hier de naam op van het domein dat u wilt gaan opzetten.
  2. NetBIOS name: Geef hier een naam op voor uw server. Deze naam zal dienen om de server te identificeren in het domein.
  3. Server string: Een korte beschrijving van uw server.
  4. Security: Deze moet op waarde "user" staan.
  5. Encrypt password: Dient "yes" te zijn.
  6. passwd program: Dient te verwijzen naar: /usr/bin/passwd %u.
  7. Admin users: Geef hier de gebruikersnaam op van de gebruiker of groep die beheerders rechten moeten hebben over de shares. Een groep geeft u aan door er een @ voor te zetten. B.v. om de groep "test" toe te voegen, geeft u op: @test.
  8. Printer admin: Geef hier gebruikers en/of groepen op die printers mogen beheren. Note: de gebruiker root heeft altijd beheerders rechten.
  9. Hosts allow: Geef hier de IPrange op van een vertrouwd netwerk dat gebruik mag maken van het domein. B.v. 192.168.0.
  10. socket options: Dient te staan op: CP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  11. Veto files: Dient te staan op: /Network Trash Folder/TheVolumeSettingsFolder/lost+found/
  12. hide files: dient te staan op: /desktop.ini/ntuser
  13. Domain admin group: Geef hier een gebruiker en/of gebruikersgroep op die het domein mag beheren
  14. Add user script: Dient te staan op: /usr/sbin/useradd -s
  15. Logon script: Beste waarde vind ik persoonlijk: %U.bat. Dit is de bestandsnaam van het script dat door windows uitgevoerd moet worden tijdens het inloggen op het domein (niet verplicht). Dit script dient te eindigen op .bat en geschreven te zijn op een manier die windows begrijpt (De Linux server zelf doet er niks mee).
  16. Logon path: Niet te verwarren met Logon home. Dit is de plek waar Windows NT het profiel op zal slaan. Dit is verplicht. Persoonlijk vind ik de waarde: \\%N\%U\ntprofiel de beste invoer.
  17. Logon drive: De netwerk schijf die als koppeling dient naar het profiel. B.v. z:
  18. Logon home: Niet te verwarren met Logon path. Dit is de plek, waar alle Win9x/me pc's hun profiel zullen opslaan. Persoonlijk gebruik ik de waarde: \\%N\%U\profiel hiervoor.
  19. Domain logons: Dient te staan op "yes". Anders kan niemand inloggen op het domein.
  20. OS level: Standaard zal deze server de verkiezingen om local master te worden tussen andere windows pc's winnen. Met uitzondering van Windows 2000/2003 server edition. Door deze standaard waarde te verhogen, zal SAMBA de verkiezingen winnen over alle windows servers/werkstations. LET OP: Een te hoge waarde kan nadelig uitpakken. De default waarde is 32. Ik heb deze zelf op 64 staan.
  21. Preferred master: Dient te staan op: True
  22. Local master: dient te staan op: "yes"
  23. Domain master: Dient te staan op: True
  24. DNS proxy: Zal alle NetBIOS namen omzetten in DNS namen. Dit vereist, dat elke Windows pc een eigen DNS entry heeft. Aanbevolen word om dit op "No" te zetten, tenzij u weet wat u doet.
  25. WINS support: Zal SAMBA instellen als WINS server. Aanbevolen is om dit op "yes" te zetten. Het is niet mogelijk om SAMBA te laten werken als zowel een WINS server als een WINS client!

Variabelen: SAMBA staat toe om variablelen te gebruiken. Zo staat %N voor de NetBIOS naam van de server en %U voor de gebruikersnaam voor de op dat moment actieve user.
B.v. Als gebruiker "pietje" inlogt op "test-server", dan zal de server van \\%N\%U\home maken: \\test-server\pietje\home. Dit scheelt een boel werk bij veel gebruikers. Dit zelfde is ook mogelijk voor de logon scripts.

Shares instellen

De NetLogon share:
Deze share is verplicht! Het is de plaats waar alle Windows scripts moeten worden geplaatst. Indien u deze niet heeft, of niet wilt maken, laat u deze share gewoon leeg. Hij moet er echter wel zijn.
Deze share moet speciaal worden ingericht. Er mag wel van gelezen worden, maar niemand mag hier op kunnen schrijven. De volgende opties moeten ingesteld worden:

  1. Comment: Geef hier een korte beschrijving van de share. Dit mag u zelf verzinnen.
  2. Path: Geef hier het pad op van deze share. B.v. /home/samba/netlogon
  3. Guest account: Geef hier een gebruiker op die gast toegang mag krijgen tot deze share. B.v. nobody.
  4. Admin users: Geef hier een gebruiker of groep op die deze share mogen beheren.
  5. Write list: Geef hier een gebruiker of groep op die naar deze share mag schijven.
  6. Read only: Moet staan op: "Yes".
  7. Create mask: Moet staan op: 0644
  8. Guest OK?: Hier geeft u op of iemand met het gast account gebruik mag maken van deze share.
  9. Hosts allow: Geef hier een IPrage op voor het interne netwerk. B.v. 192.168.0.
  10. Hosts deny: Geef hier een eventueel IP op van een pc die er niet bij mag.
  11. Veto files: Geef hier op: /Network Trash Folder/TheVolumeSettingsFolder/lost+found/
  12. Hide files: Geef hier op: /desktop.ini/ntuser
  13. Browseable: Dient op "Yes" te staan.
  14. Available: Dient op "Yes" te staan.

De overige shares mag u zelf naar eigen inzicht aanmaken.

Gebruikers aanmaken

Gebruikers kunt u onder SWAT eenvoudig aanmaken d.m.v. de knop Password. Geef hier een gebruikersnaam en wachtwoord op en druk vervolgens op de knop: Add user.

Dit is vereist! Domein gebruikers zijn geen lokale gebruikers. Als u b.v. op uw windows pc inlogt als gebruikers "kees", zal gebruiker "kees" niet kunnen inloggen op het domein. U dient deze eerst hier aan te maken met een wachtwoord voordat dit mogelijk is.

Vergeet niet om de gebruiker "root" aan te maken voor SAMBA. Deze gebruiker dient als een soort van "Administrator" account voor windows en is gemachtigd om u later aan te melden bij het domein (Kom ik later op terug),

Voor en nadelen van domeingebruikers ten opzichte van lokale gebruikers

  • Domein gebruiker: Is een gebruiker die inlogt op een WindowsNT domein.
  • Lokale gebruiker: Is een gebruiker die inlogt op de computer zonder gebruik te maken van een domein.

Voordelen:

  1. Het profiel wordt opgeslagen op de server. Indien u in logt op een ander werkstation, zult u uw eigen instellingen terug krijgen. Natuurlijk moeten wel alle applicaties ook op het andere werkstation staan. Anders krijgt u een boel nutteloze snelkoppelingen te zien.
  2. Domeingebruikers zijn eenvoudiger te beheren. De beveiliging is ook beter en een stuk eenvoudiger in te stellen door een beheerder. Dit kan dan namelijk vanaf 1 centraal punt. Namelijk de server.
  3. Domeingebruikers voeren bij elke succesvolle inlog een indien aanwezig *.bat script uit. Zo kunnen o.a. automatisch persoonlijke netwerkverbindingen worden gemaakt met shares op de server en de tijd automatisch worden ingesteld met die van de server.
<p>Nadelen:

  1. Het inloggen duurt iets langer, omdat het profiel (Het zogenaamde "zwervende profiel") vanaf de server moet worden opgehaald. Dit veroorzaak met name problemen als er veel "grote" bestanden in uw profiel staan. Indien u b.v. veel grote bestanden in de directory "Mijn documenten" heeft, kan het inloggen zelfs een kwartier duren! Ditzelfde geld ook voor het uitloggen.
  2. Inloggen op een domein lukt alleen maar als de server aan staat en te benaderen is. Er moet dus een extra pc aan staan. Dit maakt dit proces niet echt handig voor thuis gebruikers.
  3. Domein gebruikers hebben een ander profiel dan lokale gebruiker. Indien u b.v. inlogt als "piet" lokaal en u logt later in als "piet" op het domein, krijgt u een volledig anders ingedeelde pc. De inpakt die dit heeft valt mee onder Win9x/ME. WinNT is hier echter veel strikter in.

Inloggen met windows NT onder het nieuwe domein:

Omdat SAMBA geen volwassen domein controller is, dienen de volgende opties aangepast te worden onder Windows NT5.1 (WinXP):

Ga naar: Configuratiescherm-->Systeembeheer-->Lokaal beveiligingsbeleid-->Lokaal beleid-->Beveiligingsopties

En zorg ervoor, dat de volgende opties zijn uitgeschakeld:

  1. Lid van domein: Geen systeemonderhoud van wachtwoord computeraccount.
  2. Lid van domein: Gegevens in beveiligd kanaal digitaal coderen (indien mogelijk).
  3. Lid van domein: Gegevens in beveiligd kanaal digitaal coderen of ondertekenen (altijd).
  4. Lid van domein: Gegevens in beveiligd kanaal digitaal ondertekenen (indien mogelijk).
  5. Lid van domein: Sterke sessiesleutel verplicht (Win 2000 of hoger).

Vervolgens maken we de volgende aanpassing:
Ga naar Configuratiescherm-->Netwerkverbindingen.
Klik met de rechter muisknop op uw actieve netwerkverbinding en klik dan vervolgens op "Eigenschappen".
Selecteer hier: "Internet protocol (TCP/IP). En klik op "Eigenschappen".
Klik vervolgens op "Geavanceerd" en dan op het tabblad "DNS". Haal hier het vinkje weg bij: "De adressen van deze verbinding in DNS registreren".

Nu kunnen we ons aanmelden bij ons domein. Dit gaat als volgt:

  1. Ga naar het configuratiescherm.
  2. Ga hier naar: Systeemeigenschappen-->Computernaam-->wijzigen.
  3. Wijzig de huidige werkgroep naar de werkgroep met de naam van uw domein (Dit is om een Domein bug in WinXP te omzeilen waardoor hij het domein niet zal vinden).
  4. Herstart de pc.....
  5. Ga opnieuw naar: Configuratiescherm-->Systeemeigenschappen-->Computernaam-->Wijzigen.
  6. Vink nu "Domein" aan en vul uw domeinnaam in
  7. Geef het wachtwoord op van een gebruiker die op de domeincontroller gemachtigd is om de registratie bij de domeincontroller te voltooien (root)
  8. Er verschijnt nu een melding "Welkom bij het domein xxxxx". Herstart nu weer de pc (Alsof we niks beters te doen hebben...).
  9. Na het herstarten dient u bij het nieuwe inlogscherm nog even op "opties" te klikken en selecteer vervolgens uw domein uit deze lijst.
  10. Log nu in als een domeingebruiker. Deze dient wel eerst te zijn aangemaakt bij de domeincontroller.

De WINS server

Een WINS server lijkt sterk op een DNS server. Het zet hostnamen om in IP-adressen. Het is echter niet te vergelijken met DNS.

Voor een domeincontroller is het een handig tooltje. Het werkt zeer eenvoudig. Om een WINS server op te zetten doet u het volgende:

  1. Open het bestand /etc/samba/lmhosts.
  2. Plaats hier een IP-adres van de server gevolgd door de gewenste naam (B.v. 192.168.0.1 domein-controller) en eventueel een IP-adres van een werkstation met een naam daarachter op een nieuwe regel (U kunt dmv een spatie meerdere namen toekennen aan een IP-adres).
  3. Sla dit bestand op.

Samba en smbd starten

Samba starten:
Om de domeincontroller en alle shares te starten geeft u de volgende opdracht:

[root@server /]# /etc/rc.d/init.d/smb start

De WINS server (smbd) starten:
Om de WINS server te starten geeft u de volgende opdracht:

[root@server /]# /usr/sbin/smbd &

Samba en smbd stoppen

Samba stoppen:
Om de domeincontroller en alle shares te stoppen geeft u de volgende opdracht:

[root@server /]# /etc/rc.d/init.d/smb stop

De WINS server (smbd) stoppen:
Om de WINS server te stoppen geeft u de volgende opdracht:

[root@server /]# killall -HUP smbd

Problemen?

Ik hoop dat deze how2 u in staat stelt in te loggen op ons domein. Indien het niet is gelukt, kunt u hier mijn werkende smb.conf bestand downloaden. Vergeet niet eerst deze aan te passen aan uw situatie!

<a href="/downloads/smb.conf">Download smb.conf</a>.



How-TO's | Hoofdpagina | Linux Nieuws | Externe links | Help