Een Samba ADDC maken Videoversie van deze handleiding: http://www.youtube.com/watch?v=ESe8Hd6G5-‐w
In deze handleiding maken we een Active Directory Domain Controller gebaseerd op Linux met Samba. De instellingen die wij gebruiken zijn als volgt: Domein: Server hostname: Volledige servernaam (in domein): Linux-‐accountnaam: Linux-‐wachtwoord: Domeinadministrator-‐wachtwoord:
linuxdomein.local serverx serverx.linuxdomein.local Administrator hoi Hoi123!
Samba versie 4 is ideaal en ontworpen om als een Active Directory Domein Controller te kunnen functioneren, zolang je genoeg neemt met 1 forest met daarin 1 domein. In de toekomst worden mogelijk meerdere forests en meerdere domeinen ondersteunt, maar dat is nu nog niet het geval. In de volgende handleiding gaan we een Samba ADDC maken gebaseerd op Ubuntu Server 12.04 LTS. Laten we beginnen! 1. Hardware voorbereiden a. Benodigdheden: i. Een vooraf opgezet netwerk (bedraad) ii. Een lege CD of USB opslagapparaat van minimaal 1GB iii. De server zelf. b. Minimalen systeemeisen server (niet aanbevolen voor dagelijks gebruik): i. 300 MHz x86 (Intel of AMD) processor ii. 128 MiB RAM; 256 MiB voor een virtuele installatie iii. 1 GB vrije schijfruimte iv. (Geïntegreerde) Grafische Kaart en Monitor die een resolutie van minimaal 640x480 kunnen weergeven. v. CD drive of USB-‐opslagapparaat (voor de installatie). 2. Ubuntu Server Installatie CD/USB maken a. Download Ubuntu Server van: http://www.ubuntu.com/download/server/ i. Op het moment van schrijven is 13.04 de nieuwste versie. Toch wordt aanbevolen Ubuntu Server 12.04 LTS te gebruiken. LTS staat voor Long Term Support en dat is de Ubuntu versie die 5 jaar wordt ondersteund. b. Maak je een CD? i. Brand het ISO bestand op CD met je favoriete applicatie. Het werkt ook perfect met de ingebouwde ISO-‐brander van Windows 7/8 of het schijfhulpprogramma in Mac OS X. Het werkt ook met de ISO-‐brander die Ubuntu meelevert. c. Maak je een USB? i. Gebruik een hulpprogramma om de ISO op USB te zetten. Een aanbevolen tool hiervoor is bijvoorbeeld Universal USB Installer. (http://www.pendrivelinux.com/universal-‐usb-‐installer-‐easy-‐as-‐1-‐2-‐ 3/)
ii. Ik ga niet helemaal uit de doeken doen hoe dit werkt, het spreekt eigenlijk wel voor zich. Kies je USB-‐stick, distro (Ubuntu Server in ons geval), selecteer de ISO en klik volgende. Klaar is je USB stick. 3. Installeer Ubuntu Server a. Stop je CD in het CD-‐ROM station of steek je USB-‐stick in een vrije USB poort. b. Start op vanaf de CD-‐ROM of USB-‐stick. c. De installatie start. Kies de gewenste taal en klik op enter. Kies daarna “Ubuntu Server Installeren” d. Er kan een melding komen dat de vertaling niet compleet is en dat je onvertaalde dialogen kan tegenkomen. We don’t care en kiezen de standaard optie “Ja”. e. In het volgende scherm kies je de locatie (Nederland in mijn geval)
f. Kies in het volgende scherm voor Nee bij toetsenborddetectie en kies je toetsenbordindeling uit de lijst (Ik kies voor Engels US en vervolgens in de volgende lijst voor Engels US, internationaal met dode toetsen)
g. De installatiemodules worden nu geladen… Duurt niet lang!
h. In het volgende scherm kies je de hostname van de server (computernaam). Let op, de hostname die je hier kiest wordt straks de hostname die de server gebruikt binnen het domein. i. Oké, nu maken we een gebruiker. Er wordt gezegd dat je eerst je volledige naam mag invullen. Ik kan dus ‘Remco de Man’ invullen maar kies hier voor dit voorbeeld voor ‘Administrator’.
j.
Nu kies je de gebruikersnaam waarmee je straks daadwerkelijk inlogt. Omdat ik in het vorige scherm voor ‘Administrator’ heb gekozen staat er alvast ‘administrator’ ingevuld. Dit is voor dit voorbeeld prima, maar je kunt hier ook iets anders kiezen. Let erop dat deze alleen uit kleine letters, cijfers en
speciale tekens mag bestaan. (hoofdletters en spaties zijn niet toegestaan).
k. Nu wordt er 2x om een wachtwoord gevraagd. Kies hier je eigen wachtwoord. Ik kies voor een James Bond-‐like veilig wachtwoord voor dit voorbeeld, namelijk ‘hoi’. l. De volgende vraag is of we onze persoonlijke map willen versleutelen. Het is aan jezelf of je dat doet. Het is eigenlijk niet belangrijk voor de algehele veiligheid van de server. Dus ik doe het niet. m. Oké, we gaan nu de schijven indelen. Hier is het punt waar het creepy wordt. Kies ‘Handmatig’ in het eerste scherm.
n. Je komt nu in een scherm met je harde schijven. In mijn voorbeeld werk ik in een Parallels Virtuele PC, met 1 HDD. Deze gaan we partitioneren. Kies de schijf die je wilt partitioneren. o. Ik krijg de melding dat ik nog geen schijfindelingstabel op de schijf heb. Dat is niet zo raar, want deze virtuele PC is net aangemaakt. Ik maak een schijfindelingstabel door op ‘Ja’ te drukken.
p. In mijn overzicht heb ik nu ‘VRIJE RUIMTE’ op de schijf. Ik kies deze zodat ik kan gaan partitioneren. q. In het volgende scherm kies ik voor ‘Een nieuwe partitie aanmaken’.
r. Onder normale omstandigheden is het logisch dat een server meerdere harde schijven heeft. Omdat ik in dit voorbeeld 1 harde schijf gebruik ga ik meerdere partities maken. Ik kies dus in het volgende voorbeeld om 50% van de schijf te gebruiken. Onder normale omstandigheden zou je hier
bijvoorbeeld 100% kunnen kiezen.
s. Ik kies voor een ‘Primaire Partitie’ en ga verder.
t. Vervolgens wordt gevraagd of ik de nieuwe partitie aan het begin of het einde van de vrije ruimte wil maken. Ik kies gewoon voor het begin. Als je de hele harde schijf gebruikt voor de partitie (en dus voor 100% hebt gekozen), dan krijg je deze vraag niet. u. Nu krijg je informatie over de partitie. Dit is belangrijk. Kies bij ‘Gebruiken als:’ voor ‘Ext4 loggend bestandssysteem’. Op deze eerste partitie gaan we het OS installeren, en kies ik dus bij aanhechtpunt voor ‘/’, de root van het UNIX/Linux bestandssysteem. De rest kan op de standaardinstellingen blijven staan.
v. Ik maak nog een partitie op dezelfde schijf. Dit gaat op dezelfde manier als net. Je zou ook op eventuele andere harde schijven partities kunnen aanmaken. Het enige verschil is met het maken van de OS partitie, is dat het aanhechtpunt verschilt. Bij het aanhechtpunt kies je nu voor ‘Aanhechtpunt handmatig invoeren’ en voer je bijvoorbeeld in: ‘/data’. Als je meerdere datapartities/HDD’s hebt kun je bijvoorbeeld kiezen voor /dataX, waarbij je de X steeds vervangt door een oplopend nummer. Het is ook aanbevolen een ‘swap partitie’ te maken. Deze partitie kan worden gebruikt als wisselgeheugen als het RAM volraakt. Om deze partitie te maken, maak je een partitie alleen kies je bij ‘Gebruiken als:’ voor ‘Wisselgeheugen (swap area)’. Verder hoef je voor die partitie niks in te stellen.
w. Oké, het indelen van de partities is klaar, en ziet er nu bij mij zo uit. Dit kan bij jouw natuurlijk anders zijn. We sluiten de schijfindeler en schrijven de veranderingen naar de schijf.
x. Nadat je de schijfindeler hebt gesloten worden de partities aangemaakt en het basissysteem geïnstalleerd. Dit duurt even, dus gun jezelf een koekje. Als er wordt gevraagd om Proxy-‐gegevens, kun je deze invullen. Heb je geen proxy? Dan laat je het leeg en ga je verder.
y. De volgende vraag gaat over automatische updates. Standaard is de instelling “geen automatische updates”. Dit is alleen echter niet aan te bevelen. Vaak willen serverbeheerders zelf controle houden op de updates maar voor het doel van deze server zou ik automatische beveiligingsupdates zeker activeren. Dat kies ik dus ook. De optie “systeem beheren met landscape” is geen optie voor ons. Je moet dan een landscape abonnement bij Canonical (het bedrijf achter Ubuntu) afsluiten.
z. Nu volgt de software-‐selectie. Schakel in dit scherm (met de spatiebalk) alleen ‘OpenSSH server’ in. Ga daarna verder. aa. Nu wordt de rest van de programmatuur geïnstalleerd. Dit duurt weer even. Als je honger hebt kun je nog een koekje nemen.
bb. Daarna wordt GRUB geïnstalleerd. Dit is de bootloader van het besturingssysteem. Als gevraagd wordt of je GRUB in het MBR van de schijf wilt installeren, kies dan voor ‘Ja’.
cc. Vervolgens krijg je de melding dat de installatie is voltooid. Dat is mooi. Haal de CD-‐ROM uit het Cd-‐Romstation of de USB-‐stick uit de USB-‐poort en kies volgende.
dd. Het systeem wordt nu herstart. We kunnen verder met de volgende stap. 4. Het systeem voorbereiden op de installatie van de Samba ADDC a. Log in op het systeem met je gebruikersnaam en James Bond-‐like veilige wachtwoord zoals je dat bij de installatie hebt opgegeven. Let op! In Linux wordt het wachtwoord terwijl je het typt niet weergegeven, ook niet als sterretjes of puntjes.
b. We zijn ingelogd. Laten we beginnen met updaten van de server. Ubuntu maakt gebruik van de pakketmanager ‘apt’. We laten ‘apt’ dus nu alle pakketten (software) updaten. Voer het volgende commando uit: sudo apt-get update Even weten wat dit doet. ‘sudo’ is het eerste commando. Het staat voor superuser do en is eigenlijk een commando om iets als beheerder uit te voeren, net zoals op Windows Pc’s. ‘apt-‐get’ is het hoofdcommando van de pakketmanager, ‘apt’. Het update commando van ‘apt-‐get’ zal de pakketlijsten updaten. Dit is nog niet het updaten van de pakketten zelf, maar eigenlijk het ‘zoeken naar updates’. c. ‘sudo’ vraagt zo goed als altijd om je James Bond like veilige wachtwoord. Voer deze nu in. Ook hier zie je weer niks, maar Linux zal je typen gewoon begrijpen.
d. De pakketlijsten worden opgehaald. Dat duurt eventjes.
e. Als de pakketlijsten zijn opgehaald, kunnen we updaten. Dat doen we door weer ‘apt-‐get’ als beheerder uit te voeren, maar nu met het ‘dist-‐upgrade’ commando. sudo apt-get dist-upgrade f. Apt zal laten zien dat er wel wat pakketten zijn om te updaten. Er wordt gevraagd of je zeker bent dat je dat wilt. Bevestig dit met de ‘J’ van Ja. (In het Engels de ‘Y’ van Yes).
g. De pakketten worden gedownload en geïnstalleerd. Net na de installatie zal dat wel even duren. Dus neem wat drinken of speel een spel op je superluxe smartphone. h. Nadat de pakketten zijn geïnstalleerd kun je het beste de nieuwe server even herstarten. Doe dit als beheerder met het commando reboot. sudo reboot i. Het rebooten zal opvallend snel gaan. Dat is ook niet zo raar, we hebben nog helemaal niet veel geïnstalleerd! j. We zijn opnieuw opgestart. Laten we weer inloggen en de netwerkinstellingen wijzen. Log in. k. De netwerkinstellingen van Ubuntu zijn vastgelegd in het bestand /etc/network/interfaces. Die gaan we bewerken met de ‘kladblok’-‐like applicatie van linux: nano. Deze voeren we als beheerder uit. sudo nano /etc/network/interfaces l. Als je je wachtwoord hebt ingevoerd kom je in nano terecht. Navigeer met de pijltjestoetsen en wijzig wat nodig is. Ergens in het bestand staat de netwerkcontroller van de server. Als je er meerdere hebt kan dit ingewikkelder zijn. Meestal is eth0 de primaire netwerkkaart. Dit kan echter ook eth1, eth2, ethX zijn. Wij gaan hier uit van eth0. m. Ergens in het bestand zal staan ‘iface eth0 inet dhcp’. Dit gaan wij veranderen en we gaan er wat aan toevoegen. Verander ‘iface eth0 inet dhcp’ naar ‘iface eth0 inet static’ en voeg daarachter de volgende regels toe:
n.
o.
p.
q. r.
s.
address 192.168.1.1 network 192.168.1.0 netmask 255.255.255.0 gateway 192.168.1.254 Je voelt natuurlijk wel aankomen dat deze instellingen door je eigen netwerkinstellingen veranderd dienen te worden. Je address wordt het statische IP-‐adres van de server. De rest van de netwerkinstellingen spreken eigenlijk voor zich. Met CTRL-‐X sluit je Nano. Als er wordt gevraagd om je instellingen op te slaan doe je dit natuurlijk. Kies voor ‘Y’ om de wijzigingen op te slaan. Daarna vraagt nano naar welk bestand je de wijzigen wilt opslaan. Behoud het interfaces bestand wat al staat ingevuld en druk ‘Enter’. Terug op de command-‐line gaan we de DNS-‐servers toevoegen aan resolvconf. Dit is een script wat de DNS servers beheerd. We wijzigen het script voor resolvconf door het bestand /etc/resolvconf/resolv.conf.d/base te openen in nano. Voer dus uit (als beheerder met sudo): sudo nano /etc/resolvconf/resolv.conf.d/base Nadat je (eventueel) je wachtwoord hebt ingevoerd, kom je in een leeg bestand terecht. Voeg hier DNS servers aan toe door op de regel ‘nameserver x.x.x.x’ te zetten. Hierin moet je x.x.x.x vervangen door het IP-‐adres van de DNS-‐server. Laten we kiezen voor de DNS-‐servers van Google in dit voorbeeld. We doen dit door de volgende twee regels toe te voegen: nameserver 8.8.8.8 nameserver 8.8.4.4 Opnieuw sluiten we nano met CTRL-‐X. Kies voor ‘Y’ om de wijzigingen op te slaan. Daarna vraagt nano naar welk bestand je de wijzigen wilt opslaan. Behoud het bestand wat al staat ingevuld en druk ‘Enter’. Terug op de command-‐line gaan we de netwerkinterface herstarten. Zo hoeven we niet de hele server te herstarten om het netwerk opnieuw in te laden. We voeren 2 commando’s uit. 1 om het DNS gedeelte van de server te herstarten en 1 voor de netwerkinterfaces. We moeten de volgende commando’s uitvoeren: sudo service resolvconf restart sudo service networking restart Dit is een commando wat we ook wel in 1 regel kunnen schrijven. We doen daarom: sudo service resolvconf restart && sudo service networking restart Test of je verbinding hebt met internet door een website te pingen die altijd online is, zoals die van Google. Doe dit net zoals op Windows met het ping command. Hiervoor hoef je geen beheerder te zijn. ping google.nl
t. Het pingen gaat door totdat je CTRL-‐C doet. Als je antwoord krijgt van Google kun je concluderen dat er een stabiele verbinding is. Gebruik dus CTRL-‐C om het testen te stoppen.
u. Nu we up-‐to-‐date zijn en de netwerkinstellingen zijn ingesteld kunnen we ook wel vanaf afstand op de server inloggen. Dat is onze volgende stap. 5. Vanaf afstand inloggen op de server voor de installatie van Samba. a. Omdat we bij de installatie van Ubuntu Server hebben gekozen voor de OpenSSH server kunnen we nu op afstand inloggen op de server. In Linux en Mac OS X kan dit heel makkelijk met het terminal commando ‘ssh’. In Windows moet je hiervoor een programma zoals PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) hebben. b. Wij gaan hier uit van een UNIX gebaseerd systeem met het ‘ssh’ commando (hier Mac OS X), maar PuTTY zal niet veel anders werken. We loggen in met het statische IP adres wat we de server hebben gegeven. We doen ‘ssh
[email protected]’ Omdat ik een virtuele server gebruik, is het IP-‐adres 10.211.55.4. Op jouw server heb je het IP-‐adres in de vorige stap ingesteld. We loggen in: ssh
[email protected] De eerste keer dat je verbind zal worden gevraagd om bevestiging. In Linux en Mac OS X beantwoord je dit met ‘yes’. In PuTTY kun je op de knop ‘yes’ drukken in het venster wat in beeld komt.
c. Nu vul je je wachtwoord in. Ook hier komt deze weer niet in beeld. Ook in PuTTY op Windows niet.
d. Oké, als het goed is zie je zoiets als het plaatje hieronder. We zijn dan extern ingelogd op de server.
6. Samba installeren a. We gaan nu samba installeren. We doen dit via de externe verbinding die we nu hebben gemaakt. Het voordeel hiervan is dat we links naar de terminal/PuTTY kunnen kopiëren en plakken en het terminalvenster/venster van PuTTY groter kunnen maken. Ik ga ervanuit dat je nu ingelogd bent.
b. Voor dat we samba downloaden hebben we eerst een aantal hulppakketten nodig. Dit zijn pakketten om Samba straks te kunnen bouwen en te laten werken. Het volgende commando bevat alle pakketten (als je extern bent ingelogd kun je nu dus gewoon kopiëren en plakken!): sudo apt-get install build-essential pkg-config libkrb5-dev libacl1-dev libattr1-dev python2.7-dev libpam0g-dev libldap2-dev git c. Voer je wachtwoord in en bevestig met ‘J’ dat je de pakketten wilt installeren. Het zou kunnen dat apt aangeeft dat je voor deze pakketten nog een aantal pakketten nodig hebt. Deze worden automatisch geïnstalleerd. Dat is niet erg. Het downloaden en installeren kan even duren. Waarschijnlijk is het alweer tijd voor een koekje? d. Oké, nu gaan we samba downloaden. Dit doen we via GIT. We gaan dus een GitHub repository klonen naar een temporary map die we in onze home folder aanmaken. We beginnen met de map. We maken hem aan en gaan de map meteen binnen: mkdir samba && cd samba e. Nu gaan we samba ophalen uit de samba Git Repository. We gebruiken de stable-‐branche. We willen geen instabiliteitsproblemen hebben op een productieserver. Voer het volgende commando uit om de repository-‐branche te klonen: git clone -b v4-0-stable git://git.samba.org/samba.git samba-v4-0-stable
f. Ook dit kan weer even duren. Het beste pak je alvast het hele pak koekjes, anders blijf je lopen. We wachten tot het is voltooid. g. Als de download is voltooid hebben we nog geen werkende samba. We hebben slechts de source-‐code van samba. Deze zullen we eerst moeten compileren. Dit is gelukkig niet te moeilijk. Eerst moeten we onze gekloonde map binnengaan. Dit doen we gewoon met cd. cd samba-v4-0-stable
h. In de samba-‐v4-‐0-‐stable map bevinden zich alle benodigde bestanden. Laten we gaan compileren. Hiervoor moeten we samba eerst configureren. Doe dit door het volgende commando als beheerder uit te voeren: ‘./configure’. sudo ./configure
i.
Als het configureren klaar is (kan even duren, vandaar dat je alle koekjes moest pakken) kunnen we echt gaan compileren of bouwen. We doen dit door het volgende commando uit te voeren: sudo make
j.
Oké, het bouwen zal ook wel even geduurd hebben. We zijn er nu bijna! Samba is gebouwd maar moet nog geïnstalleerd worden. Dit doen we door het laatste commando uit te voeren: sudo make install
k. Als het installeren is voltooid (je pak koekjes zal nu wel leeg zijn) kunnen we naar de map waar samba is geïnstalleerd, namelijk “/usr/local/samba”. Laten we naar die map gaan met: cd /usr/local/samba l. Oké, samba is nu wel geïnstalleerd, maar is nog geen ADDC (Active Directory Domain Controller). Dat gaan we nu veranderen. Voer het volgende commando uit: sudo bin/samba-tool domain provision m. Er worden nu een aantal vragen gesteld (erg kort geformuleerd zijn ze wel!). Vul voor “Realm:” je hele domein met top level domein. Wij kiezen in dit voorbeeld voor “linuxdomein.local” n. De volgende vraag is ‘Domain’. Hier vul je het nieuwe domein in zonder top level domein. Dit is dus “linuxdomein”. o. Vervolgens wordt gevraagd om de “Server role:”. Vul hier ‘dc’ in, wat staat voor domain controller. Bij ‘DNS backend:’ vul je niks in en druk je op ‘enter’. Vervolgens vul je bij ‘DNS forwarder IP address:’ het IP-‐adres van de server in. p. Als laatste wordt gevraagd om een ‘Administrator password:’. Dit is het wachtwoord wat de administrator van de domein controller krijgt. Verwar dit niet met het wachtwoord van de administrator van de server. Die hebben we al opgegeven d.m.v. sudo. In het voorbeeld kiezen we hier ‘Hoi123!’, omdat dit wachtwoord sterker moet zijn.
q. Het domein wordt nu ingesteld. Je krijgt zoiets als hieronder staat. Je domein is nu klaar voor gebruik.
r. Nu het domein klaar is voor gebruik, moeten we er nog voor zorgen dat samba bij het starten van de server ook opstart. Dat gaan we nu doen door met nano de opstartcommando’s te bewerken. Het volgende commando: sudo nano /etc/rc.local s. Als je het bestand geopend hebt, voeg je toe voor de regel met ‘exit 0’ de volgende regel: /usr/local/samba/sbin/samba Je krijgt dus iets als het onderstaande.
t. We sluiten nano met CTRL-‐X. Kies voor ‘Y’ om de wijzigingen op te slaan. Daarna vraagt nano naar welk bestand je de wijzigen wilt opslaan. Behoud het bestand wat al staat ingevuld en druk ‘Enter’. u. Laten we nu samba meteen opstarten. Voer het volgende commando uit: sudo /usr/local/samba/sbin/samba v. Laten we testen of we verbinding kunnen maken. Gebruik daarvoor het volgende commando: /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Hoi123!' -c 'ls' Op deze manier loggen we in op het domein met de domeinadministrator. Alleen het wachtwoord tussen de apostrofjes, bij mij Hoi123! moet je veranderen. Anders krijg je een NT_STATUS_LOGON_FAILURE.
w. Als je verbinding hebt gemaakt ben je klaar met het instellen van het domein aan de linux kant. Het enige wat je nog kan instellen aan de linux kant zijn de shares. Dat doen we in de volgende stap. 7. Samba shares maken a. Om samba shares te maken gaan we het configuratiebestand van samba, ‘smb.conf’, bewerken. We openen dat met nano, als beheerder, natuurlijk. sudo nano /usr/local/samba/etc/smb.conf a. Aan het eind van het bestand kunnen we onze share aanmaken. Een share ziet er zo uit: [testshare] path = /data/share comment = Dit is een test share read only = no Hierin is ‘testshare’ (tussen de blokhaken) de sharenaam. Straks maken we verbinding hiermee via \\serverx\testshare. Bij path geeft je de locatie op waar de share zich op het linux bestandssysteem bevindt. Wij gaan deze plaatsen op de datapartitie in de map share, dus /data/share. Bij comment kun je een opmerking over de share opgeven. Daarnaast is ‘read only = no’ belangrijk als je wilt kunnen schrijven naar de share. Dit zijn nog geen gebruiker gerelateerde rechten, het is een masterfunctie. Als je read only op yes zet, kun je zelfs als domeinadministrator de share niet bewerken.
b. Maak eventueel nog een paar shares aan. Dit kan door meerdere van dit soort dingen toe te voegen. Je eindigt met zoiets als hieronder. c. We sluiten nano met CTRL-‐X. Kies voor ‘Y’ om de wijzigingen op te slaan. Daarna vraagt nano naar welk bestand je de wijzigen wilt opslaan. Behoud het bestand wat al staat ingevuld en druk ‘Enter’.
d. Voordat de shares werken moeten we de mappen van de shares nog aanmaken. Daarnaast geef ik meteen de goede rechten mee. In mijn geval doe ik dus: sudo mkdir /data/share && sudo chmod 0777 /data/share e. Nu moeten we alleen nog samba herstarten. Dit doen we door het volgende commando uit te voeren: sudo pkill samba && sudo /usr/local/samba/sbin/samba f. Om te testen of de shares bereikbaar zijn, kun je het volgende commando uitvoeren: /usr/local/samba/bin/smbclient //localhost/SHARENAAM -UAdministrator%'Hoi123!' -c 'ls' Vervang SHARENAAM door je sharenaam (de naam tussen de blokhaken in smb.conf) en Hoi123! door jouw domeinadministrator wachtwoord. g. De share(s) zijn nu aangemaakt. De rechten hiervan kun je later in Windows instellen. De linux kant is nu zelfs helemaal klaar. We gaan over op Windows om het domein verder te beheren. 8. De Samba ADDC beheren (vanuit Windows) a. Om de Samba Active Directory Domain Controller te beheren vanuit Windows, moeten we eerst in het domein zitten van de domeincontroller. Dat gaan we nu doen.
b. Op de Windows computer, ga naar Computer > Eigenschappen.
c. Klik onder de categorie “Instellingen voor computernaam, domein en werkgroep” op de knop “Instellingen wijzigen”. d. In het scherm systeemeigenschappen wat nu opent, klik je op de knop “Netwerk-‐ID”.
e. Selecteer in de wizard de bovenste optie, die beschrijft dat de computer deel gaat uitmaken van een bedrijfsnetwerk.
f. Op het volgende scherm kiezen we voor een bedrijfsnetwerk met domein, we hebben tenslotte niet voor niks onze domein controller geconfigureerd.
g. Het volgende scherm vertelt iets over de gegevens die je nodig hebt. Niet interessant. We gaan verder.
h. Nu wordt het pas interessant. Vul bij “Gebruikersnaam” het administrator-‐ account in. Dit is “Administrator”. Dit heeft Samba automatisch aangemaakt. Als wachtwoord kies je je gekozen Administrator wachtwoord. Dat was in mijn geval “Hoi123!”. Tenslotte natuurlijk nog de domeinnaam. Daar kiezen we “linuxdomein.local”. Windows veranderd dit in hoofdletters. Dat is geen probleem. We kunnen nu doorgaan.
i.
In het volgende scherm wordt gevraagd om een computernaam en computerdomein. Kies voor de computernaam een leuke naam of behoud de bestaande naam. In mijn geval laat ik de computernaam gewoon staan. Voor computerdomein vul je opnieuw ons domein in: “linuxdomein.local”. Ga verder.
j.
Je krijgt nu een venster waarin wordt vertelt dat de computer niet bestaat in ons domein. Dat is logisch, want ons domein is net aangemaakt en nog helemaal leeg. Vul daarom nog een keer de Administrator gegevens in. Voor gebruikersnaam kiezen we dus “Administrator” en voor het wachtwoord “Hoi123!”. Het domein is nogmaals “linuxdomein.local”. i. Mocht je zojuist een foutmelding hebben gekregen, probeer dan eens het IP-‐adres van je server in te stellen als primaire DNS-‐server. Dit lost vaak het probleem op.
k. Er wordt nu gevraagd of we een domeingebruikersaccount mogen toevoegen. Dit is niet zo belangrijk en mag je zelf weten. Ik laat het gewoon staan, omdat het wel handig kan zijn als ik problemen moet oplossen. De standaardinstellingen voldoen dus.
l.
Als je kozen hebt om net zoals mij een domeingebruikersaccount op de computer te maken, wordt gevraagd wat het toegangsniveau van dit account wordt. Omdat ik straks volledige rechten wil, verander ik dit naar “Administrator”.
m. We krijgen een melding dat de computer herstart moet gaan worden. Druk op “Voltooien”. Druk vervolgens op het scherm van “Systeemeigenschappen” op “OK”. In het scherm wat nu verschijnt druk je op “Nu opnieuw opstarten”. Heb je geen SSD? Neem dan een koekje ;).
n. Als je bent herstart zal je merken dat je CTRL+ALT+Delete moet doen om in te loggen. Doe dit. Log in met de gebruikers “LINUXDOMEIN.LOCAL\Administrator”. Omdat ik een domeingebruikersaccount heb aangemaakt wordt dit mij automatisch aangeboden. Heb je dit niet gedaan zal je “LINUXDOMEIN.LOCAL\Administrator”. in het gebruikersnaam vak moeten typen. Kies opnieuw je James Bond-‐like veilige wachtwoord, bij mij “Hoi123!”.
o. Als je bent ingelogd, kunnen we nog niet meteen de server beheren. Dat ondersteund een Windows Client namelijk standaard niet. Dat is makkelijk op te lossen. We gaan “RSAT” van Microsoft downloaden. “RSAT” staat voor “Remote Server Administration Tools”. Open je favoriete browser (of gewoon de snelst beschikbare browser) en ga naar http://www.microsoft.com/nl-‐ nl/download/details.aspx?id=7887. Er bestaat ook een RSAT voor Windows 8 en Windows 8.1. Hiervoor zoek je op Google naar “Microsoft RSAT”.
p. Klik op “Download” om RSAT te downloaden. Afhankelijk van je Internetsnelheid kan dit een tijdje duren. Als het lang duurt, gun jezelf dan nog een koekje.
q. Zodra het downloaden klaar is open je het gedownloade bestand. Deze bereid kort voor en vraagt dan of je de update wilt installeren. Kies “Ja”.
r. Vervolgens worden de pakketten gekopieerd naar de cache en wordt gevraagd of je akkoord gaat met de licentieovereenkomst. Kies “Akkoord”.
s. RSAT wordt nu geïnstalleerd. Dit duurt echt een tijdje, zelfs op een SSD. Koekjes kunnen weer geen kwaad. Misschien heb je zelfs een tweede pak koekjes nodig!
t. Zodra de update klaar is kun je het installatievenster met de knop “Sluiten” sluiten. Tevens is de handleiding van RSAT nu geopend. Die gaan wij niet gebruiken en sluiten we dus ook. u. In tegenstelling tot Windows 8 zal de installatie op Windows 7 de onderdelen niet meteen activeren. Dat gaan we nu doen. Open het menu Start en typ in “Windows onderdelen in-‐ of uitschakelen”. Kies de bovenste optie.
v. Vouw de map “Externe-‐serverbeheerprogramma’s” uit. Klap nu “Beheerprogramma’s voor onderdelen” uit en selecteer “Hulpprogramma’s voor Groepsbeleidbeheer”. Klap nu ook de map “Beheerprogramma’s voor rollen” uit en klap vervolgens “Hulpprogramma’s voor AD DS en AD LDS” uit. Zorg ervoor dat alle onderdelen en subonderdelen van deze map worden geselecteerd. Klap nu “Hulpprogramma’s voor Bestandsservices” uit en selecteer deze tevens. In de map kies je alleen voor “Hulpprogramma’s voor share-‐ en opslagbeheer”. Kies nu “OK”.
w. De Windows-‐onderdelen worden nu geïnstalleerd. Dit kan weer een tijdje duren, maar zal niet zolang duren als de installatie van het volledige RSAT pakket. Pak voor de zekerheid toch maar een koekje.
x. Oké, de installatie is afgerond. Laten we de Samba server gaan beheren alsof het een Windows Server is. Hierbij zijn kanttekeningen: Een samba domeincontroller ondersteunt maar 1 forest met daarin maar 1 domein. Voor uitgebreide organisaties is het mogelijk dus niet geschikt. Voor de meeste bedrijven echter wel. We open nu de Microsoft Management Console. Typ in het menu Start “mmc” in. Voer deze als Administrator uit.
y. De Microsoft Management Console opent. Ga naar “Bestand > Modules toevoegen/verwijderen…” In het venster dat nu opent kies je uit de linker lijst “Active Directory – gebruikers en computers” en klik je op “Toevoegen >”. Hetzelfde doe je voor “Groepsbeleidbeheer”. Eenmaal toegevoegd druk je op “OK”.
z. Gefeliciteerd! Je hebt nu toegang tot de servertools en je kunt je Samba server beheren vanuit Windows. Ik ga niet uitleggen hoe deze tools werken, aangezien ze hetzelfde werken als in Windows Server. Wat misschien wel handig is om deze management console met deze modules op te slaan. Dit kun je doen met “Bestand > Opslaan…”. Dan kun je de volgende keer meteen weer de console openen zoals je deze achterliet.
9. De rechten van de Samba-‐shares beheren. a. De rechten van de Samba shares kun je zeer makkelijk vanuit Windows beheren. Om dit te doen zorg je dat je als domeinadministrator bent ingelogd en open je een Windows Explorer venster en typt in de adresbalk het volgende: “\\serverx.linuxdomein.local\” (of natuurlijk je eigen hostname en domeinnaam). Je krijgt nu de Shares te zien. i. Belangrijk! Door een tekortkoming in samba is het alleen mogelijk de shares te bekijken en te bewerken als je de hostname van de server voor de domeinnaam toevoegt. “\\linuxdomein.local\” zal dus niet werken. “\\serverx\” (alleen de hostname) werkt dan weer wel.
b. Hierbij staat o.a. onze testshare die we hebben aangemaakt. Klik met de rechtermuisknop op de Share en kies “Eigenschappen”. Ga naar het tabblad “Beveiliging”.
c. Ga naar “Geavanceerd”. Je komt nu bij de uitgebreide rechten.
d. Klik in dit scherm op “Machtigingen wijzigen…”. e. Je krijgt het volgende scherm te zien.
f. Het beste is (volgens de wiki van Samba zelf…) om eerst alle rechten te verwijderen en vervolgens vanaf niks te beginnen. Dat doen we dus maar. We verwijderen alle rechten tot we geen 1 groep over hebben. g. Schakel nu de optie “Overneembare machtigingen van het bovenliggende object opnemen” uit. Dit is nodig zodat Samba de rechten die we instellen kan overnemen.
h. Tijd om de nieuwe rechten te maken. In het voorbeeld wil ik een share die iedereen kan zien en bewerken (gewoon als voorbeeld). Met iedereen bedoel ik ook mensen die geen lid zijn van het domein. Ik klik op “Toevoegen…”. In het venster voor de groepen/namen kies ik voor “Domain Admins”.
i.
Nu krijgen we een venster waarin we de rechten voor Domeinadministrators kunnen aangeven (zoals in het vorige venster aangegeven). Ik schakel “Volledig beheer” in onder de kolom “Toestaan”. Tevens zet ik het vinkje voor “Deze machtigingen alleen toepassen op objecten en/of containers in deze container” aan!
j.
Exact hetzelfde doe ik voor de groep “Administrators”. (Ik herhaal dus stap h en i). k. Dan ga ik nu rechten aanmaken voor de groep “Iedereen”. Dat is dus iedereen, inclusief mensen buiten het domein. Voor deze groep schakel ik alle vinkjes onder de kolom toestaan in, behalve: “Volledig beheer”, “Machtigingen wijzigen” en “Eigenaar worden”. Zo kan ik voorkomen dat anderen de map onbruikbaar maken door de machtigingen te wijzigen. Dan zou deze alleen nog maar benaderbaar zijn via de Linux Server.
l.
De rechten zijn ingesteld. Klik op “OK”. Je komt nu weer terug in het geavanceerde rechten scherm, maar nu zie je de nieuwe rechten en groepen. Klik op “OK” om dit venster te sluiten.
m. In het eigenschappen venster druk je ook op “OK”. n. De rechten zijn ingesteld. Je zou nu ook voor andere shares de rechten kunnen instellen!