Linux Administration Made Easy door Steve Frampton, Vertaald door: Ellen Bokhorst, De gids "Linux Administration Made Easy" (LAME) probeert het dagelijks beheer en onderhoud te beschrijven waar Linux systeembeheerders gewoonlijk mee worden geconfronteerd. Het maakt onderdeel uit van het Linux Documentatie Project. _________________________________________________________________ Inhoudsopgave 1. [1]Voorwoord [2]Erkenningen [3]Copyright Information and Legal Disclaimers [4]Een dringend verzoek om Hulp 2. [5]Introductie [6]Strekking [7]Uitkiezen van een Linux Distributie 3. [8]Linux Overzicht [9]Wat is Linux? [10]De Mythen Doorbreken [11]Perspectief van een gebruiker 4. [12]Installatie en Hardware Configuratie [13]Aanmaken van een Installatie-diskette [14]Booten van het Linux Installatie Programma [15]Partitioneren van HardDisk(s) [16]Instellen van Swap Space [17]Te formatteren Partities Uitkiezen [18]Uitkiezen van de Gewenste te Installeren Packages [19]Hardware Configuratie [20]Booten met LILO [21]Multi-boot met Andere Besturingssystemen [22]Downloaden en Installeren van Red Hat Updates 5. [23]Configureren van het X Window Systeem [24]Het X Window Systeem werkend krijgen met de X-Configurator [25]De X Desktop Manager Gebruiken [26]Verbeteren van de Font-weergave Onder X [27]Uitkiezen van een Window Manager voor X [28]GNOME Installatie en Configuratie [29]KDE Installatie en Configuratie 6. [30]Algemene Systeembeheer Zaken [31]Root Account [32]Gebruikersaccounts Aanmaken [33]Gebruikerswachtwoorden Wijzigen [34]Gebruikersaccounts deactiveren [35]Gebruikersaccounts Verwijderen [36]Linux Password & Shadow Bestandsformaten [37]Systeem Afsluiten en Herstarten 7. [38]Aangepaste Configuratie en Beheer [39]Web Server en HTTP Caching Proxy Beheer [40]Domain Name Server (DNS) Configuratie en Beheer [41]Internet User Authenticatie met TACACS [42]Windows-stijl File en Print Services met Samba [43]File en Print Services met Netatalk in de stijl van Macintosh [44]Network File System (NFS) Services [45]Configuratie van A-Z met Linuxconf 8. [46]Backup en Restore Procedures [47]Server Backup Procedures [48]Backup met ``tar'': [49]Backup met ``KDat'': [50]Server Restore Procedures [51]Terugzetten met ``tar'': [52]Terugzetten met ``KDat'': [53]Cisco Router Configuratie Backups 9. [54]Diversen & Allerlei Beheertaken [55]Het controleren van de opslagruimte [56]Processen Beheren [57]Processen Starten en Stoppen [58]Taken Automatiseren met Cron en Crontab bestanden 10. [59]Linux en Andere Applicaties Upgraden [60]Het gebruik van de Red Hat Package Manager (RPM) [61]Installeren en Upgraden Zonder RPM [62]Strategiën voor het Bijhouden van een Up-to-date Systeem [63]Linux Kernel Upgrades [64]Upgraden van een Red Hat Stock Kernel [65]Bouwen van een Aangepaste Kernel [66]Overstappen op Linux 2.2.x Kernels [67]Configureren van de Apache Web Server [68]Configureren van de Squid HTTP Caching Proxy Daemon [69]Configureren van de Sendmail E-mail Daemon 11. [70]Enterprise Computing met Linux [71]Fijnafstemmen van de Performance [72]High Availability met RAID [73]Server Migratie en Schaalbaarheids onderwerpen 12. [74]Strategiën voor het Behouden van een Secure Server 13. [75]Help! Trouble in Paradise! [76]Linux geïnstalleerd krijgen op nieuwe niet Ondersteunde Hardware [77]Bestandssysteem Corruptie na Stroomuitval of Systeemcrash [78]Waar je voor hulp terecht kunt [79]Verwijzingen naar Aanvullende Documentatie _________________________________________________________________ Hoofdstuk 1. Voorwoord Erkenningen Ik zou graag de Linux-gemeenschap willen bedanken; in het bijzonder die leden die hebben deelgenomen aan USENET en mailinglijsten met zeer behulpzame tips, antwoorden, en suggesties over hoe Linux op z'n best te gebruiken is. Jullie bijdragen zijn nuttig voor ons allemaal. Dit document werd in het DocBook SGML-formaat geschreven, en vervolgens met behulp van SGMLTools 2.x in een diversiteit aan documentformaten weergegeven, waaronder HTML, postscript, Rich-Text-Format, en PDF. Zie de website van het project op [80]http://www.sgmltools.org/ voor meer informatie over de SGMLTools. _________________________________________________________________ Copyright Information and Legal Disclaimers Copyright © 1997-1999 by Steve Frampton. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v0.4 or later (the latest version is presently available at [81]http://www.opencontent.org/openpub/). I've written this documentation and am providing it free to the Linux community as a public-service. I have made every attempt to ensure that the information contained herein is timely, accurate, and helpful, but in no way will I be held liable for any damage(s) caused directly or indirectly by any misinformation contained herein. I will not appreciate being flamed for any errors or omissions. However, if you notice a glaring inaccuracy, or have suggestions for further improvement, please, let me know. However, please check the version number and date of this document (see the table of contents) to ensure you are looking at the most recent version. If this document is more than three months old, please check the Linux Documentation Project home page at [82]http://metalab.unc.edu/LDP/ in case a newer version is available. This document, currently, should be considered moderate-beta. I began writing it in 1997, and continue to update it as time permits. Development in the Open Source community continues at a rapid pace, and at times it is a challenge to keep this document up to date. As such, this document may have one or more sections which contain obsolete information. In short, I make no guarantees for any of this information to be correct. If it helps you out, that's great! _________________________________________________________________ Een dringend verzoek om Hulp Als je dit document van nut vindt en er graag je waardering voor wilt laten blijken, overweeg dan alsjeblieft een donatie aan een goed doel. _________________________________________________________________ Hoofdstuk 2. Introductie Linux 2.2.0, released 25-Jan-99: Onwards to World Domination... Misschien dat Linux tamelijk nieuw voor je is en dat je hoopt hierin een samenvatting te vinden van de soort configuratie en beheertaken die van tijd tot tijd benodigd kunnen zijn. Als dit voor jou geldt, is dit document misschien nou net waar je naar op zoek was! _________________________________________________________________ Strekking In deze documentatie wordt een poging ondernomen de installatie en configuratie samen te vatten, als ook de dagelijkse beheer- en onderhoudsprocedures die zouden moeten worden gevolgd om een server of desktop-systeem gebaseerd op Linux beschikbaar en werkend te houden. Het is gericht op zowel bedrijfs- als thuisgebruikers. Het is niet bedoeld als een volledig overzicht van Unix-bewerkingen, aangezien er verscheidene goede teksten beschikbaar zijn als ook online documentatie waarnaar kan worden gerefereerd in die gevallen waar meer gedetailleerde informatie is vereist. In het algemeen kan je Linux-systeem met een minimum aan gebruikersbeheer werken. Routinetaken, zoals het draaien en verwijderen van systeemlogs zijn geautomatiseerd. Daarom zal Linux voor het grootste deel zelfs met zeer weinig tussenkomst van de gebruiker zijn taak prima volbrengen. Echter in situaties met aangepaste benodigdheden of het falen van het systeem zal deze documentatie zijn nut kunnen bewijzen. Ik gebruik Linux op het moment zowel thuis als op mijn werk. Het is me goed van dienst geweest en het heeft nu al meer dan vier jaar als een betrouwbare Internet en bestands/printer-service voor mijn werkgever gefunctioneerd. _________________________________________________________________ Uitkiezen van een Linux Distributie Er is een zeer grote variëteit aan Linux-distributies waar je uit kunt kiezen. Alle distributies bieden dezelfde basis bestaande uit de Linux-kernel en systeemtools, maar ze verschillen in installatiemethode en gebundelde applicaties. Iedere distributie heeft zijn eigen voordelen als ook nadelen, dus je doet er verstandig aan wat tijd te spenderen aan het onderzoeken welke features in een gegeven distributie beschikbaar zijn, voordat je beslist welke je wilt. Hierna volgt een lijst met een paar te bezoeken websites, die een beschrijving geven van de gegeven Linux distributie als ook in informatie voorzien over hoe je het kunt downloaden of aan kunt schaffen: [83]http://www.redhat.com/ De Red Hat distributie, door de commerciële verkoper Red Hat Software, Inc. is één van de meest populaire distributies. Red Hat 6.1 is met een keuze uit GUI- en op tekst gebaseerde installatieprocedure waarschijnlijk de eenvoudigst te installeren Linux-distributie. Het biedt eenvoudig upgrade en package-beheer via het ``RPM'' utility, en bevat zowel de GNU Network Object Model Environment (GNOME) als de ``K Desktop Environment'' (KDE), beiden zijn populaire GUI window managers voor het X Window Systeem. Deze distributie is beschikbaar voor de Intel, Alpha, en Sparc platformen. [84]http://www.debian.org/ De Debian distributie, door de non-profit organisatie bekend als "Het Debian Project" is de lieveling van de Open Source gemeenschap. Het biedt ook eenvoudig upgrade en package-beheer via het ``dpkg'' utility. Deze distributie is beschikbaar voor de Intel, Alpha, Sparc, en Motorola (Macintosh, Amiga, Atari) platformen. [85]http://www.suse.com/ De S.u.S.E. distributie, door commerciële verkoper S.u.S.E., is een andere populaire distributie, en is de leidende distributie in Europa. Het bevat de ``K Desktop Environment'' (KDE), en biedt ook eenvoudig upgrade en package-beheer via het ``YaST'' utility. Deze distributie is beschikbaar voor zowel Intel als Alpha platformen. [86]http://www.caldera.com/ De OpenLinux distributie, door commerciële verkoper Caldera, is gericht op gemeenschappelijke gebruikers. Met de nieuwe OpenLinux 2.2 release, heeft Caldera de barrière overtroffen en het schijnt de eenvoudigst te installeren Linux-distributie te zijn die vandaag de dag beschikbaar is. Bovendien wordt het standaard geleverd met de ``K Desktop Environment'' (KDE). Deze distributie is alleen beschikbaar voor het Intel platform. [87]http://www.linux-mandrake.com/ De Mandrake distributie, door commerciële verkoper MandrakeSoft S.A., integreert de Red Hat of Debian distributies (naar keuze) met aanvullende waarde toevoegende software packages dan die zijn opgenomen in de originele distributies. [88]http://www.slackware.com/ De Slackware distributie, door Patrick Volkerding van Walnut Creek Software, is de grootvader van moderne Linux-distributies. Biedt een tamelijk eenvoudige installatieprocedure, maar een mager upgrade en package-beheer. Nog steeds gebaseerd op de libc library's maar bij de volgende versie zal waarschijnlijk worden overgegaan naar de nieuwere glibc. Aanbevolen voor de meer technische gebruikers en die bekend zijn met Linux. Deze distributie is alleen beschikbaar voor het Intel-platform. Het opsommen van alle beschikbare distributies valt buiten het kader van dit document, dus heb ik slechts de populairste opgesomd. Verdere informatie over de beschikbare distributies is echter te vinden in de ``Distribution-HOWTO'', beschikbaar op [89]http://metalab.unc.edu/LDP/HOWTO/Distribution-HOWTO.html Tip Tip: Als je besluit je distributie op CD-ROM te kopen, kun je bij andere verkopers wellicht betere prijzen treffen. (Ik was bijvoorbeeld heel tevreden met verscheidene transacties met de op Internet gebaseerde software-verkoper [90]http://www.cheapbytes.com/). Aan de andere kant wil je misschien de hogere prijs neertellen aan de distributie-verkopers om er zeker van te zijn dat wat ze aanbieden nog verder wordt verbeterd. Mijn keuze viel op de distributie Red Hat Linux (het schijnt ook onbetwistbaar de meest populaire distributie onder Linux-gebruikers te zijn). Gedurende bijna drie jaar, was ik een verknochte Slackware fanatiekeling (daarvoor had ik wat gerommeld met een kleine distributie van tsx-11 in de tijd van kernel 0.90a) en alhoewel ik Red Hat in het verleden heb uitgeprobeerd, kon ik mezelf er niet toe brengen iets goeds over hun distributies te zeggen. Toen probeerde ik Red Hat 5.1, en bemerkte dat ik al snel was bekeerd! Naar mijn mening, zit Red Hat met 5.1 eindelijk "goed". Een aantal redenen waarom ik een fan van de Red Hat distributie werd, is het installatie-gemak, de ondersteuning voor meerdere platformen (tot voor kort was Red Hat de enige distributie-verkoper die zijn distributie leverde voor Intel, Alpha, en Solaris platformen), en bovenal de RPM package-beheerder. Bovendien plaatsen ze updates van RPM's op hun FTP-site (op [91]ftp://ftp.redhat.com/redhat/updates/) als ze beschikbaar komen, wat een goede manier is om je systeem bijgewerkt en vrij van enige bugs of beveiligingsproblemen, die van tijd tot tijd worden ontdekt, te houden. Sinds het voor het eerst laden van Red Hat 5.1 op een andere reserve computer op het werk voor testdoeleinden, heb ik twee van onze belangrijkste Internet/File &Print servers omgezet van Slackware naar Red Hat en heb daar nog geen spijt van gehad. Ik heb het ook op mijn systeem thuis geladen en installeerde het ook op drie andere systemen die als lichte servers dienen. Bovendien kreeg ik de kans niet alleen met de versies die op Intel zijn gebaseerd te spelen maar ook met de op Alpha- en de Sparc gebaseerde versies. Ik heb onlangs alle Linux-systemen waarvoor ik verantwoordelijk ben, overgezet naar Red Hat 6.1. Daarom heeft dit document beslist een Red Hat "feel" en is het 't meest relevant voor de Intel-gebaseerde 6.1 versie. Echter hopelijk zal het meeste of tenminste iets van de informatie in dit document ook nuttig zijn voor gebruikers van andere distributies. _________________________________________________________________ Hoofdstuk 3. Linux Overzicht Welkom bij Linux! _________________________________________________________________ Wat is Linux? Linux is een echt 32-bit besturingssysteem dat draait op een diversiteit aan verschillende platformen, waaronder Intel, Sparc, Alpha, en Power-PC (op een aantal van deze platformen zoals de Alpha, is Linux in feite 64-bit). Er zijn bovendien andere ports beschikbaar, maar daar heb ik geen ervaring mee. Linux werd voor 't eerst ontwikkeld in het begin van het jaar 1990, door een jonge Finse toen-universiteits student genaamd Linus Torvalds. Linus had thuis een 386 box en besloot een alternatief op het Minix-systeem, gebaseerd op de 286'r te schrijven (een klein op unix lijkende implementatie voornamelijk gebruikt in besturingssysteemklassen), om voordeel te hebben van de extra instructieset die op de toen nieuwe chip beschikbaar was, en begon een kleine kale kernel te schrijven. Tenslotte kondigde hij zijn kleine project aan in de USENET groep [92]comp.os.minix, met de vraag of er geïnteresseerden waren om ernaar te kijken en misschien aan het project bij te dragen. De resultaten waren fenomenaal! Wat zo interessant is aan Linux, is dat het volledig vrij is! Linus besloot de GNU Copyleft licentie van de Free Software Foundation over te nemen, wat betekent dat de code door een copyright is beschermd in die zin dat het altijd voor anderen beschikbaar moet zijn. Vrij betekent vrij -- je kunt het vrij krijgen, het vrij gebruiken en je bent er zelfs vrij in het met winst te verkopen (dit is niet zo vreemd als het klinkt; verscheidene organisaties, waaronder Red Hat, hebben de standaard Linux kernel met een verzameling GNU utilities verpakt en daarin hun eigen "soort" applicatie bij ingesloten en ze verkopen ze als distributies. Een aantal algemene en populaire distributies zijn Slackware, Red Hat, SuSe, en Debian)! Wat er zo geweldig aan is, is dat je toegang hebt tot de broncode wat betekent dat je de besturingssystemen naar eigen inzicht aan kunt passen, niet die van de "doelmarkt" van de meeste commerciële verkopers. Linux kan en zou moeten worden aangemerkt als een geheel ontwikkelde implementatie van unix. Het kan echter geen "Unix" worden genoemd; niet vanwege incompatibiliteiten of gebrek aan functionaliteit, maar omdat het woord "Unix" een geregistreerd handelsmerk is, waarvan AT&T de eigenaar is, en het gebruik van het woord alleen is toegestaan middels een licentie-overeenkomst. Linux wordt net zo ondersteund en is betrouwbaar en uitvoerbaar als ieder ander besturingssysteem (naar mijn mening, heel wat beter!). Echter vanwege zijn oorsprong, de achterliggende filosofie en het gebrek aan een multi-miljoen dollar marketing campagne dat het promoot, zijn er heel veel mythen over. Mensen moeten nog heel wat leren over dit schitterende OS! _________________________________________________________________ De Mythen Doorbreken Ik heb Linux verscheidene jaren gebruikt, en ik denk graag te weten dat ik wat over het besturingssysteem weet en wat het wel en niet kan. Aangezien ik een gretige USENET lezer ben, volg ik de laatste ontwikkelingen en natuurlijk de diverse hooglopende ruzies die constant aan de dag treden (die vervloekte cross-postende verdedigende mensen! ;-) ). Ik heb mijn aandeel in mythen gezien (vaak FUD -- "Fear, Uncertainty, Doubt" genoemd welke als een algemene tactiek wordt gebruikt door commerciële verkopers van technologie om hun markt af te schrikken van concurrerende technologiën) waarin meer dan een paar mensen geloven. Dus laat me proberen een paar van de meer algemene mythen te laten afnemen en ze proberen te ondermijnen. :-) * Linux is freeware, daarom is het een stuk speelgoed. Een aantal mensen schijnen de indruk te hebben dat het wel zo moet zijn dat de resultaten ondergeschikt zijn aan commerciële aanbiedingen, omdat een stuk software door vrijwilligers zonder winstmotief in gedachten werd geschreven. In het verleden klopte dit misschien wel (ik bedoel dat er heel veel freeware was wat absolute rommel was in de eerdere wereld van DOS en Windows), maar tegenwoordig is dit zeker niet niet 't geval. De kracht van het Internet heeft het mogelijk gemaakt een aantal van de pientere gemoederen op de aardbol samen te brengen, waarbij het mogelijk is aan projecten mee te werken die men interessant vindt. De mensen die een hand hebben toegestoken in de ontwikkeling van Linux of de duizenden GNU-utilities en applicatie-packages komen van diverse achtergronden, en allen hebben verschillende persoonlijke redenen waarom ze willen bijdragen. Sommigen zijn taaie hackers die ontwikkelen vanwege een voorliefde voor het coderen, anderen hebben iets nodig (zoals bijvoorbeeld een netwerkmonitor voor een LAN op 't werk) en besluiten die zelf te schrijven, anderen zijn academici en computerwetenschappers die Linux vanwege zijn onderzoekskwaliteiten gebruiken. In tegenstelling tot een commercieel aanbod waarbij een package wordt ontwikkeld en zonder de sourcecode aan de eindgebruiker wordt verkocht, wordt de code in Linux nauwkeurig onderzocht, fouten opgespoord en door iedereen die daarin is geïnteresseerd en de mogelijkheden heeft, verbeterd. Deze beoordeling door anderen is één van de redenen waardoor Linux de grootste betrouwbaarheid en hoge performance kan bieden die het geeft. Vergeet niet: Het Internet zelf werd opgezet en draait bijna exclusief op Open Source projecten. Van de e-mail die je op dagelijkse basis met mensen in de hele wereld uitwisselt, bestaat een kans van 80% dat het door één of beide kanten door Sendmail wordt afgehandeld, de webpagina's waar je doorheen bladert onderwijl je "op het Web Surft" worden in meer dan 50% van de websites in de wereld aan je bezorgd door Apache. Betrouwbaar genoeg voor je? * Er is geen ondersteuning voor Linux. Deze mythe aanhorend maakt me een beetje misselijk. En bieden de "andere" verkopers soms wel ondersteuning? Ik heb met een zeer populair commercieel besturingssysteem persoonlijk ervaren dat de zogenaamde "ondersteuning" van de verkoper compleet nutteloos was. Ten eerste, er is ondersteuning voor Linux. Ja, commerciële ondersteuning. Er zijn een aantal bedrijven die zoveel ondersteuning kunnen leveren als waarvoor je bereid bent te betalen; het aanbieden van telefonische en e-mail ondersteuning, veel ervan bieden aan, aan je deur te komen om het probleem aan te pakken! In 99% van de situaties die je onder Linux tegenkomt, zal je echter hetgeen je wilt, kunnen bereiken als je gewoon het antwoord op één of twee vragen krijgt. Dit kan eenvoudig worden bewerkstelligd via USENET of één van de beschikbare discussielijsten! Ik had nog nooit eerder een probleem waar ik geen oplossing voor kon vinden, óf door het doorzoeken van [93]http://www.dejanews.com/, óf door het vragen in één van de comp.os.linux.* nieuwsgroepen. Normaal gesproken kan ik op ieder van de ondersteuningszaken waarover ik een vraag stel binnen drie tot twaalf uur na het posten een antwoord verwachten. Een ander interessant aspect van Linux is dat, omdat de sourcecode voor de gehele kernel en de meeste andere componenten van het besturingssysteem vrij-verkrijgbaar is, de voornaamste ondersteuning zoals beveiliging, het geen toegang krijgen of CPU bugs (zoals Intel's F00F fatale uitzondering) worden opgespoord en zeer snel worden opgelost -- meestal in volgorde van belangrijkheid die sneller is dan oplossingen die voor vergelijkbare of identieke problemen met de commerciële aanbiedingen worden geboden. Dus waar is nu de commerciële ondersteuning!? Er zijn ontelbare andere mythen die ik van hun voetstuk zou willen stoten, maar dat valt buiten het kader van dit document. Echter voor meer ondermijningen van mythen, kijk eens op de "Linux Myth Dispeller" bij [94]http://www.KenAndTed.com/KensBookmark/linux/index.html als ook op "The Linux FUDfactor FAQ" bij [95]http://www.geocities.com/SiliconValley/Hills/9267/fud2.html _________________________________________________________________ Perspectief van een gebruiker Ik gebruik Linux zowel thuis als op het werk. Op mijn werk maken we gebruik van Linux om honderden gebruikers in Internet services te voorzien. Deze services bestaan uit TACACS (dial-in modem user) authenticatie, web page hosting en proxy caching, als ook SMTP en POP services. Bovendien gebruiken we Linux om te voorzien in NFS services, en ook voor het leveren en mounten van het SMB-protocol (WfW/Win95/WinNT) file & print en FAX services met gebruik van het Samba package. Thuis gebruik ik Linux voor mijn persoonlijke behoeften, zoals Internet services, software-ontwikkeling en natuurlijk het spelen van spellen (het zien draaien van Quake II op een Linux box is prachtig)! Één van de dingen die ik prettig vind aan Linux is, dat hoe hard ik er ook op ploeter, het crasht niet! Het is ook een geweldige manier te leren mijn Unix-vaardigheden te ontwikkelen en bij te houden. Ik gebruik de Red Hat 6.1 Linux-distributie (zie [96]http://www.redhat.com/ voor meer informatie). Deze distributie bevat alle noodzakelijke software voor een geheel ontwikkeld unix systeem -- shells, compilers & interpreters, netwerkondersteuning, het X Window Systeem, en alle Internet services (bv. Mail, news, web server, telnet, enz.). De distributie wordt standaard geleverd met Linux kernel 2.2.12. Op mijn werk, gebruiken we een op Linux gebaseerd systeem als primaire Internet-server met de volgende configuratie: * Kernel: 2.2.12 * Machine: Pentium II @ 300 MHz (bogo-mips 299.83) met PCI-bus, 256 Mb RAM * een 3 Gb Fujitsu IDE harddisk (/dev/hda) * vier 4.4 Gb Quantum Fireball SCSI harddisks (/dev/sd0 tot en met /dev/sd3), * 24x speed SCSI CD-ROM (/dev/scd0), * Adaptec AHA-131 SCSI controller * HP SCSI DAT tape drive (/dev/st0 en /dev/nst0), * Intel EtherExpress Pro 10/100 Ethernetkaart We hebben een tweede systeem -- een zelfs mooiere Intel box -- ook Red Hat 5.2 draaiend, op een andere kantoorlokatie. Het voorziet in netwerk file & print services via Samba, lokale web caching via Squid, en secondary DNS services. Helaas staat deze box meer dan 50 km verderop vanaf waar ik gewoonlijk werk, en staat het daardoor nogal aan z'n lot overgelaten -- ja deze baby is echt mijn trots en plezier! Hier zijn wat specs: * Kernel: 2.2.12 * Machine: Pentium II @ 350 MHz (bogo-mips 349.80) met PCI-bus, 256 Mb RAM * een 4.1 Gb Quantum Fireball SCSI harddisk (/dev/sda) * vier 9.4 Gb Quantum Fireball SCSI harddisks (/dev/rd/c0d0, /dev/rd/c0d1) als hardware RAID level 5 array, * 36x speed SCSI CD-ROM (/dev/scd0), * BusLogic BT-948 SCSI controller * Mylex AcceleRAID 250 (DAC960) RAID controller, * HP SCSI DAT tape drive (/dev/st0 and /dev/nst0), * Intel EtherExpress Pro 10/100 Ethernetcard Het hebben van een ongelofelijke 24+ Gb beschikbare opslagruimte, met overvloedige opslag geconfigureerd als een hardware RAID5 array is een nederig gevoel. De Mylex RAID controller werkt geweldig en ik zou niet aarzelen anderen, die op zoek zijn naar een hardware RAID oplossing, het aan te bevelen! (Zie voor details de [97]paragraaf High Availability met RAID in Hoofdstuk 11, als je geïnteresseerd bent je Linux-systeem met een RAID-array te configureren). We hebben nog vier andere Linux-systemen; een Alpha, een Sparc, en twee Intel boxes; twee daarvan zijn in produktie, en dan is er nog mijn eigen persoonlijke systeem thuis, maar ik zal je niet lastig vallen met de details. In dit document is geprobeerd zo hardware-onafhankelijk mogelijk te blijven, maar het kan van nut zijn als je weet waar ik vandaan kom zover als het hardware betreft. _________________________________________________________________ Hoofdstuk 4. Installatie en Hardware Configuratie In dit hoofdstuk zullen de procedures die nodig zijn om Red Hat 6.1 op een Intel systeem te installeren, nauwkeurig worden omschreven; de procedures zijn vergelijkbaar of je nu kiest voor een installatie gebaseerd op GUI- of tekst. Aangezien veel van deze informatie reeds goed is gedocumenteerd in de Red Hat User's Guide (geleverd als een papieren handboek in de "Officiële" set in doos, ingesloten in de ``/doc'' directory op de CD, als ook online beschikbaar op [98]ftp://ftp.redhat.com/pub/redhat/redhat-6.1/i386/doc/rhinst/index.h tm). Ik heb veel van de details vluchtig doorgenomen. Er zijn echter een paar zaken waarvan ik vind dat ze in de Red Hat gids ontbreken, en daarom zal ik proberen die items in meer detail te behandelen. _________________________________________________________________ Aanmaken van een Installatie-diskette Voor de eerste stap in het verkrijgen van de Linux Red Hat distributie op een systeem, zal je een manier moeten vinden om het installatieprogramma te starten. De gebruikelijke methode om dit te doen is door een installatiedisk aan te maken, als je echter vanaf CD-ROM installeert en de BIOS van je systeem ondersteunt dit, zou je het installatieprogramma kunnen starten door direct vanaf de CD te booten. Anders zal je de ``boot.img'' naar een diskette moeten kopiëren om een installatiediskette aan te maken (wat gewoon een afbeelding is van een ext2-geformatteerde Linux bootdiskette met een aanvullend installatieprogramma.). Het ``boot.img'' bestand kan worden verkregen vanuit de /images directory van de Red Hat CD-ROM disk, of worden gedownload via FTP vanaf [99]ftp://ftp.redhat.com in de [100]/pub/redhat/redhat-6.1/i386/images directory (ervan uitgaande dat je Linux op een Intel box installeert). Je kunt de boot-diskette vanaf een DOS of Windows systeem aanmaken, of vanaf een bestaand Linux of Unix systeem. Voor je doeldiskette kun je gebruik maken van een ongeformatteerde of (voor DOS) voorgeformatteerde diskette -- het maakt geen verschil. Onder DOS: In de veronderstelling dat je CD-ROM als station D: toegankelijk is, kun je typen: d: cd \images ..\dosutils\rawrite Voor het bronbestand geef je op ``boot.img''. Voor het doelbestand, geef je op ``a:'' (in de veronderstelling dat de diskette die je hebt aangemaakt in station A: is gedaan). Het ``rawrite'' programma zal het ``boot.img'' bestand dan naar de diskette kopiëren. Onder Linux/Unix: In de veronderstelling dat het bestand ``boot.img'' is te vinden in de huidige directory (het kan zijn dat je de CD-ROM onder /mnt/cdrom moet mounten om het bestand in /mnt/cdrom/images te kunnen vinden), kun je typen: dd if=boot.img of=/dev/fd0 Het ``dd'' utility zal als zijn invoerbestand ("if"), het ``boot.img'' bestand kopiëren naar het uitvoerbestand ("of") /dev/fd0 (in de veronderstelling dat je diskettestation toegankelijk is via /dev/fd0). Tenzij je Linux of Unix-systeem schrijfpermissie toestaat naar het diskette-device, kan het zijn dat je dit commando als superuser uit moet voeren. (Als je het root-wachtwoord kent, typ je ``su'' om superuser te worden, voer het ``dd'' commando uit, en typ vervolgens ``exit'' om naar de normale gebruikersstatus terug te keren). Met één van de hiervoor genoemde mogelijkheden, zou je nu een opstartbare Red Hat 6.1 installatiediskette moeten hebben, welke je kunt gebruiken om je nieuwe Red Hat Linux-systeem mee te installeren! _________________________________________________________________ Booten van het Linux Installatie Programma Om aan de instelling van je nieuwe Red Hat systeem te beginnen, boot je óf vanaf de installatie-CD óf doe je de installatiediskette in station A: en herstart je het systeem óf zet je het systeem aan. Na een paar tellen, zou het scherm van het Red Hat installatieprogramma moeten verschijnen. In de meeste gevallen, kun je gewoon op drukken om het installatieproces te beginnen, maar als je een meer ervaren gebruiker bent die precies weet hoe zijn hardware-devices zouden moeten worden ingesteld, dan kun je ``expert'' intikken voor de aanvullende informatie en aanwijzingen waarin deze feature voorziet. (Als je niets doet, zal de standaard installatieprocedure na ongeveer 10 tot 15 seconden na de eerste verschijning van het installatiescherm, opstarten). Er zal je vervolgens worden gevraagd naar de taal (meestal "English") en het type toetsenbord (zelfs in Canada koos ik "US 101-key"), als ook als waar je vanaf installeert (zoals vanaf je CD-ROM of via het netwerk). Red Hat is zeer flexibel in waar het vanaf geïnstalleerd kan worden. Zeer waarschijnlijk zal je kiezen voor ``Local CDROM'' om vanaf je Red Hat CD-ROM te installeren (die in je CD-ROM apparaat gedaan zou moeten zijn). Als je systeem echter niet met een CD-ROM apparaat is uitgerust, zijn er een aantal andere installatiemethoden waaruit je kunt kiezen. Als je een ander Linux-systeem hebt (of enig ander besturingssysteem dat NFS file mounting ondersteunt), kun je gebruik maken van ``NFS'' om vanaf een NFS mount te installeren. Om dit te doen, zal je je CD-ROM onder het andere systeem moeten zijn gemount (of anders de directory-structuur van Red Hat ergens op het andere systeem moeten hebben -- het is mogelijk alles via FTP te downloaden en het vervolgens vanaf de harddisk van je andere systeem te installeren), zorg ervoor dat er een record voorkomt in het bestand /etc/exports waardoor toegang tot de daarvoor bestemde directory wordt toegestaan voor het nieuwe systeem. (zie de [101]paragraaf Network File System (NFS) Services in Hoofdstuk 7 voor details over hoe je NFS instelt en gebruikt), en vul vervolgens de juiste details in. Hier is een voorbeeld: * Doe de Red Hat CD er onder het andere systeem (bv. een systeem genaamd ``spock'') in. * Om de CD te mounten, typ je: mount /dev/cdrom /mnt/cdrom -t iso9660 * Wijzig als superuser, het bestand ``/etc/exports'' en plaats er een regel in als: /mnt/cdrom nieuwsys.mijndomein.naam(ro) (Hiermee wordt aangegeven dat het nieuwe systeem op nieuwsys.mijndomein.naam read-only toegang heeft tot de directory ``/mnt/cdrom/'' en alle daaronder liggende subdirectory's). Als er aan je nieuwe systeem nog geen domeinnaam is toegekend, kun je in plaats daarvan het IP-adres gebruiken: /mnt/cdrom 10.23.14.8(ro) (In de veronderstelling dat je nieuwe systeem als IP-adres 10.23.14.8 heeft). * Typ wederom als superuser: killall -HUP rpc.nfsd ; killall -HUP rpc.mountd Hiermee zullen je NFS en mountd daemons worden herstart, wat noodzakelijk is voor je nieuwe NFS export zal functioneren. * Nu kun je als installatiebron vanaf je nieuwe systeem kiezen voor ``NFS''. Er zal je worden gevraagd informatie te geven over je netwerkkaart, als ook je IP-instellingen. Je zal waarschijnlijk gebruik gaan maken van static IP-instelllingen als je systeem voorkomt op een lokaal LAN, of DHCP-instellingen als je systeem bijvoorbeeld is aangesloten op een kabelmodem. Vul de van toepassing zijnde instellingen voor je systeem in. * Er zal je dan worden gevraagd de naam van de NFS-server en Red Hat directory in te vullen. Voor ons voorbeeldsysteem, zouden we ``spock'' invullen als de naam van de NFS-server, en ``/mnt/cdrom/'' voor de Red Hat directory. Er zijn nog andere manieren om Red Hat te installeren, zoals met behulp van een Samba-verbinding (netwerk in de stijl van Windows), vanaf een bestaande partitie op je harddisk (zoals je DOS- of Windows 95 partitie), of via FTP. Kijk in de Red Hat gebruikersgids voor meer details over het installeren aan de hand van dergelijke methoden, of probeer je er gewoon doorheen te worstelen (de procedures zijn echt niet zo moeilijk!) Zodra je een installatiebron hebt uitgekozen, zal Red Hat je vragen of je een "Install" of "Upgrade" op je systeem uit wilt voeren. Als je een nieuw systeem gaat installeren, zou je moeten kiezen voor "Install". (Even terzijde, ik ben iemand die nooit een upgrade uit zal voeren van een nieuwe distributie-release over bestaande systemen -- Ik denk dat dat komt omdat ik met Microsoft producten zoveel problemen tegen ben gekomen, dat ik een veelbetekenend wantrouwen heb opgebouwd tegen het sowieso upgraden van systemen. Ik geef er de voorkeur aan de installatie vanaf het begin opnieuw te doen en mijn persoonlijke/gebruikers en lokale site-bestanden vanaf een backup terug te zetten). Het installatieprogramma zal vervolgens vragen of je een SCSI-adapter hebt. Als je yes antwoordt, zal je worden gevraagd de hiervoor bestemde driver uit te kiezen. In een aantal gevallen, zal Red Hat je adapter automatisch kunnen detecteren. Daarna zal je worden gevraagd je bestandssystemen op te zetten, (d.w.z. één of meer drives voor Linux te partitioneren). Er zijn twee tools beschikbaar voor het instellen van deze partities, waaronder de met Red Hat meegeleverde "Disk Druid", en het standaard Linux "/fdisk" utility. Beide tools zijn qua functie gelijk, en geven je de mogelijkheid partitie-typen en groottes te specificeren. Disk Druid blijkt wat "gebruikersvriendelijker" en wat completer dan fdisk te zijn. In feite is het zo dat als je fdisk gebruikt om je harddisks te partitioneren, je het Disk Druid scherm voor je krijgt om hoe dan ook je mountpoints te specificeren. Dat als ex-Slackware gebruiker te hebben gezegd, gebruik ik persoonlijk altijd fdisk -- macht der gewoonte, denk ik! :-) De volgende sectie zal in detail beschrijven hoe en waarom je je partitie-informatie op zou moeten zetten. _________________________________________________________________ Partitioneren van HardDisk(s) Waarom zou je eigenlijk partitioneren? Alhoewel het mogelijk is een perfect functionerend Linux-systeem op een systeem met een enkele partitie draaiend te krijgen, en het in feite eenvoudiger is het op deze wijze te configureren, zijn er een aantal voordelen bij het partitioneren van één of meer opslagdevices in meerdere partities. Ondanks dat het waar is dat Linux prima zal werken op een disk met slechts één grote gedefinieerde partitie, zijn er verscheidene voordelen om je disk op zijn minst in de vier belangrijkste (root, usr, home, en swap) bestandssystemen te partitioneren. Dit zijn: Als eerste kan het zijn dat het minder lang duurt om de controle's op de bestandssystemen uit te voeren (zowel bij het opstarten als bij een handmatige fsck), omdat deze controle's parallel kunnen worden uitgevoerd. (Tussen twee haakjes, voer fsck NOOIT uit op een gemount bestandssysteem!!! Je zal er bijna zeker spijt van krijgen wat ermee gebeurt. De uitzondering hierop is wanneer het bestandssysteem read-only is gemount, in welk geval dit veilig is te doen). Ook zijn controle's op bestandssystemen veel eenvoudiger te doen op een systeem met meerdere partities. Als ik bijvoorbeeld wist dat er zich op mijn /home partitie problemen voordeden, zou ik het gewoon kunnen unmounten, er een bestandssysteemcontrole op uit kunnen voeren, en het dan opnieuw kunnen mounten om het bestandssysteem te repareren (als tegenovergestelde van het booten van mijn systeem in single-user mode met een rescue-diskette en het dan te repareren). Ten tweede kun je met meerdere partities één of meer partities als read-only mounten, als je dat wilt. Als je bijvoorbeeld besluit dat alles in /usr door niemand, zelfs niet door root, mag worden aangeroerd, dan kun je de /usr partitie als read-only mounten. Als laatste, het belangrijkste voordeel waarin partitionering voorziet is dat het bescherming biedt aan je bestandssystemen. Als er iets gebeurt met een bestandssysteem (óf door een fout van een gebruiker óf door falen van het systeem), zou men op een gepartitioneerd systeem waarschijnlijk alleen bestanden op een enkel bestandssysteem kwijt raken. Op een niet-gepartioneerd systeem zou men ze waarschijnlijk op alle bestandssystemen kwijt raken. Dit kleine feit kan een groot voordeel zijn. Als je root-partitie bijvoorbeeld zo beschadigd is dat je niet kunt booten, kun je fundamenteel booten vanaf een rescue-diskset, je root-partitie mounten en kopiëren wat je kunt (of herstellen vanaf een backup, zie [102]Hoofdstuk 8 voor details over hoe van bestanden een backup kan worden gemaakt en ze kunnen worden teruggezet) naar een andere partitie zoals home, en dan opnieuw booten met behulp van de nood-bootdisk, door in te tikken "mount root=/dev/hda3" (in de veronderstelling dat de partitie met je tijdelijke root bestandssysteem zich op de derde partitie van hda bevindt) en je volledig functionele Linux-box booten. Vervolgens kun je fsck op je niet gemounte beschadigde root-partitie uitvoeren. Ik heb persoonlijk catastrofen ervaren bij bestandssystemen, en ik was erg dankbaar dat de schade door het gebruik van meerdere partities was beperkt. Ten slotte, aangezien het onder Linux mogelijk is andere besturingssystemen (zoals Windows 95/98/NT, BeOS, of wat je dan ook hebt) in te stellen, en dan tweevoudig (of drievoudig, ...) je systeem te booten, kan het zijn dat je aanvullende partities in wilt stellen om hier gebruik van te maken. Je zou hier op z'n minst een apartie partitie voor ieder besturingssysteem in moeten stellen. Linux heeft een behoorlijke bootloader (genaamd LILO voor systemen gebaseerd op Intel, alhoewel iets vergelijkbaars ook beschikbaar is als MILO voor de Alpha, en SILO voor de Sparc) waarmee het mogelijk is tijdens het opstarten aan te geven welk besturingssysteem je wilt booten, met een time-out standaardboot van je favoriete besturingssysteem (waarschijnlijk Linux, niet?) Je zou een disk (of meer disks) overeenkomstig je behoeften kunnen partitioneren. In mijn ervaring op Intel, Alpha, en Sparc platformen, voor een tamelijk belast systeem (rekening houdend met de toekomst), waarmee een tamelijke hoeveelheid taken kan worden verricht (als een desktopsysteem thuis of als een Internet-server op 't werk) heb ik bij benadering voor het vaststellen van een partitie-grootte de volgende ruimte tamelijk effectief gevonden. Gegeven: Een gegeven disk van X Mb/Gb (bv. 2 Gb) (Of, meer dan één disk met een gecombineerd totaal van X Mb/Gb) Bereken: (swap) ongeveer twee keer de hoeveelheid RAM (bv. 64 Mb systeem wordt 128 Mb sw ap) / (root) ongeveer 10% van wat beschikbaar is (bv. 200 Mb) /home ongeveer 20% van wat beschikbaar is (bv. 400 Mb) /usr alle resterende ruimte (bv. 1272 Mb) /var (optioneel -- zie hieronder) /boot (optioneel -- zie hieronder) /archive (optioneel -- zie hieronder) Natuurlijk zijn de hoeveelheden van hierboven slechts benaderingen. Uiteraard wil je een beetje met deze percentages goochelen, afhankelijk van waar je je Linux-systeem voor wilt gebruiken. Als je iets dergelijks gaat doen als het toevoegen van zeer grote applicaties als WordPerfect of Netscape, of misschien ondersteuning voor Japanse tekens toe gaat voegen, zou je er waarschijnlijk van profiteren als je wat meer /usr ruimte hebt. Ik schijn altijd veel ruimte beschikbaar te hebben op /home, dus als je gebruikers niet veel doen (of als je strikte quota-grootte hebt opgelegd) of je geen shell-accounts en persoonlijke webpagina's biedt, enz., zou je de ruimte voor /home waarschijnlijk kunnen verlagen en /usr verhogen. Hieronder staat een beschrijving van de diverse mountpoints en bestandssysteem-informatie, wat je een beter beeld kan geven van hoe je het best je partitie-grootte voor je eigen behoeften kunt definiëren: * / (root) - gebruikt om zaken als tijdelijke bestanden, de Linux kernel en boot-image, belangrijke binaire bestanden (dat wat nodig is voordat Linux de /usr partitie kan mounten), en belangrijker de logbestanden, spoolgebieden voor afdruktaken en uitgaande e-mail, en inkomende e-mail voor gebruikers op te slaan. Het wordt ook als tijdelijke ruimte gebruikt wanneer er bepaalde bewerkingen moeten worden uitgevoerd, zoals het bouwen van RPM-packages vanuit RPM bronbestanden. Als je daarom veel gebruikers met veel e-mail hebt, of denkt veel tijdelijke ruimte nodig te hebben, wil je misschien meer ruimte tot je beschikking hebben. Het type partitie zou de standaarwaarde 83 (Linux native) moeten blijven. Bovendien zal je waarschijnlijk de bootable flag op deze partitie in willen schakelen om het mogelijk te maken informatie hier op te slaan. * /usr/ - zou de grootste partitie moeten zijn, omdat de meeste binaire bestanden benodigd voor Linux, als ook enige lokaal geïnstalleerde software, webpages, Squid proxy cache, Samba share services, wat lokaal geïnstalleerde software logbestanden, enz. hier zijn opgeslagen. Het type partitie zou de standaardwaarde 83 (Linux native) moeten blijven. * /home/ - als je voor je gebruikers niet in shell-accounts voorziet, hoef je deze partitie niet zo groot te maken. De uitzondering hierop is als je voorziet in homepages voor gebruikers (zoals webpages voor school), in welk geval je er profijt van kunt hebben als je deze partitie wat groter maakt. Nogmaals, het type partitie zou de standaardwaarde 83 (Linux native) moeten blijven. * (swap) - Linux voorziet in iets dat "virtueel geheugen" wordt genoemd om een grotere hoeveelheid geheugen beschikbaar te maken dan het fysieke RAM dat op je systeem is geïnstalleerd. Om dit te bewerkstelligen wordt de swappartitie met main RAM door Linux gebruikt. Als stelregel zou je swappartitie op z'n minst zo groot moeten zijn als tweemaal de hoeveelheid op je systeem geïnstalleerd fysiek RAM. Als je meer dan één fysieke harddisk in je systeem hebt, kun je meerdere swappartities aanmaken. Hierdoor kan de performance van het swappen worden verbeterd door het voordeel van parallelle disktoegang. Op bijvoorbeeld een 256 Mb systeem met vier drives, zou ik waarschijnlijk vier 128 Mb swappartities aanmaken, voor een totaal van 256 Mb RAM, 512 Mb swap (voor een gecombineerd totaal van 768 Mb beschikbaar als virtueel geheugen). Het type partitie moet worden gewijzigd in 82 (Linux swap). Opmerking Noot: Het is een algemene misvatting dat Linux een 128 Mb swapgrootte limiet heeft. Voorheen klopte dit, maar in moderne Linux-distributies is de grootte afhankelijk van je architectuur (Intel-systemen kunnen bijvoorbeeld swapgroottes tot wel 2 Gb hebben). Typ ``man mkswap'' voor meer informatie. * /var/ (optioneel) - Misschien dat je wilt overwegen je / (root) partitie wat verder op te splitsen. De /var directory wordt voor een heel groot deel tijdens de uitvoering gebruikt voor opslag, waaronder mail spools (zowel inkomende als uitgaande), afdruktaken, locks op processen, enz. Het kan wat gevaarlijk zijn deze directory onder / (root) te mounten, omdat (bijvoorbeeld) een grote hoeveelheid inkomende e-mail de partitie mogelijk op kan vullen. Aangezien er vervelende dingen kunnen gebeuren (systeemcrash?) wanneer de / (root) partitie volraakt, kunnen dergelijke problemen met een /var op een eigen partitie worden voorkomen. Ik had succes bij welke hoeveelheid ruimte ik dan ook aan / (root) had toegekend, misschien het verdubbelend, en dan vervolgens aparte partities voor / (root) en voor /var aan te maken. Het type partitie zou de standaardwaarde 83 (Linux native) moeten worden gelaten. * /boot/ (optioneel) - In een aantal omstandigheden (zoals een systeem setup in een software RAID-configuratie) kan een aparte partitie nodig zijn waarvan het Linux-systeem boot. Met deze partitie zou het mogelijk zijn te booten en de vereiste drivers te laden en de andere bestandssystemen in te lezen. De grootte van deze partitie kan zo klein zijn als een paar Mb; Ik raad bij benadering een partitie aan van 10 Mb (wat voldoende ruimte zou zijn om de kernel, initiële RAMdisk image, en misschien één of twee backupkernels op te slaan). Het type partitie zou de standaardwaarde 83 (Linux native) moeten worden gelaten. * /archive/ (optioneel) - Als je extra ruimte overhebt, zou je misschien baat hebben bij een partitie voor een directory bijvoorbeeld genaamd, /archive. Je kunt de /archive directory dan gebruiken om backupmateriaal, grote of niet frequent benaderde bestanden, samba file-services, of wat dan ook wat je van nut vindt, op te slaan. Het type partitie kan als de standaardwaarde 83 (Linux native) blijven, of als je het zowel van onder Linux als vanuit een ander besturingssysteem wilt kunnen benaderen, zou je het kunnen wijzigen naar een andere ID, zoals 6 (DOS 16-bit >=32M). Als er extra disk(s) worden toegevoegd, kunnen er verdere partities op de nieuwe disk(s) worden toegevoegd, op diverse mountpoints zoveel als nodig worden gemount -- dit betekent dat je met een Linux-systeem je nooit zorgen hoeft te maken dat je ruimte te kort gaat komen. Als het bijvoorbeeld in de toekomst duidelijk is dat sda6 vol zal raken, zouden we een andere drive toe kunnen voegen, een aardig grote partitie in kunnen stellen met een mount-point op /usr/local -- en dan alle informatie vanaf /usr/local naar de nieuwe disk kunnen transporteren. Maar geen enkel systeem of applicatie-component zou "breken" omdat Linux /usr/local zou zien ongeacht waar het te lokaliseren was. Om je een voorbeeld te geven van hoe men partities in zou kunnen stellen, heb ik het volgende partitieschema op een Intel-systeem gebruikt (dual boot, Windows 95 en Linux): Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 254 1024096+ 6 DOS 16-bit >=32M /dev/hda2 255 255 782 2128896 5 Extended /dev/hda5 255 255 331 310432+ 83 Linux native /dev/hda6 332 332 636 1229728+ 83 Linux native /dev/hda7 637 637 749 455584+ 83 Linux native /dev/hda8 750 750 782 133024+ 82 Linux swap De eerste partitie, /dev/hda1, is een DOS-geformatteerd bestandssysteem dat wordt gebruikt voor het opslaan van het alternatieve besturingssysteem (Windows 95). Dit geeft me voor dat besturingssysteem 1 Gb aan ruimte. De tweede partitie, /dev/hda2, is een fysieke partitie (genaamd "extended") welke de resterende ruimte op de drive omvat. Het wordt alleen gebruikt om de overblijvende logische partities in te kapselen (er kunnen slechts 4 fysieke partities op een disk voorkomen; in mijn situatie waren meer dan 4 partities nodig, daarom moest ik een logisch partitieschema voor de andere partities gebruiken). De derde tot aan de vijfde partitie, /dev/hda5, /dev/hda6, en /dev/hda7, zijn allen e2fs-geformatteerde bestandssystemen die respectievelijk voor de / (root), /usr, en de /home partities worden gebruikt. Ten slotte wordt de zesde partitie /dev/hda8, voor de swappartitie gebruikt. Voor nog een ander voorbeeld, deze keer een Alpha box met twee harddisks (enkele boot, alleen Linux), heb ik voor het volgende partitieschema gekozen: Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 1 2046 4 DOS 16-bit <32M /dev/sda2 2 2 168 346859 83 Linux native /dev/sda3 169 169 231 130851 82 Linux swap /dev/sda4 232 232 1009 1615906 5 Extended /dev/sda5 232 232 398 346828 83 Linux native /dev/sda6 399 399 1009 1269016 83 Linux native /dev/sdb1 1 1 509 2114355 83 Linux native /dev/sdb2 510 510 1019 2118540 83 Linux native De eerste partitie, /dev/sda1, is een DOS-geformatteerd bestandssysteem, welke wordt gebruikt om de MILO boot loader op te slaan. Het Alpha-platform heeft een iets andere methode om te booten dan een Intel-systeem, daarom slaat Linux zijn boot-informatie op in een FAT-partitie. Deze partitie hoeft slechts zo groot te zijn als de kleinst mogelijk toegestane partitie -- in deze situatie, 2Mb. De tweede partitie, /dev/sda2, is een e2fs-geformatteerd bestandssysteem dat voor de / (root) partitie wordt gebruikt. De derde partitie, /dev/sda3, wordt gebruikt voor de swappartitie. De vierde partitie, /dev/sda4, is een "extended" partitie (zie vorige voorbeeld voor details). De vijfde en zesde partitie, /dev/sda5, en /dev/sda6, zijn e2fs-geformatteerde bestandssystemen respectievelijk voor de /home en /usr partities. De zevende partitie, /dev/sdb1, is een e2fs-geformatteerd bestandssysteem dat wordt gebruikt voor de /archive partitie. De achtste en laatste partitie, /dev/sdb2, is een e2fs-geformatteerd bestandssysteem dat wordt gebruikt voor de /archive2 partitie. Nadat je klaar bent met het instellen van de partitie-informatie, zal je de nieuwe partitie naar disk weg moeten schrijven. Hierna laadt het installatieprogramma de partitietabel opnieuw in het geheugen, en kun je dus verdergaan met de volgende stap van het installatieproces. _________________________________________________________________ Instellen van Swap Space Zodra je de informatie voor je partitie(s) hebt ingesteld, en "mount-points" hebt toegekend (dwz. /usr is het mountpoint voor het /usr bestandssysteem), zal het installatieprogramma je vragen welke partitie(s) het moet gaan gebruiken als swap space. Aangezien je swappartities reeds als zodanig zouden moeten zijn geïdentificeerd (partitie ID # 82), kun je op drukken om het formatteren van die partitie(s) voor swap gebruik te starten. Ik raad je aan de "Check for bad blocks during format" te activeren om er zeker van te zijn dat de partitie vrij is van potentiële problemen betreft beschadingen. Het vertraagt het formatteringsproces wezenlijk, maar ik geloof dat dat 't waard is. _________________________________________________________________ Te formatteren Partities Uitkiezen Nu zal het installatieprogramma je een lijst tonen met de partities die je aan Linux hebt toegekend, en je vragen welke daarvan je als nieuwe bestandssystemen wilt formatteren. Waarschijnlijk zal je ze allemaal willen formatteren, behalve als je je systeem aan het upgraden bent of misschien wat informatie hebt (bv. onder /home) die je niet kwijt wilt. Weer raad ik je aan de optie "Check for bad blocks during format" te activeren. _________________________________________________________________ Uitkiezen van de Gewenste te Installeren Packages Vervolgens zal je een lijst met systeemcomponenten worden gepresenteerd, en worden gevraagd om aan te geven welke daarvan zouden moeten worden geïnstalleerd. Als je een ervaren Linux-gebruiker bent, kun je overeenkomstig van wat je wilt met zorg uitkiezen. Als Linux nieuw voor je is, zal je wellicht de onderste optie "Everything" willen selecteren. Wat ik meestal doe is de componenten te selecteren waarvan ik weet dat ik ze nodig heb, en vervolgens de optie "Select individual packages" activeer, wat me de mogelijkheid biedt verfijndere controle uit te oefenen op de installatie. Zodra je de gewenste componenten hebt uitgekozen, selecteer je "Ok" om de installatie te beginnen. Als je "Select individual packages" hebt geselecteerd, zal je worden gevraagd aan te geven welke individuele packages zouden moeten worden geïnstalleerd. Dit is tamelijk ongecompliceerd, en als je er niet zeker van bent, waar een gegeven package voor is, kun je de -toets indrukken voor een beknopte beschrijving van wat het doet. Maak je er geen zorgen om als je een vergissing maakt bij het kiezen (of niet kiezen) van één of twee packages. Per slot van rekening staan alle packages op je CD-ROM (of op andere source media), dus je kunt de handige Red Hat RPM-tool gebruiken om aanpassingen te maken nadat je systeem beschikbaar en werkend is (zie de [103]paragraaf Het gebruik van de Red Hat Package Manager (RPM) in Hoofdstuk 10 voor details). Nadat je de gewenste te installeren packages hebt uitgekozen, zal het installatieprogramma de partities die je hebt gedefinieerd nu gaan formatteren. Dit kan verscheidene minuten duren, vooral voor grote partities of als je de controle op slechte blokken hebt geactiveerd, dus denk alsjeblieft niet dat je systeem tijdens deze procedure is vastgelopen! Nadat het formatteren gereed is, zal Red Hat Linux de installatie van de geselecteerde packages opstarten. Dit zou, afhankelijk van de snelheid van je systeem, tussen vijf en vijftien minuten kunnen duren. _________________________________________________________________ Hardware Configuratie Na het installeren van de packages, zal Red Hat de apparaten op je systeem gaan configureren. In de meeste gevallen, behalve met zeer nieuwe hardware die mogelijk nog niet volledig door Linux wordt ondersteund, is het installatieprogramma erg goed in de automatische configuratie. De aanwijzingen die je te zien krijgt zijn zeer ongecompliceerd: * Detectie van je muis (waaronder de keuze tussen 2- en 3-knops modellen. Als je een 2-knops muis hebt, zal je wellicht de 3-knops emulatie willen activeren). * Detectie van je videokaart * Uitkiezen van je monitor * Het draaien van de ``XConfigurator'' om het X Window Systeem te configureren (wellicht wil je kiezen voor de optie "Probe" voor het automatisch detecteren van je kaart. Als je hier een fout krijgt, maak je er dan niet druk om, aangezien je later kunt zorgen voor de X-configuratie, nadat je systeem beschikbaar en werkend is; zie [104]Hoofdstuk 5 voor details). * Selectie van videomodes (je kunt voor de standaardwaarden kiezen, of je kunt de videomodes die je onder het X-Window systeem wilt gebruiken fijnafstemmen). * LAN configuratie * Klok en tijdzone configuratie * Startup services (de standaardselectie is waarschijnlijk het beste, maar nogmaals, je kunt de indrukken om een beschrijving te krijgen van wat een gegeven service doet) * Printer configuratie * Toekenning van het root-wachtwoord (kies iets dat veilig is!) * Aanmaken van een bootdisk [ wees niet lui! Maak er één! :-) ] _________________________________________________________________ Booten met LILO Vervolgens moet het installatieprogramma een bootloader naar je harddisk wegschrijven. De bootloader (LILO op Intel systemen) is verantwoordelijk voor het booten van Linux samen met enige andere besturingssystemen als je je systeem voor multi-boot hebt ingesteld. (zie de [105]paragraaf Multi-boot met Andere Besturingssystemen voor details). In het dialoogvenster "Lilo Installation" wordt je gevraagd te kiezen waar het bootloader image naar zou moeten worden weggeschreven. Je zal het waarschijnlijk in het master bootrecord van je eerste disk willen installeren (meestal /dev/hda voor IDE, /dev/sda voor SCSI). Zodra je de lokatie hebt geselecteerd waarnaar de bootloader kan worden weggeschreven, verschijnt er een tweede dialoogvenster, waarbij je de mogelijkheid wordt geboden extra boot-time configuratieparameters in te voeren. Meestal hoef je hier niets in te voeren, maar als je meer dan 64 Mb RAM hebt, zal je hier een speciale parameter op moeten geven om Linux gebruik te kunnen laten maken van het extra RAM (anders zal het slechts gebruik maken van de eerste 64 Mb). Als er zich bijvoorbeeld 128 Mb Ram in je computer bevindt, zou je in kunnen voeren: append="mem=128M" Als je SCSI-drives op je systeem hebt, of je wenst LILO op een partitie met meer dan 1023 cylinders te installeren, kan het nodig zijn de optie "Use linear mode" te activeren. Als het niet is geactiveerd, kan het activeren van deze optie geen kwaad, dus waarschijnlijk is het een goed idee om het wel te doen. _________________________________________________________________ Multi-boot met Andere Besturingssystemen Tenslotte, zal je een derde dialoogvenster worden gepresenteerd, waarin de beschikbare partities zullen worden weergegeven als je je systeem zo hebt ingesteld dat er tijdens de systeemstart uit Linux en andere besturingssystemen kan worden gekozen. Hier kun je namen toekennen aan je andere besturingssystemen (die je tijdens het booten achter de "LILO"-prompt in zal voeren om het gewenste besturingssysteem te booten. Het installatieprogramma kent aan iedere opstartbare partitie reeds standaardnamen toe, dus het is niet nodig ze te wijzigen, tenzij de standaardwaarden je niet bevallen. Het standaard besturingssysteem dat tijdens de systeemstart zal worden geboot, is natuurlijk Linux. Als je dat echter wilt, kun je de standaardwaarde op één van de andere gedefinieerde besturingssystemen instellen. Na het installeren van de bootloader op je harddisk, presenteert het installatieprogramma je hopelijk een dialoogvenster met "Congratulations", waarmee wordt aangegeven dat Linux succesvol is geïnstalleerd. Verwijder de installatiediskette (als er één is), en druk op om je systeem opnieuw te booten...in Linux! Linux zal booten, en als alles goed gaat, krijg je een "login"-prompt te zien. Van hieruit, zou je als "root" in moeten kunnen loggen met het wachtwoord dat je tijdens het installatieproces hebt toegekend. _________________________________________________________________ Downloaden en Installeren van Red Hat Updates Red Hat heeft tot dusverre een aantal aardig indrukwekkende versies van hun distributie geproduceerd, maar naar het schijnt heeft het een geschiedenis ze uit te geven wanneer ze nog niet geheel "gereed voor de hoogste volmaaktheid" is. Om daarom volledig profijt te hebben van je Linux-systeem is het noodzakelijk bijgewerkte packages te downloaden en toe te passen. Deze packages, ook wel "rpm files" genoemd worden toegepast met behulp van het RPM-utility, zie de [106]paragraaf Het gebruik van de Red Hat Package Manager (RPM) in Hoofdstuk 10 voor details over dit utility). Dit zal één van de meer tijdrovende onderdelen zijn in het gereed krijgen van je Linux-systeem (tenzij je een stervormige snelle Internet-verbinding hebt). Neem echter de tijd om dit te doen! Het zal je vermoedelijk heel veel hartzeer besparen! Download eerst alle bestanden vanaf: [107]ftp://ftp.redhat.com/redhat/updates/6.1/i386/ (Hierbij wordt verondersteld dat je gebruik maakt van Linux op een Intel box). Het is waarschijnlijk het beste als je alles in een enkele directory download omdat je dan eenvoudig ``rpm -Uvh *'' kunt typen, waarmee een upgrade op alle packages zal worden toegepast. Als je kernel rpm-bestanden hebt gedownload doe je er waarschijnlijk beter aan ze voorlopig naar een andere directory te verplaatsen. Het upgraden of aanpassen van je kernel is wat gecompliceerder en moet met heel veel zorg worden gedaan (zie de [108]paragraaf Linux Kernel Upgrades in Hoofdstuk 10 voor details). Overweeg daarom alle kernel-*.rpm bestanden vanuit je tijdelijke upgrade-directory te verplaatsen naar elders voordat je de upgrades toe gaat passen. Om de upgrades toe te passen, kun je eenvoudigweg ``rpm'' tegelijkertijd op alle packages uitvoeren (dwz. "rpm -Uvh *"), of als je daar de voorkeur aangeeft, ze één voor één upgraden (dwz. "rpm -Uvh te_upgraden_bestand.rpm"). De laatste methode is voor degenen die er zeker van willen zijn dat iedere update correct en zonder fouten wordt toegepast. :-) Misschien dat je er nieuwsgierig naar bent of een gegeven package is geïnstalleerd, voordat je het probeert te upgraden. Of misschien dat je uit wilt zoeken welke versie van een gegeven package is geïnstalleerd. Dit kan allemaal worden gedaan met het RPM utility; zie de [109]paragraaf Het gebruik van de Red Hat Package Manager (RPM) in Hoofdstuk 10 voor details. _________________________________________________________________ Hoofdstuk 5. Configureren van het X Window Systeem Het X Window Systeem, ala "X" (bij velen in het algemeen en onjuist bekend als "X-Windows") is een GUI welke bovenop Linux is gezeteld. In tegenstelling tot Microsoft Windows, kan het X Window Systeem er op zeer verschillende manieren uitzien en functioneren. Het kan zeer primitief maar ook zeer geavanceerd werken, er mooi of lelijk uitzien, zich zeer mooi en snel óf log en traag voordoen (waarvan ieder subjectieve kwaliteiten zijn die zoveel argumenten tussen gebruikers veroorzaken als de woordenstrijd tussen "Linux vs. Microsoft NT" lijkt te veroorzaken). X op juiste wijze aan het werk krijgen kan zowel eenvoudig zijn als zo gecompliceerd, dat je je haren wel uit je hoofd kunt trekken! Het is een algemene klacht van gebruikers voor wie Linux nieuw is, en ik heb zelf ontelbare keren met de configuratie-instellingen gevochten, dus ik voel volledig met deze mensen mee. Gelukkig wordt een dergelijke configuratie in de nieuwere Linux-distributies eenvoudiger en meer geautomatiseerd. In feite is het zo dat als je Red Hat 6.1 gebruikt, je je hierover waarschijnlijk geen zorgen hoeft te maken. Alhoewel X in een meerderheid van de gevallen automatisch kan worden geconfigureerd, zijn er uitzonderingen; Ik raad je aan uit te zoeken of erachter te komen welk type videokaart je hebt en de hoeveelheid video RAM dat op je systeem is geïnstalleerd, als ook het type monitor en daarvan de horizontale en verticale synch rates (deze informatie is meestal beschikbaar op de laatste bladzijden van de gebruikershandleiding van de monitor of ze zijn op het WWW te vinden). _________________________________________________________________ Het X Window Systeem werkend krijgen met de X-Configurator Er zijn twee belangrijkste methoden om X onder de Linux-distributie Red Hat werkend te krijgen. De eerste en eenvoudigste methode is door gebruik te maken van Red Hat's eigen ``Xconfigurator'' utility. Het utility probeert je hardware te detecteren en installeert de van toepassing zijnde X-software met de juiste configuratie-instellingen. Als het je na het uitproberen van diverse instellingen met Xconfigurator nog steeds niet lukt, zou het kunnen dat je meer succes hebt met het utility ``xf86config''. Alhoewel het zeker niet zo gebruikersvriendelijk of aantrekkelijk is als Xconfigurator, geeft het je wat preciezere controle bij het configuratieproces. Als je uiteindelijk nog steeds geen geluk hebt, moet je je mogelijk wenden tot het met de hand wijzigen van het bestand ``/etc/X11/XF86Config'' en diverse instellingen fijnafstemmen. Als dit het geval is, kan het zijn dat je hulp nodig hebt van de Linux-gemeenschap (zie de [110]paragraaf Waar je voor hulp terecht kunt in Hoofdstuk 13 voor details). Echter ontspan -- in een meerderheid van de gevallen verricht de Xconfigurator een uitstekende taak! Nadat je X juist werkend hebt gekregen, kan het zijn dat je wat teleurgesteld bent over het gebrek aan rijke kleuren. Dit komt omdat X gebruik maakt van een standaardkleurdiepte van 8-bit per pixel (``bpp''). Je kunt echter hogere kleurdiepten gebruiken, in de veronderstelling dat je videohardware dit ondersteunt. De diverse kleurdiepten worden opgesomd in het bestand ``/etc/X11/XF86Config'', en dit ziet er ongeveer zo uit: Subsection "Display" Depth 24 Modes "800x600" "1024x768" ViewPort 0 0 Virtual 1024 768 EndSubsection De sectie hierboven toont de mogelijke resoluties die beschikbaar zijn wanneer gebruik wordt gemaakt van de 24-bit kleurdiepte (800x600 en 1024x768, zoals opgesomd in de "Modes" regel); er kan "tijdens het werken" tussen deze resoluties worden geschakeld met de <+> en <-> toetsen. Tip Tip: Standaard maakt X bij het opstarten gebruik van de laagste resolutie. Als je dit gedrag net zo min prettig vindt als ik, wijzig je gewoon het bestand ``/etc/X11/XF86Config'' en verwissel je de resoluties (dwz. "1024x768" "800x600"). Wanneer je met de instelling klaar bent, kun je iedere kleurdiepte handmatig testen door te typen ``startx -- -bpp 24'' (voor de 24-bits diepte) en om er zeker van te zijn dat X goed werkt als je gebruik maakt van de gewenste kleurdiepte). Als het je is gelukt een hogere kleurdiepte met succes te gebruiken en het als standaardwaarde in wilt stellen, zal je als volgt een bestand genaamd ``/etc/X11/xinit/xserverrc'' aan moeten maken: exec X :0 -bpp 24 De wijziging hierboven zal X toestaan 24 bits per pixel te gebruiken (als je hier problemen mee ervaart, probeer in plaats daarvan dan 16 of 32). In de veronderstelling dat je X juist hebt geconfigureerd, is het starten ervan eenvoudig een kwestie van als gebruiker ``startx'' in te tikken. De X GUI zal worden opgestart en nadat je je sessie hebt beëindigd en X hebt verlaten, zal je naar de reguliere Linux-console terugkeren. X kan naar keuze tijdens de systeemstart worden opgestart, en altijd draaien (zie de [111]paragraaf De X Desktop Manager Gebruiken voor details over hoe je dit kunt bewerkstelligen). Dit kan handig zijn voor die gebruikers die het niet prettig vinden tegen een "saai" zwart & wit console aan te kijken, of voor degenen die zoveel mogelijk wensen te voorkomen met commandoregel-shells van doen te hebben. _________________________________________________________________ De X Desktop Manager Gebruiken Als je dat wenst, kun je de X Desktop Manager (``xdm'') gebruiken om het X Window Systeem automatisch bij de systeemstart op te starten. Dit geeft je de mogelijkheid je Linux systeem altijd onder X te draaien (alhoewel je van de GUI naar de reguliere consoles over kunt schakelen met --, en dan zonodig weer naar de GUI terug kunt gaan met -). Dit is een prettige manier om in een aantrekkelijke en vriendelijke omgeving voor jou en je gebruikers te voorzien, en voorkomt het iedere keer weer intikken van ``startx''. Wijzig gewoon het bestand ``/etc/inittab'' om xdm te gebruiken en verander hierin de regel met "id:3:initdefault:" door het volgende: id:5:initdefault: Deze wijziging zorgt ervoor dat Linux bij de systeemstart in level 5 opstart; dit run level zal standaard xdm opstarten. Misschien dat je ook het bestand ``/etc/inittab'' wilt controleren, waarschijnlijk ergens onderaan, om er zeker van te zijn dat de volgende regel aanwezig is: x:5:respawn:/usr/bin/X11/xdm -nodaemon Als je xdm hebt geactiveerd en een hogere ``bpp'' waarde wilt gebruiken dan de standaardwaarde 8 (en je videokaart en monitor ondersteunen dit), dan zal je het bestand ``/etc/X11/xdm/Xservers'' als volgt aan moeten passen: :0 local /usr/X11R6/bin/X -bpp 24 Deze wijziging zal xdm in 24 bits per pixel opstarten. Wellicht wil je ook het bestand ``/etc/X11/xdm/Xsetup_0'' wijzigen en met een ``#'' teken, een commentaarregel maken van de regel die begint met ``xbanner'': #/usr/X11R6/bin/xbanner Hiermee wordt voorkomen dat het standaard xdm banner scherm voor een gedeelte van een seconde tussen KDE-sessies wordt getoond. Esthetisch, ik weet 't, maar... Tip Tip: Soms kun je het nodig vinden naar de console terug te keren (bijvoorbeeld omdat bepaalde spellen onder de console draaien en niet onder X). Er zijn twee manieren om dit te doen. Druk op , om tijdelijk van X naar de console over te schakelen en om weer naar X terug te gaan, druk je op . Of, als je X helemaal wilt beëindigen (om je beschikbare geheugen vrij te geven) kun je als "root" typen ``/sbin/telinit 3'' om naar een ander run-level van het systeem over te schakelen; dit vertelt XDM dat het moet stoppen. Om terug te schakelen, typ je ``/sbin/telinit 5''. _________________________________________________________________ Verbeteren van de Font-weergave Onder X Eerlijk gezegd heeft X nooit bekend gestaan om zijn speciale aantrekkelijke fonts. In feite doen veel mensen er afstand van met het denkbeeld dat lelijke, beroerde fonts een ongelukkig feit van het werken onder X is. Gelukkig is het mogelijk het voorkomen van en het verhogen van het aantal te gebruiken fonts onder X, drastisch te verbeteren. Als je in het bezit bent van een kopie van Windows, kun je de TrueType fonts zelfs vanaf dat platform kopiëren en ze ook onder X gebruiken! Dergelijke ondersteuning van fonts wordt bewerkstelligd door het gebruik van een fontserver zoals ``xfstt'' of ``xfs''. Red Hat 6.1 bevat nu ingebouwde ondersteuning voor ``xfs'' en voorziet als resultaat in een aantrekkelijke ondersteuning voor fonts. Als je daarom deze versie van Linux gebruikt, kan het zijn dat je tevreden bent met de wijze zoals het is. Er zijn echter nog dingen die je kunt doen om het nog wat verder te verbeteren, en bovendien gebruik te maken van je eigen TrueType fonts als je die beschikbaar hebt. Maak voor het activeren van de ondersteuning voor TrueType fonts een directory aan (bv. ``/usr/local/share/ttfonts'') en kopieer één of alle fontbestanden vanuit je Windowssysteem (waar ze zijn te vinden in de directory ``c:\windows\fonts'') naar de nieuwe directory. Tip Tip: Als je geen TrueType fonts beschikbaar hebt, kun je ze direct downloaden vanaf Microsoft op [112]http://www.microsoft.com/typography/fontpack/default.htm. Typ vanuit je nieuwe ``ttfonts'' directory (als root) het volgende in om gebruik te maken van de fonts: ttmkfdir -o fonts.scale mkfontdir Wijzig vervolgens het bestand ``/etc/X11/fs/config'', voeg je nieuwe directory met fonts toe aan de lijst met bestaande directory's. Wijzig ook de default-point-size van 120 naar 140, waarmee je grotere, betere leesbare fonts zal krijgen. Sluit vervolgens X af (als je dit nog niet had gedaan) en start de xfs server als volgt opnieuw op: /etc/rc.d/init.d/xfs restart Herstart als laatste X en geniet van je prachtige nieuwe fonts! Voor meer gedetailleerde informatie over het verbeteren van font support onder X, is er een uitstekende bron genaamd de ``XFree86 Font Deuglification Mini HOW-TO'' op [113]http://www.frii.com/~meldroc/Font-Deuglification.html. _________________________________________________________________ Uitkiezen van een Window Manager voor X Nu zou je een beslissing moeten nemen over een window manager. Het X Window Systeem is gewoon de omgeving die het toestaat dat er grafische afbeeldingen op de hardware van je systeem kunnen worden weergegeven; de window manager is verantwoordelijk voor de weergave van X en hoe de wisselwerking tussen jou en je applicaties plaatsvindt. De Red Hat Linux-distributie bevat verscheidene window managers, waaronder fvwm, olvm, twm, AfterStep, en anderen. De standaard window manager die je waarschijnlijk te zien krijgt als je X voor de eerste keer opstart, is fvwm95, een op Win95 lijkende omgeving. Persoonlijk merk ik verschillen tussen dat wat gebruikelijk wordt aangeboden en mijn eigen smaak, en ik raad je aan gebruik te maken van óf GNOME óf KDE (of beiden!), waarvan de installatie in de volgende twee secties wordt behandeld. _________________________________________________________________ GNOME Installatie en Configuratie De GNU Network Object Model Environment (GNOME) is een window omgeving die je X window omgeving uitbreidt. Het bevat volledige mogelijkheden, waaronder een grote selectie applicaties die van nut kunnen zijn. Op moment van dit schrijven heeft GNOME echter nog een paar kleine bugs, wat betekent dat het kan zijn dat je zo nu en dan zit opgescheept met een dolende werking. Het is echter tamelijk stabiel en beslist bruikbaar! Als je Red Hat 6.1 gebruikt, wordt de laatste GNOME-versie (tenminste, de laatste op moment van dit schrijven!) met de distributie geleverd. Anders zal je de laatste RPM-distributie van het package moeten downloaden. Op moment van dit schrijven, zijn de RPM-bestanden voor Red Hat 6.0 i386 systemen te vinden op [114]ftp://ftp.gnome.org/pub/GNOME/RHAD/redhat-6.0/i386/ (of vanaf een mirror-site). Opmerking Noot: Als je Red Hat 6.0 gebruikt, zou je je er bewust van moeten zijn dat het met een GNOME-versie met tamelijk veel fouten werd geleverd. Je zou de laatste RPM's vanaf de FTP-site zoals hierboven beschreven, moeten downloaden. Nadat je alle benodigde bestanden hebt, kan het GNOME-package met een eenvoudig commando worden geïnstalleerd, typ als "root": rpm -Uvh gtk*.rpm *.rpm (Het commando hierboven verzekert je ervan dat de GTK library's als eerste worden geïnstalleerd, om fouten over afhankelijkheden te voorkomen). In tegenstelling tot wat mensen geloven, is GNOME in werkelijkheid geen Window manager, maar in plaats daarvan bevindt het zich bovenop je favoriete Window manager, en voegt het er aanvullende functionaliteit aan toe. Daarom zou je zodra je GNOME hebt geïnstalleerd, een beslissing moeten nemen over welke window manager je wenst te gebruiken en een bestand ``.xinitrc'' in je directory aan moeten maken, welke de van toepassing zijnde window manager laadt en GNOME opstart. Het bestand zou er ongeveer zo uit moeten zien: afterstep & exec gnome-session Hiermee zal AfterStep voor de window manager worden geladen en vervolgens zal GNOME daar bovenop worden gedraaid. Meer informatie over de GNU Network Object Model Environment is te vinden op de webpage van GNOME op [115]http://www.gnome.org/. Vergeet de schermafbeeldingen te vinden op, [116]http://www.gnome.org/screenshots/ niet te bekijken. _________________________________________________________________ KDE Installatie en Configuratie Het K Desktop Package (KDE) is een andere populaire window manager dat tijdens dit schrijven wat volwassener is dan GNOME. Het schijnt echter wat meer geheugenbronnen te vereisen dan GNOME, dus neem de hoeveelheid RAM op je systeem in overweging (als je minder hebt dan 64 Mb RAM en 128 Mb swap, ben je wellicht beter af met GNOME). De eerste stap voor het installeren van KDE is het downloaden van de laatste RPM-distributie van het package. Zoek hiervoor naar een FTP-mirror op [117]http://www.kde.org/mirrors.html. Probeer een mirror uit te kiezen die zich dichtbij je geografische lokatie bevindt, en wees er zeker van dat je er één uitkiest die vaak wordt bijgewerkt (dit kan worden vastgesteld door de lijst met mirrors te bekijken). Wanneer je een geschikte mirror hebt gevonden, download je alle RPM-bestanden die van toepassing zijn op je Red Hat versie en platform. Als je bijvoorbeeld Red Hat 5.2 (of hoger) gebruikt op een Intel-platform, zal je het package waarschijnlijk vanaf de FTP-mirror vanuit de directory ``/pub/mirrors/kde/stable/latest/distribution/rpm/RedHat-5.2/i386/'' willen downloaden. Als je alle benodigde bestanden hebt, kan het KDE package als "root" met de volgende simpele commando's worden geïnstalleerd (zorg dat je je in de directory bevindt met de KDE rpm-bestanden): rpm -Uvh qt*.rpm install-kde-1.1-base Deze commando's zullen als eerste de Qt library's installeren, en vervolgens het KDE base package. Zodra dit is gebeurd, zou je uit moeten loggen (of als je met ``su'' als root bent ingelogd, typ je gewoon exit en nogmaals ``su''), zodat het path juist wordt ingesteld, en vervolgens tik je in: install-kde-1.1-apps Met dit commando zullen de applicatie-programma's worden geïnstalleerd. Deze installatieprocedure wordt in meer detail besproken in het bestand ``readme-redhat-rpms.txt'' dat met de KDE-bestanden die je downloadde zou moeten zijn meegeleverd. Als alles goed gaat en KDE zonder foutmeldingen is geïnstalleerd, kun je als je dat wilt, KDE als de standaard window manager voor al je gebruikers configureren (degene die ze onmiddellijk zullen zien na het intikken van ``startx''), door wederom als "root" het volgende in te tikken: /opt/kde/bin/usekde userid (Vervang userid door een echt gebruikers-id!) Meer informatie over de K Desktop Environment is te vinden op de webpage van KDE op [118]http://www.kde.org/. Vergeet de schermafbeeldingen, te vinden op [119]http://www.kde.org/kde2shots.html niet te bekijken. _________________________________________________________________ Hoofdstuk 6. Algemene Systeembeheer Zaken Root Account Het "root" account is het meest bevoorrechte account op een Unix-systeem. Dit account geeft je de mogelijkheid alle facetten van systeembeheer uit te voeren, waaronder het toevoegen van accounts, het wijzigen van wachtwoorden voor gebruikers, bestuderen van logbestanden, installeren van software, enz. Bij het gebruiken van dit account is het van groot belang zo voorzichtig mogelijk te zijn. Het "root" account heeft geen beveiligingsbeperkingen opgelegd gekregen. Dit betekent dat het eenvoudig is administratieve verplichtingen zonder gedoe uit te voeren. Het systeem verkeert echter in de veronderstelling dat je weet wat je doet en het zal exact datgene doen waar je om verzoekt -- er worden geen vragen gesteld. Daarom is het nogal makkelijk door een onjuist ingetikt commando, kritieke systeembestanden te verwijderen. Als je je als "root" hebt geïntroduceerd of je als "root" voordoet, toont de shell-prompt als het laatste teken een '#' (als je gebruik maakt van bash). Dit dient als een waarschuwing voor de absolute kracht van dit account. De stelregel is nooit als "root" in te loggen, tenzij het absoluut noodzakelijk is. Typ als "root" de commando's met aandacht in en controleer ze nog eens voordat je op de return drukt. Log zo snel mogelijk uit van het "root"-account nadat je de taak waarvoor je hebt ingelogd hebt bewerkstelligd. Tenslotte, (dit geldt voor ieder account maar is vooral voor dit account belangrijk), houd het wachtwoord veilig! _________________________________________________________________ Gebruikersaccounts Aanmaken Waarschuwing (WAARSCHUWING: GECENTREERD RONDOM SLACKWARE. MOET WORDEN BIJGEWERKT VOOR RED HAT) In deze sectie wordt verondersteld dat je de Shadow passwd suite op je Linux-systeem gebruikt. Als dit niet zo is, zou je het in overweging moeten nemen het wel te gebruiken, aangezien het helpt de beveiliging wat aan te scherpen. De Shadow suite is tamelijk eenvoudig te installeren en het zal je niet-shadow password bestand automatisch converteren naar het nieuwe shadow-formaat. Er zijn twee stappen benodigd voor het aanmaken van een nieuw gebruikersaccount. De eerste bestaat uit het daadwerkelijk aanmaken van de account zelf, het tweede bestaat uit het voorzien in een alias naar het e-mail adres (op m'n werk volgen we de conventie "Voornaam.Achternaam@onze.domein.naam"). Neem een beslissing over welke gebruikersnaam je aan de gebruiker toekent, om de account aan te maken. De gebruikersnaam is ten hoogste 8 tekens lang en waar mogelijk zou je voor hun achternaam moeten kiezen of de achternaam en de eerste initiaal als een gebruikersaccount reeds bestaat (het adduser script detecteert dit en zal beletten dat je dubbele account-namen toevoegt). Er zal je dan worden gevraagd andere informatie in te voeren: volledige naam van de gebruker, gebruikersgroep (meestal de standaardwaarde), een gebruikersid # (wordt automatisch toegekend), de homedirectory (wordt automatisch toegekend), een gebruikers-shell, wat waarden voor het verlopen van het wachtwoord, en als laatste het gewenste wachtwoord (wat niet naar het scherm teruggekaatst zal worden; je zou er voor moeten zorgen dat de gebruiker om beveiligingsredenen een wachtwoord kan kiezen tussen de 6 en 8 tekens). Merk alsjeblieft op dat alles, behalve de volledige naam van de gebruiker, in kleine letters ingevuld zal moeten worden. De naam van de gebruiker en het wachtwoord kunnen in een "prettig formaat" (bv. Joe Smith) worden ingevoerd. Informeer je gebruiker(s) dat ze gezien de hoofdlettergevoeligheid bij het invoeren van hun gebruikersnaam en wachtwoord identieke letters gebruiken. Hierna volgt een voorbeeldsessie waarin we een gebruiker met de naam Joe Smith toe zullen voegen: mail:~# /sbin/adduser User to add (^C to quit): smith That name is in use, choose another. User to add (^C to quit): smithj Editing information for new user [smithj] Full Name: Joe Smith GID [100]: Checking for an available UID after 500 First unused uid is 859 UID [859]: Home Directory [/home/smithj]: Shell [/bin/bash]: Min. Password Change Days [0]: Max. Password Change Days [30]: 90 Password Warning Days [15]: Days after Password Expiry for Account Locking [10]: 0 Password [smithj]: FL1539 Retype Password: Uid: 859 Gid: 100 Min pass: 0 maX pass: 99999 Warn pass: 7 Lock account: 0 public home Directory: no Typ 'y' als dit juist is, 'q' om het programma te annuleren en verlaten, of de letter van het item dat je wenst te veranderen: Y De volgende stap bestaat uit het aanmaken van de alias voor het e-mail account van de gebruiker. Dit geeft mensen de keuze hun accountnaam voor hun e-mail adres óf hun volledige naam (Eerste.Laaste combinatie) te gebruiken om het voor de buitenwereld te "vereenvoudigen" hun e-mail adres te raden wanneer er voor de eerste keer wordt geprobeerd contact met ze te maken. Wijzig als volgt het bestand ``/etc/aliases'' om de e-mail alias toe te voegen: mail# pico -w /etc/aliases Voeg de nieuwe alias onderaan het bestand toe. Het formaat voor een alias is: Voornaam.Achternaam:gebruikersnaam Je zou de gebruiker moeten vragen naar zijn voorkeur (bv. Joseph.Smith of Joe.Smith). Voor onze nieuwe gebruiker Joe Smith, zou het er als volgt uitzien: Joe.Smith:smith Wanneer je klaar bent met het toevoegen van de alias, druk je op - en sla je het bestand op. Typ vervolgens ``newaliases'' om de database met aliassen bij te werken. Tot op dit punt is de gebruikersaccount aangemaakt en klaar voor gebruik. Je doet er goed aan de gebruiker er aan te herinneren dat zijn gebruikersnaam en wachtwoord in kleine letters moeten worden ingevoerd, en wat het e-mail adres is (bv. ``Joe.Smith@mail.mijndomein.naam''). _________________________________________________________________ Gebruikerswachtwoorden Wijzigen Om het wachtwoord namens een gebruiker te wijzigen, log je eerst in of gebruik je het "su" commando voor het "root"-account. Vervolgens typ je ``passwd user'' (waar user staat voor de naam van de gebruiker wiens wachtwoord je gaat wijzigen). Het systeem zal je dan vragen een wachtwoord in te voeren. Wachtwoorden worden niet naar het scherm teruggekaatst wanneer je ze invoert. Je kunt ook je eigen wachtwoord wijzigen, door het intikken van ``passwd'' (zonder het specificeren van een gebruikersnaam). Er zal je ter verificatie worden gevraagd naar je eigen wachtwoord, en vervolgens kun je een nieuw wachtwoord invoeren. _________________________________________________________________ Gebruikersaccounts deactiveren Wijzig als root het bestand ``/etc/shadow'' om een gebruikersaccount te deactiveren (ervan uitgaand dat je gebruik maakt van shadow passwords; als dit niet zo is, wijzig je in plaats daarvan het bestand ``/etc/passwd''), en vervang je het wachtwoord (die in een versleutelde vorm is opgeslagen) door een ``*'' asterisk. Alle Unix-wachtwoorden, ongeacht de lengte (tot aan een maximum van 8 tekens), worden als versleutelde strings van 13 tekens in het wachtwoordbestand opgeslagen. Daarom is het door het vervangen van het wachtwoord door een enkel ``*'' teken, onmogelijk voor een gebruiker om in te loggen. Opmerking Noot: Deze methode vereist dat je een nieuw wachtwoord aan de gebruiker toekent als je de account weer activeert, aangezien het versleutelde wachtwoordveld zal zijn vervangen. Één tussen systeembeheerders populair lijkende oplossing hiervoor is gewoon het ``*'' teken voor het versleutelde wachtwoord te plaatsen om het account te deactiveren, en de asterisk gewoon weer te verwijderen om het te activeren. Zie de [120]paragraaf Linux Password & Shadow Bestandsformaten voor meer informatie over de ``/etc/passwd'' en ``/etc/shadow'' bestanden. _________________________________________________________________ Gebruikersaccounts Verwijderen Bij gelegenheid, wil je wellicht een gebruiker de toegang tot je server geheel ontzeggen. Als Red Hat gebruiker, is de eenvoudigste manier om een ongewenst gebruikersaccount te verwijderen met het commando ``userdel'', dat als ``root'' moet worden ingetypt. Een voorbeeld: /usr/sbin/userdel baduser Met het commando hierboven zal de gebruikersnaam volledig overeenkomend met ``baduser vanuit het bestand ``/etc/passwd'' worden verwijderd, en als je gebruik maakt van het Shadow password formaat (wat zo zou moeten zijn; zie de [121]paragraaf Linux Password & Shadow Bestandsformaten voor details), vanuit ``/etc/shadow''. Opmerking Noot: Het bestand ``/etc/group'' wordt niet aangepast, ter voorkoming van de verwijdering van een groep waar ook andere gebruikers toe kunnen behoren. Dit is niet zo'n probleem, maar als dit je hindert, kun je het bestand wijzigen en de regel met de hand verwijderen. Voeg de optie ``-r'' toe aan het commando ``userdel'', als je tevens de homedirectory van de gebruiker wilt verwijderen. Bijvoorbeeld: /usr/sbin/userdel -r baduser Ik raad je aan een account niet onmiddellijk te verwijderen, maar het eerst gewoon te deactiveren, vooral als je met een bedrijfsserver met veel gebruikers werkt. Per slot van rekening, kan het zijn dat de eerder genoemde gebruiker op een dag het gebruik van zijn of haar account weer nodig heeft, of om één of meerdere bestanden vraagt die in zijn/haar homedirectory waren opgeslagen. Of misschien dat een nieuwe gebruiker (zoals bij vervanging van een werknemer) toegang nodig heeft tot de bestanden van de eerdere gebruiker. Zorg er in ieder geval voor dat je backups hebt van de homedirectory van de eerdere gebruiker, "voor het geval dat". Zie de [122]paragraaf Gebruikersaccounts deactiveren voor details over het deactiveren van een account, en [123]Hoofdstuk 8 voor details over het maken van backups. _________________________________________________________________ Linux Password & Shadow Bestandsformaten Tradionele Unix-systemen houden informatie bij over een gebruikersaccount, waaronder de in één richting versleutelde wachtwoorden, in een tekstbestand genaamd ``/etc/passwd''. Aangezien dit bestand door veel tools wordt gebruikt (zoals ``ls'') om de eigenaar van bestanden te tonen, enz. door een match tussen het gebruikersid # en de gebruikersnaam, moet het bestand voor iedereen leesbaar zijn. Dit heeft als consequentie dat het een beveiligingsrisico met zich meebrengt. Een andere methode om account-informatie op te slaan, één die ik altijd gebruik, is in het shadow passwd formaat. Net als bij de traditionele methode wordt de account-informatie in het bestand /etc/passwd in een compatibel formaat opgeslagen. Het wachtwoord wordt echter als een enkel "x"-teken opgeslagen (dwz. niet echt in dit bestand opgeslagen). In een tweede bestand, genaamd ``/etc/shadow'', staat een versleuteld wachtwoord als ook nog wat andere informatie zoals waarden wanneer de account of het wachtwoord verloopt, enz. Het bestand /etc/shadow is alleen leesbaar voor het root-account en is daarom een minder beveiligingsrisico. Terwijl een aantal Linux-distributies je dwingen de Shadow Password Suite te installeren om gebruik te kunnen maken van het shadow-formaat, maakt Red Hat het je gemakkelijk. Om tussen de twee formaten te schakelen, typ je (als root): /usr/sbin/pwconv Converteren naar het shadow formaat /usr/sbin/pwunconv Weer terugzetten in het tradionele formaat Met shadow passwords, staat in het bestand ``/etc/passwd'' de account-informatie en het ziet er ongeveer zo uit: smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash De velden in een passwd record worden van elkaar gescheiden door een dubbele punt, ":", en dit zijn: * Gebruikersnaam, tot aan 8 tekens. Hoofdlettergevoelig, meestal geheel in kleine letters * Een "x" in het wachtwoordveld. Wachtwoorden zijn opgeslagen in het bestand ``/etc/shadow''. * Numeriek gebruikers-id. Deze wordt toegekend door het ``adduser'' script. Unix gebruikt dit veld, plus het volgende groepsveld, om te achterhalen welke bestanden aan de gebruiker toebehoren. * Numeriek groeps-id. Red Hat maakt op een tamelijk unieke wijze gebruik van groeps-id's voor verbeterde bestandsbeveiliging. Meestal komt de groeps-id overeen met de gebruikers-id. * Volledige naam van de gebruiker. Ik weet niet zeker wat de maximumlengte van dit veld is, maar probeer het redelijk te houden (minder dan 30 tekens). * Homedirectory van de gebruiker. Meestal /home/username (bv. /home/smithj). Alle persoonlijke bestanden, webpage's, mail forwarding, enz. van de gebruiker zullen hier worden bewaard. * "shell account" van de gebruiker. Vaak ingesteld op ``/bin/bash'' om toegang tot de bash-shell te verschaffen (mijn persoonlijke favoriete shell). Misschien dat je niet in shell-accounts voor je gebruikers wilt voorzien. Je zou bijvoorbeeld een script-bestand genaamd ``/bin/sorrysh'' aan kunnen maken, dat één of andere foutmelding weergeeft en de gebruiker uitlogt, en je zou dit script dan als de standaardshell in kunnen stellen. Opmerking Noot: Als de account moet zijn worden voorzien van "FTP"-transport om webpages bij te werken, enz., dan zal de shell-account moeten worden ingesteld op ``/bin/bash'' -- en vervolgens zullen speciale permissies moeten worden ingesteld in de homedirectory van de gebruiker om shell-logins te voorkomen. Zie de [124]paragraaf Web Server en HTTP Caching Proxy Beheer in Hoofdstuk 7 voor details. Het ``/etc/shadow'' bestand bevat informatie over het verlopen van het wachtwoord en account voor gebruikers en het ziet er ongeveer zo uit: smithj:Ep6mckrOLChF.:10063:0:99999:7::: Net als in het passwd bestand, worden ook alle velden in het shadow bestand door ":" dubbele punten gescheiden, en dit zijn de velden: * Gebruikersnaam, tot aan 8 tekens. Hoofdlettergevoelig, meestal allen kleine letters. Een directe overeenkomst met de gebruikersnaam in het bestand /etc/passwd. * Wachtwoord, 13 versleutelde tekens. Een leeg veld (dwz. ::) geeft aan dat er geen wachtwoord is vereist om in te loggen (dit is gewoonlijk een slecht plan), en een ``*'' veld (dwz. :*:) geeft aan dat het account is gedeactiveerd. * Het aantal dagen (sedert 1 januari, 1970) sinds het wachtwoord voor het laatst werd gewijzigd. * Het aantal dagen voordat het wachtwoord mag worden gewijzigd (0 geeft aan dat het op ieder moment mag worden gewijzigd) * Het aantal dagen nadat het wachtwoord moet worden gewijzigd (99999 geeft aan dat de gebruiker zijn of haar wachtwoord vele, vele jaren ongewijzigd mag laten) * Het aantal dagen dat een gebruiker moet worden gewaarschuwd dat een wachtwoord is verlopen (7 voor een volledige week) * Het aantal dagen nadat het wachtwoord is verlopen dat het account wordt gedeactiveerd * Het aantal dagen sinds Januari 1, 1970 dat een account werd gedeactiveerd * Een gereserveerd veld voor mogelijk toekomstig gebruik _________________________________________________________________ Systeem Afsluiten en Herstarten Voor het afsluiten van het systeem vanuit een terminalsessie, log je in of gebruik je "su" voor het "root"-account. Vervolgens typ je ``/sbin/shutdown -r now''. Het kan even duren voor alle processen zijn beëindigd, en vervolgens zal Linux worden afgesloten. De computer zal zichzelf rebooten. Als je onder de console werkt, is het indrukken van -- een sneller alternatief voor het afsluiten. Wees alsjeblieft geduldig aangezien het afsluiten van Linux een paar minuten kan duren. Je kunt het systeem ook afsluiten en het een halt toeroepen (dwz, het zal worden afgesloten zonder dat het 't systeem opnieuw opstart). Het systeem zal niet beschikbaar zijn totdat je de aan-/uitknop weer hebt ingedrukt of het met -- hebt gereboot. Dit kan handig zijn als je bijvoorbeeld het systeem af moet sluiten en het naar een andere lokatie moet verplaatsen. Typ hiervoor ``/sbin/shutdown -h now'' wanneer je je als "root" hebt aangemeld of via het "su"-commando op het "root"-account bent ingelogd. Linux zal zichzelf afsluiten en vervolgens de melding "System halted" weergeven. Op dit punt kun je de stroom afsluiten. Het is waarschijnlijk een goed idee alleen het systeem af te sluiten, wanneer je op de console bent. Alhoewel je op afstand het systeem via een shell-sessie af kunt sluiten, zal het systeem niet meer beschikbaar zijn totdat er actie wordt ondernomen op de systeemunit als er iets fout gaat en het systeem niet juist herstart. (Ik heb hier echter zelf geen problemen mee ervaren). Bij de systeemstart, zal Linux automatisch alle benodigde services waaronder netwerkondersteuning, en Internet-services starten en laden. Tip Tip: Als je eventuele online-gebruikers (online in de betekenis van ingelogd op shell-accounts) wilt waarschuwen, kun je het sleutelwoord "now" vervangen door een tijdswaarde. Je kunt ook de waarschuwingsmelding bij het afsluiten aanpassen. Met ``/sbin/shutdown -r +5 Hardware upgrade'' zouden de gebruikers bijvoorbeeld worden gewaarschuwd dat het systeem vanwege de opgegeven reden af zal worden gesloten. Vervolgens krijgen ze periodieke waarschuwingen dat ze bestanden zouden moeten sluiten en uit moeten loggen voordat het grote moment aanbreekt. _________________________________________________________________ Hoofdstuk 7. Aangepaste Configuratie en Beheer Voor zowel persoonlijk gebruik als op het werk, lukte het me met een standaardinstallatie van de Red Hat Linux-distributie van start te gaan en "direct" met weinig tot geen veranderingen aan de standaard configuratie-instellingen in services te voorzien. Er waren echter een aantal kleine wijzigingen en extra services nodig om in alle Internet, file & print services, en andere services te voorzien, die op mijn werk in gebruik zijn. De lokale beheerder zou met het volgende rekening moeten houden: * Het bestand ``/etc/rc.d/rc.local'' wordt bij het starten van het systeem uitgevoerd en hierin staan extra services die je aan je server toevoegt die tijdens de systeemstart uitgevoerd zouden moeten worden. * Kijk in /etc voor alle site-specifieke wijzigingen die mogelijk nodig kunnen zijn. Dit zouden onder andere kunnen zijn: + ``/etc/inetd.conf'' (verzeker je ervan dat onnodige services, zoals finger, echo, chargen zijn gedeactiveerd; en tevens dat alle benodigde services zijn toegevoegd of gewijzigd). + ``/etc/exports'' (hierin staat een lijst met hosts die NFS-volumes mogen mounten; zie de [125]paragraaf Network File System (NFS) Services voor details) + ``/etc/organization'', ``/etc/nntpserver'', ``/etc/NNTP_INEWS_DOMAIN'' (stel het in zoals van toepassing is) + ``/etc/lilo.conf'' (hierin staat informatie voor de LILO bootloader -- het proces waarmee de Linux-kernel tijdens het booten wordt geladen; zie de [126]paragraaf Booten met LILO in Hoofdstuk 4 voor de details) + ``/etc/sudoers'' (een lijst met gebruikers aan wie speciale privileges zijn gegeven, met de commando's die zij uit mogen voeren) + ``/etc/named.boot'' (voor het gebruik van DNS; zie de [127]paragraaf Domain Name Server (DNS) Configuratie en Beheer voor details) * Alles in ``/usr/local/'' (en subdirectory's) bestaat uit extra packages of aanpassingen van bestaande packages die je hier hebt geïnstalleerd, als je vanuit iets dergelijks als tar-archieven hebt geïnstalleerd in plaats van RPM. (Of je zou ze op z'n minst hier moeten hebben geïnstalleerd). Deze bestanden zouden, vooral die in /usr/local/src/, up-do-date moeten worden gehouden. Zie [128]Hoofdstuk 10 voor details. _________________________________________________________________ Web Server en HTTP Caching Proxy Beheer Waarschuwing (WAARSCHUWING: NEGEER DEZE SECTIE!) 1. Maak net als anders een Internet gebruiker aan. Het "shell" account zou ``/bin/bash'' moeten zijn (aangezien FTP een geldige shell vereist). 2. ``cd /home ; chown root.root theuser'' Dit maakt dat de directory "theuser" veiligheidshalve aan root toebehoort. 3. ``cd /home/theuser ; mkdir www ; chown theuser.theuser'' Hiermee wordt een "www" directory aangemaakt, en de eigenaarschap zodanig ingesteld dat ze er naar kunnen schrijven en vanuit kunnen lezen. 4. ``echo "exit" > .profile'' Hiermee wordt een ``.profile'' bestand aangemaakt met daarin de enkele regel ``exit''. Als de gebruiker via telnet probeert in te loggen, zal de verbinding ogenblikkelijk worden verbroken. 5. Voer een ``ls -l'' uit en wees er zeker van dat er slechts 2 bestanden in de directory voorkomen (waaronder niet de ``..'' en ``.''): + .profile (met als eigenaar root.root) + www (met als eigenaar theuser.theuser) Alle andere bestanden kunnen worden verwijderd (bv. ``rm .less ; rm .lessrc'') 6. Als de gebruiker e-mail forwarding geactiveerd nodig heeft, zou je een .forward bestand aan kunnen maken waarin gewoon het juiste e-mail adres als eerste en enige regel in het bestand staat. Dat was 't. De gebruiker kan gebruik maken van FTP om de pagina's bij te werken. _________________________________________________________________ Domain Name Server (DNS) Configuratie en Beheer Op m'n werk gebruiken we Linux als een DNS-server. Het voldoet uitstekend. Deze sectie richt zich op de configuratie van DNS-tabellen voor deze services door gebruik te maken van het package BIND 8.x dat standaard bij de Red Hat distributie wordt geleverd. Opmerking Noot: In Red Hat versie 5.1 en eerder wordt gebruik gemaakt van het package BIND 4.x, welke een iets ander formaat voor zijn configuratie bestand toepast. BIND 8.x biedt meer functionaliteit dan wat door BIND 4.x wordt geboden en aangezien 4.x niet langer verder wordt ontwikkeld, zou je moeten overwegen je BIND-package tot de laatste versie bij te werken. Installeer gewoon het BIND RPM-package (zie [129]paragraaf Het gebruik van de Red Hat Package Manager (RPM) in Hoofdstuk 10 voor details over het gebruik van het RPM utility), en converteer je configuratiebestand dan naar het nieuwe formaat. Gelukkig is het eenvoudig je bestaande BIND 4.x configuratiebestand te converteren zodat het in overeenstemming is met BIND 8.x! In de documentatie directory waarin als onderdeel van BIND wordt voorzien (bijvoorbeeld ``/usr/doc/bind-8.1.2/'' voor BIND versie 8.1.2), komt een bestand voor genaamd ``named-bootconf.pl'', dit is een uitvoerbaar Perl-programma. In de veronderstelling dat je Perl op je systeem hebt geïnstalleerd, kun je dit programma gebruiken om je configuratiebestand te converteren. Typ hiervoor (als root) de volgende commando's: cd /usr/doc/bind-8.1.2 ./named-bootconf.pl < /etc/named.boot > /etc/named.conf mv /etc/named.boot /etc/named.boot-obsolete Nu zou je een bestand ``/etc/named.conf'' moeten hebben dat "direct voor gebruik" met BIND 8.x zou moeten werken. Je bestaande DNS-tabellen zullen met de nieuwe versie van BIND werken zoals ze zijn, aangezien het formaat van de tabellen hetzelfde is gebleven. Het configureren van DNS-services onder Linux bestaat uit de volgende stappen: 1. Om DNS-services te activeren, zou het bestand ``/etc/host.conf'' er ongeveer zo uit moeten zien: # Zoek namen eerst op via /etc/hosts, dan door een DNS query order hosts, bind # We hebben geen computers met meerdere adressen multi on # Controleer op IP-adres spoofing nospoof on # Waarschuw ons als iemand toegang tot de root van het systeem probeert te # krijgen alert on De extra spoof-detectie treft de performance iets van de DNS-lookups (alhoewel te verwaarlozen), dus als je je hier niet al te veel zorgen om maakt, kun je de regels met "nospool" en "alert" deactiveren. 2. Configureer naar wens het bestand ``/etc/hosts''. Kenmerkend dat hieraan niet veel hoeft te worden gedaan, maar voor een verbeterde performance kun je alle hosts toevoegen die je vaak benaderd (zoals lokale servers) om de uitvoering van DNS-lookups hierop te voorkomen. 3. Het bestand ``/etc/named.conf'' zou zodanig moeten zijn geconfigureerd dat het naar de DNS-tabellen overeenkomstig het voorbeeld hieronder verwijst. Opmerking (Noot: de hierboven gebruikte IP-adressen zijn slechts voorbeelden en moeten door je eigen class adressen worden vervangen!): options { // DNS tabellen zijn gelokaliseerd in de directory /var/named directory "/var/named"; // Forward eventule onopgeloste verzoeken naar onze ISP's name server // (dit is slechts een voorbeeld IP-adres, gebruik het niet!) forwarders { 123.12.40.17; }; /* * Als er zich een firewall bevindt, tussen jou en de nameservers * waarmee je wilt communiceren, dan kan het zijn dat je de * commentaar-tekens voor de query-source richtlijn hieronder weg * moet halen. * Vorige versies van BIND stelden vragen altijd via poort 53, * maar BIND 8.1 gebruikt standaard geen vastgestelde poort. */ // query-source address * port 53; }; // Activeer caching en laad root server info zone "named.root" { type hint; file ""; }; // Al onze DNS informatie wordt opgeslagen in /var/named/mijndomein_naam.db // (bv. als mijndomein.naam = foobar.com gebruik dan foobar_com.db) zone "mijndomein.naam" { type master; file "mijndomein_naam.db"; allow-transfer { 123.12.41.40; }; }; // Reverse lookups voor 123.12.41.*, .42.*, .43.*, .44.* class C's // (dit zijn slechts voorbeelden van Class C's -- gebruik ze niet!) zone "12.123.IN-ADDR.ARPA" { type master; file "123_12.rev"; allow-transfer { 123.12.41.40; }; }; // Reverse lookups voor 126.27.18.*, .19.*, .20.* class C's // (dit zijn slechts voorbeelden van Class C's -- gebruik ze niet!) zone "27.126.IN-ADDR.ARPA" { type master; file "126_27.rev"; allow-transfer { 123.12.41.40; }; }; Tip Tip: Let hierboven op de opties allow-transfer, waarmee DNS zone transfers tot een gegeven IP-adres worden begrenst. In ons voorbeeld staan we de host op 123.12.41.40 (waarschijnlijk een slave DNS-server in ons domein) toe zone transters te ondervragen. Als je deze optie achterwege laat, zal iedereen op het Internet de mogelijkheid hebben dergelijke transporten te ondervragen. Aangezien de hierboven geleverde informatie vaak door spammers en IP-spoofers wordt gebruikt, raad ik je ten zeerste aan zone transfers te begrenzen behalve naar je slave DNS-server(s), of in plaats daarvan gebruik te maken van het loopback adres, ``127.0.0.1''. 4. Nu kun je je DNS-tabellen instellen in de ``var/named/'' directory zoals is geconfigureerd in het bestand ``/etc/named.conf'' in stap drie. Het voor de eerste keer configureren van DNS database bestanden is een grootse onderneming, en valt buiten het kader van dit boek. Er zijn verscheidene leidraads, online en in afgedrukte vorm die zouden moeten worden geraadpleegd. Hieronder worden echter verscheidene voorbeelden gegeven. Voorbeeld-entries in het ``/var/named/mijndomein_naam.db'' forward lookup bestand: ; Dit is het Start of Authority (SOA) record. Bevat contact ; & andere informatie over de name-server. Het serienummer ; moet worden gewijzigd wanneer het bestand is bijgewerkt (ter informatie aan ; secondary servers dat de zone informatie is gewijzigd). @ IN SOA mijndomein.naam. postmaster.mijndomein.naam. ( 19990811 ; Serienummer 3600 ; 1 uur refresh 300 ; 5 minuten retry 172800 ; 2 dagen expiry 43200 ) ; 12 uur minimum ; Een opsomming van de in gebruik zijnde name-servers. Onopgeloste ; (entries in andere zones) ; zullen naar onze ISP's name server isp.domein.naam.com gaan IN NS mijndomein.naam. IN NS isp.domein.naam.com. ; Dit is de mail-exchanger. Je kunt er meer dan één inzetten. ; (als van toepassing), met het integer veld dat de prioriteit aangeeft ; (laagste heeft hogere prioriteit). IN MX mail.mijndomein.naam. ; Voorziet in optionele informatie over het type computer & ; besturingssysteem dat voor de server wordt gebruikt IN HINFO Pentium/350 LINUX ; Een lijst met computernamen & adressen spock.mijndomein.naam. IN A 123.12.41.40 ; OpenVMS Alpha mail.mijndomein.naam. IN A 123.12.41.41 ; Linux (main server) kirk.mijndomein.naam. IN A 123.12.41.42 ; Windows NT (blech!) ; Inclusief eventuele in onze andere class C's twixel.mijndomein.naam. IN A 126.27.18.161 ; Linux test machine foxone.mijndomein.naam. IN A 126.27.18.162 ; Linux devel. kernel ; Alias (gebruikelijke) namen gopher IN CNAME mail.mijndomein.naam. ftp IN CNAME mail.mijndomein.naam. www IN CNAME mail.mijndomein.naam. Voorbeeld entries in het ``/var/named/123_12.rev'' reverse lookup bestand: ; Dit is het Start of Authority record. Hetzelfde als in de forward lookup ; tabel. @ IN SOA mijndomein.naam. postmaster.mijndomein.naam. ( 19990811 ; Serienummer 3600 ; 1 uur refresh 300 ; 5 minuten retry 172800 ; 2 dagen expiry 43200 ) ; 12 uur minimum ; Name servers zoals opgesomd in forward lookup tabel IN NS mail.mijndomein.naam. IN NS isp.domein.naam.com. ; Een lijst met computernamen & adressen, maar dan omgekeerd. ; We wijzen hier meer dan één class C toe, dus we moeten hier ; ook het class B gedeelte opsommen. 40.41 IN PTR spock.mijndomein.naam. 41.41 IN PTR mail.mijndomein.naam. 42.41 IN PTR kirk.mijndomein.naam. ; Zoals je kunt zien, kunnen we onze andere class C's toewijzen, zolang ze maar ; onder de 123.12.* class B adressen zijn 24.42 IN PTR tsingtao.mijndomein.naam. 250.42 IN PTR redstripe.mijndomein.naam. 24.43 IN PTR kirin.mijndomein.naam. 66.44 IN PTR sapporo.mijndomein.naam. ; In het reverse lookup bestand zouden geen alias (gebruikelijke) namen ; moeten staan (om vanzelfsprekende redenen). Enige andere reverse lookup bestanden die nodig zijn om adressen in een andere class B (zoals 126.27.*) in te delen, kunnen worden aangemaakt, en die zouden er vrijwel hetzelfde uitzien als het reverse lookup voorbeeldbestand van hierboven. 5. Zorg ervoor dat de named daemon draait. Deze daemon wordt normaal gesproken bij de systeemstart vanuit het bestand ``/etc/rc.d/init.d/named'' opgestart. Je kunt de daemon ook handmatig starten en stoppen; typ respectievelijk ``named start'' en ``named stop''. 6. Wanneer er wijzigingen aan de DNS-tabellen worden aangebracht, zou de DNS-server opnieuw moeten worden opgestart door het intikken van ``/etc/rc.d/init.d/named restart''. Wellicht dat je je wijzigingen dan wilt testen door gebruik te maken van een tool zoals "nslookup" om de computer die je hebt toegevoegd of gewijzigd te ondervragen. Meer informatie over het configureren van DNS-services is te vinden in de ``DNS-HOWTO'' op [130]http://metalab.unc.edu/Linux/HOWTO/DNS-HOWTO-5.html. _________________________________________________________________ Internet User Authenticatie met TACACS Op mijn werk maken we voor TACACS authenticatie van dial-up Internet gebruikers (die een verbinding hebben met onze modempool en die op hun beurt weer verbonden zijn aan een paar Cisco 250x access servers) gebruik van de Vikas versie van "xtacacsd". Na het compileren en installeren van het Vikas package (laatste versies zijn beschikbaar vanaf [131]ftp://ftp.navya.com/pub/vikas; Ik geloof niet dat het package beschikbaar is in het RPM-formaat), zou je de volgende records aan het bestand ``/etc/inetd.conf'' toe moeten voegen zodat de daemon door de inetd-daemon zal worden geladen als er een TACACS-verzoek is ontvangen. # TACACS is een user authenticatie protocol dat voor Cisco Router producten # wordt gebruikt. tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf Vervolgens zou je het bestand ``/etc/xtacacsd-conf'' moeten wijzigen en het overeenkomstig je systeem aan moeten passen (alhoewel je waarschijniljk de standaardinstellingen kunt gebruiken, zoals ze zijn). Opmerking Noot: Als je gebruik maakt van shadow passwords (zie de [132]paragraaf Linux Password & Shadow Bestandsformaten in Hoofdstuk 6 voor details), zal je wat problemen met dit package ondervinden. Helaas wordt PAM (Pluggable Authentication Module), wat Red Hat gebruikt voor de authenticatie van gebruikers, door dit package niet ondersteund. De oplossing die ik gebruik is om een apart ``passwd'' bestand in ``/usr/local/xtacacs/etc/'' bij te houden die overeenkomt met die in /etc/ maar dan zonder shadow. Dit is een beetje een gedoe en als je hiervoor kiest, zorg er dan voor dat je de permissies op het andere wachtwoordbestand instelt om er zeker van te zijn dat het alleen voor root leesbaar is: chmod a-wr,u+r /usr/local/xtacacs/etc/passwd Als je inderdaad gebruikt maakt van shadow, zal je vrijwel zeker het bestand ``/etc/xtacacsd-conf'' moeten wijzigen en de lokatie van het niet-shadowed wachtwoordbestand (in de veronderstelling dat je gebruik maakt van de oplossing die ik hierboven aanbeveelde). De volgende stap bestaat uit het configureren van je access server(s) om logins voor de gewenste devices (zoals dial-up modems) met TACACS te verifiëren. Hier is een voorbeeldsessie van hoe je dit kunt doen: mail:/tftpboot# telnet xyzrouter Escape character is '^]'. User Access Verification Password: **** xyzrouter> enable Password: **** xyzrouter# config terminal Enter configuration commands, one per line. End with CNTL/Z. xyzrouter(config)# tacacs-server attempts 3 xyzrouter(config)# tacacs-server authenticate connections xyzrouter(config)# tacacs-server extended xyzrouter(config)# tacacs-server host 123.12.41.41 xyzrouter(config)# tacacs-server notify connections xyzrouter(config)# tacacs-server notify enable xyzrouter(config)# tacacs-server notify logouts xyzrouter(config)# tacacs-server notify slip xyzrouter(config)# line 2 10 xyzrouter(config-line)# login tacacs xyzrouter(config-line)# exit xyzrouter(config)# exit xyzrouter# write Building configuration... [OK] xyzrouter# exit Connection closed by foreign host. Alle logmeldingen over TACACS activiteiten zullen voor onderzoek in ``/var/log/messages'' worden opgenomen. _________________________________________________________________ Windows-stijl File en Print Services met Samba Linux kan in SMB-services voorzien (bv. het delen van bestanden & printers in de stijl van WfW, Win95, en NT netwerken), door gebruik te maken van het Samba package. In deze sectie zal worden beschreven hoe je gedeelde bronnen configureert, en hoe je ze vanaf client-machines kunt benaderen. Het Samba package wordt met de Red Hat distributie meegeleverd, je kunt controleren of het is geïnstalleerd en welke versie je hebt, door het intikken van: rpm -q samba Als het niet is geïnstalleerd, zal je het nog moeten installeren met behulp van het RPM-utility. Zie de [133]paragraaf Het gebruik van de Red Hat Package Manager (RPM) in Hoofdstuk 10 voor details over hoe je dit kan doen. De belangrijkste van belang zijnde Samba-bestanden zijn: /etc/smb.conf Samba configuratiebestand waarin gedeelde bronnen en andere configuratieparameters kunnen worden ingesteld (zie onder) /var/log/samba/ Locatie van Samba's logbestanden /home/samba/ Aanbevolen lokatie waar bestanden voor gezamenlijk gebruik zouden moeten worden ingesteld. Je zou echter een lokatie uit moeten kiezen waar je voldoende ruimte op het bestandssysteem hebt passend voor de bestanden dit je op wilt slaan. Persoonlijk gebruik ik meestal een grote partitie gemount op /archive/ en plaats hier mijn bestanden voor gezamenlijk gebruik. Het bestand ``/etc/smb.conf'' bevat configuratie-informatie over gezamelijk te gebruiken bestanden & printers. De eerste paar regels van het bestand bestaan uit globale configuratie richtlijnen, die voor alle gedeelde bronnen gelijk zijn (tenzij ze teniet worden gedaan op basis van één gedeelde bron), gevolgd door share secties. De Samba-installatie bestaat onder andere uit een standaard smb.conf bestand dat in veel gevallen voldoende zou moeten zijn voor wat je nodig hebt en slechts een paar wijzigingen vereist. Hier is een voorbeeld van dit bestand (dat ik flink heb aangepast om je een aantal van de meer belangrijke en interessante opties te laten zien): # Items gelijk voor alle gedeelde bronnen (tenzij overschreven op basis van één gedeelde bron) [global] # Aantal minuten inactiviteit voor de verbinding met een client wordt # verbroken ter voorkoming van consumerende bronnen. Bij de meeste clients # zal de verbinding automatisch weer worden hersteld, dus is het verstandig # dit te activeren. dead time = 10 # Laat gebruikers niet toe een verbinding te maken als "root", # slechts voor het geval dat. :-) invalid users = root # Specificeer het account voor guest shares (gedeelde bronnen waarvoor # geen wachtwoord is vereist om een verbinding mee te maken. # Deze gebruikersnaam moet een geldige gebruiker zijn in het bestand # /etc/passwd. guest account = guest # Geef aan waar logbestanden naartoe zouden moeten worden geschreven. # Het toevoegsel "%m" betekent dat logbestanden in het # formaat log.machine-name (bv. "log.twixel") zullen worden # aangemaakt. log file = /usr/local/samba/logs/log.%m # Maximumgrootte van logbestand, in Kilobytes. max log size = 1000 # Wachtwoordniveau 3 betekent dat het er bij het invoeren van wachtwoorden # niet toe doet of hoofd- of kleine letters worden gebruikt. # Iets minder veilig dan niveau 1 of 2 zou zijn, maar het schijnt een # tamelijk eerlijke compromis te zijn voor gebruikersgemak. password level = 3 # Geef aan dat alle gedeelde bronnen in de browse list zouden moeten # verschijnen # (doe eventuele die je niet wilt teniet door die per gedeelde bron # in te stellen). browseable = yes # Als dit is geactiveerd, kun je actieve connecties bekijken met het # commando "smbstatus". status = yes # Het niveau aan debug-informatie dat in de logbestanden wordt bijgehouden. # Hogere waarden genereren meer informatie (wat waarschijnlijk meestal niet # van zoveel nut is). debug level = 2 # Hiermee zullen alle "POPUP"-berichten in de stijl van Windows # die op de server worden ontvangen via e-mail naar de postmaster worden # verzonden. Niet erg nuttig, maar een interessante demonstratie van wat # kan worden bewerkstelligd. message command = /bin/mail -s 'Message from %f on %m' postmaster < %s; rm % s & # Dit is een vorm van caching welke, wanneer geactiveerd, de performance # bij het lezen van bestanden kan verbeteren. read prediction = true # Een opsomming van services die automatisch aan de browse-list zou moeten # worden toegevoegd. auto services = cdrom # De locatie van je "printcap" bestand, een tekstbestand met # daarin de definities van je printers. printcap name = /etc/printcap # Als dit is geactiveerd zullen alle printers in het bestand # /etc/printcap in de browse-list worden geladen. load printers = yes # Het afdrukcommando waarmee gegevens worden gespoold naar een printer # onder Linux. print command = lpr -r -P%p %s # Het afdrukcommando waarmee wachtrij-informatie (printer status) over de # job kan worden verkregen. lpq command = lpq -P%p # Het afdrukcommando waarmee ongewenste jobs uit de wachtrij kunnen worden # verwijderd. lprm command = lprm -P%p %j # Het niveau waarop Samba zichzelf adverteert als browse uitverkorene. # Thans ingesteld op een hoge waarde om zichzelf "staande" # te houden tussen alle rondzwervende NT-servers op het netwerk. :-) os level = 34 # Dit zijn de persoonlijke gedeelde bronnen van de gebruiker. Als de # gebruikersnaam van de client met die op de server overeenkomt, kunnen zij # hun homedirectory benaderen (op voorwaarde dat ze het juiste wachtwoord # invoeren). [homes] # De tekst die in de browse-list verschijnt. comment = Home Directories # Dit vergelijkt de gebruikersnaam van de client met dat van de gedeelde # bron. Als die niet overeenkomen, zal in de browse list geen gedeelde bron # worden weergegeven, of beschikbaar zijn om een verbinding mee te maken. user = %S # Het pad naar de gedeelde bron. Bijvoorbeeld, aan "smithj" # zou "/home/smithj" worden toegekend path = /home/%S # Maakt read/write toegang tot de gedeelde bronnen mogelijk, als dit is # geactiveerd. writeable = yes # Slechts een omgekeerd synoniem voor "writeble". We hebben # ze niet *echt* beiden nodig. :-) read only = no # Houd dit gedeactiveerd zodat een wachtwoord is vereist voor het benaderen # van deze gedeelde bronnen. public = no # We willen niet dat deze gedeelde bron (per slot van rekening is het # privé) in de browse-list van andere gebruikers verschijnt. browseable = no # Dit is een voor het publiek beschikbare gedeelde printer, genaamd # "hp_laser". Het verschijnt in de # browse lists en kan zonder een wachtwoord door iedere client worden # benaderd. [hp_laser] # De tekst die in de browse-list verschijnt. comment = Main office printer (HP Laserjet 400) # De gebruikersnaam van door wie de gedeelde bron wordt benaderd # (guest betekent alle gebruikers). user = guest # Alle gegenereerde afdrukbestanden zullen eerst in de directory /tmp # worden aangemaakt. path = /tmp # Sta de aanmaak van bestanden niet toe behalve via print spooling. writeable = no # Stel overeenkomstig de permissies in -- alleen root-toegang om de taken # af te drukken. create mode = 0700 # Als dit is geactiveerd, is een wachtwoord niet vereist om de gedeelde # bron te benaderen public = yes # Dit zou moeten worden geactiveerd om aan te geven dat dit een # gezamenlijke printer is. printable = yes # Dit is een service die voorziet in het benaderen van het CD-ROM apparaat. [cdrom] comment = Gedeeld CD-ROM station onder Linux user = guest path = /cdrom writeable = no read only = true browseable = yes public = yes guest ok = yes Tip Tip: Recente versies van Samba, vanaf versie 2.0, voorzien in een zeer handig op web gebaseerd configuratie utility genaamd ``swat'', wat het proces veel gebruikersvriendelijker maakt. Het utility luistert op TCP-poort 901 van je server, dus om het utility te gebruiken verwijs je je favoriete webbrowser als volgt: mijndomein.naam:901 (Uiteraard zal je een webserver, zoals Apache, draaiend moeten hebben, wil je het SWAT-utility kunnen gebruiken. Zie de [134]paragraaf Web Server en HTTP Caching Proxy Beheer voor details). De laatste Samba-versies voegen ook opmerkelijke mogelijkheden toe in vergelijking met versies van voor 2.0. Het is het waard tijd te steken in het upgraden van dit package. Een client moet een TCP/IP-netwerkstack hebben draaien om een verbinding met gedeelde bronnen te kunnen maken. Verder moet, wil het browsen functioneren, het TCP/IP-protocol worden verbonden met NETBEUI. Onder Windows 95 kan dit via het "Netwerk" ikoon vanuit het Configuratiescherm worden geconfigureerd. In de veronderstelling dat de client juist is geconfigureerd, zou je de gedeelde bronnen op de server in hun "Netwerkomgeving" moeten zien verschijnen (of equivalent browsing scheme als je Windows 95/NT niet gebruikt). Je kunt netwerkstations dan vanuit de netwerkomgeving toekennen, of een absoluut pad naar de gedeelde bron intikken (bv. "\\mail\cdrom"). Als voor de gedeelde service een wachtwoord nodig is, zal ernaar worden gevraagd. Meer informatie over Samba kan worden verkregen vanaf de Samba Home Page op [135]http://samba.anu.edu.au/samba/. _________________________________________________________________ File en Print Services met Netatalk in de stijl van Macintosh Linux kan ook voorzien in Appleshare services (bv. Macintosh-stijl network file & printer sharing), door gebruik te maken van het Netatalk package. In deze sectie zal worden beschreven hoe gedeelde bronnen te configureren, en hoe ze vanuit client-computers te benaderen. Voor gebruik van Netatalk heb je Appletalk netwerkondersteuning in je Linux-kernel nodig. Stock kernels van Red Hat hebben deze ondersteuning reeds als een module opgenomen, maar je kunt je eigen aangepaste kernel met dergelijke ondersteuning compileren. Opmerking Noot: Verzeker jezelf ervan dat de ondersteuning voor Appletalk als een module is gecompileerd en niet als onderdeel van de kernel is opgenomen (zie de [136]paragraaf Linux Kernel Upgrades in Hoofdstuk 10 voor details over het upgraden of aanpassen van de Linux-kernel). Anders zal je problemen ervaren bij het stoppen en vervolgens weer herstarten van de Netatalk daemon. Zodra je er zeker van bent dat je kernel capabel is voor de ondersteuning van Appletalk, zal je het Netatalk package moeten installeren. Omdat Netatalk niet met de Red Hat distributie wordt meegeleverd, zal je een kopie moeten dowloaden en installeren. Het Netatalk package is te vinden op de "contrib" site van Red Hat, op [137]ftp://ftp.redhat.com/contrib/libc6/i386/. Nadat Netatalk is geïnstalleerd, kan het zijn dat je één of meer configuratiebestanden in ``/etc/atalk/'' moet aanpassen. In de meeste bestanden staan voorbeelden van de configuratie, en daarom is het op z'n minst wat zelfdocumenterend. Het zijn de bestanden: config In dit bestand bevindt zich de configuratie voor het fijnafstemmen van je Netatalk-daemon. Deze informatie wordt gespecificeerd in omgevingsvariabelen, en het bestand wordt door het opstartscript van Netatalk voordat de service wordt gestart "gesourced" (dwz. gelezen). Je kunt het aantal simultane verbindingen opgeven, of guest-logins wel of niet zijn toegestaan, enz. Het is vrijwel zeker dat je dit bestand overeenkomstig je behoeften aan wilt passen. atalk.conf In dit bestand staat informatie over de te gebruiken netwerk-interface, als ook je Appletalk routing, naamregistratie, en andere daaraan gerelateerde informatie. Waarschijnlijk zal je deze informatie niet aan hoeven passen; de vereiste netwerk-informatie wordt gedetecteerd en aan dit bestand toegevoegd als je voor het eerst de Netatalk-server opstart. Wellicht wil je echter de