Introductie tot Linux

Bart Blanckaert, Geert De Maere, Johan Camp, Nele Custers 24 oktober 2002

2 Copyright c 2002 Geert De Maere

Toestemming is gegeven voor het kopi¨ren, verdelen en/of vee randeren van dit document onder de voorwaarden van de GNU Free Documentation License, Versie 1.1 of enige latere versie die wordt uitgebracht door de Free Software Foundation; zonder Invariant Sections, Front-Cover Text noch Back-Cover Text.

Inhoudsopgave
1 Inleiding 1.1 Een korte geschiedenis van 1.2 Copyright - GPL . . . . . 1.3 Architectuur . . . . . . . 1.4 De shell . . . . . . . . . . 1.5 X-Window . . . . . . . . . 1.6 Distributies . . . . . . . . 7 7 8 8 9 10 10 15 15 15 17 18 22 27 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 37 39

Linux . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

2 Basis-concepten van Linux 2.1 Inleiding . . . . . . . . . . . . . . 2.2 Inloggen en uitloggen . . . . . . . 2.3 Je wachtwoord veranderen . . . . 2.4 Bestanden en mappen . . . . . . 2.5 Beheer van bestanden en mappen 2.6 Het systeem afsluiten . . . . . . . 3 De window manager KDE 3

4 Gebruikers, groepen en toegangsrechten 4.1 Gebruikers in Linux . . . . . . . . . . . . 4.2 Gebruikersbeheer . . . . . . . . . . . . . . 4.3 Groepen in Linux . . . . . . . . . . . . . . 4.4 Toegangsrechten . . . . . . . . . . . . . .

5 Processen en procesbeheer 45 5.1 Processen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.2 Voorgrond en achtergrond processen . . . . . . . . . . . . . . 46 5.3 Processen in de achtergrond zetten en stoppen . . . . . . . . 46 6 Syntax van de gebruikte commando’s 49

3

4

INHOUDSOPGAVE

Lijst van figuren
1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 3.1 4.1 4.2 4.3 KDE 3 . . Blackbox Gnome . . IceWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 12 12 18 19 21 22 30 37 38 38

KDE passwd programma . . . . . . . . . . . . . . . . Deel van de mappen-structuur van een Linux systeem Konquerer: bestanden en mappen in je home directory Konquerer: navigatie en informatie . . . . . . . . . . .

KDE 3: een window manager van formaat . . . . . . . . . . . Dialoogvenster voor paswoord systeembeheerder . . . . . . . Het grafische programma voor gebruikersbeheer . . . . . . . . Een gebruiker toevoegen . . . . . . . . . . . . . . . . . . . . .

5

6 LIJST VAN FIGUREN .

Het besturingssysteem moest een vrij beschikbare versie worden van UNIX (zie ook 1. niet om echt als uitgebreid besturingssysteem in het dagelijks leven gebruikt te worden. een variant van UNIX System V 1 7 . geschikt voor personal computers tot supercomputers zoals de Cray Y-MP.os.02 werd door Linus op de comp. Uit testen bleek dat Linux op een 486 resultaten behaalde die vergelijkbaar waren met een gemiddeld werkstation van Sun Microsystems 3 . Na 3 jaar was dan eindelijk versie 1. Linus Torvalds studeerde in 1990 aan de Universiteit van Helsinki. Tanenbaum de UNIX-variant MINIX. Daarom besloot Linus om als hobby zelf een besturingssysteem te schrijven. MINIX was echter een vrij beperkt besturingssysteem en was ontworpen met het doel een duidelijk gestructureerd systeem voor te leggen aan studenten.1 Een korte geschiedenis van Linux UNIX was lange tijd het meest populaire besturingssysteem over de hele wereld. Versie 0. samen met de uitnodiging voor iedereen om aan het besturingssysteem mee te werken. multitasking laat een gebruiker toe om meer dan 1 taak (bijvoorbeeld een toepassingsprogramma) tegelijkertijd uit te voeren 2 met i386 wordt een IBM-compatibele PC met intel 80386 processor bedoeld 3 deze werkstations waren veel duurder dan een i486 en hadden SunOS als besturingssysteem. Om de theoretische kennis van besturingssystemen om te zetten in de praktijk ontwikkelde prof.0 af. Het is oorspronkelijk ontwikkeld door AT&T als een multitasking1 systeem voor minicomputers en grote mainframes in 1970.minix nieuwsgroep gepost. De meeste versies zijn echter zeer duur: een UNIX System V versie voor een i3862 computer kostte ongeveer 1600 Euro.Hoofdstuk 1 Inleiding 1.2). Er bestaan veel verschillende versies van UNIX.

• De systeembibliotheken defini¨ren een standaard verzameling van funce ties waarmee programma’s kunnen interageren met de kernel. zie voor up-to-date informatie http://www. INLEIDING Ondertussen is de laatste stabiele Linux kernel versie 2. Zij mogen deze DVD dan ook verkopen maar alle software die erop staat wordt weer uitgebracht onder de GPL (voor meer informatie over distributies zie 1.8 HOOFDSTUK 1. andere (bekend onder de naam daemons) worden continue uitgevoerd en behandelen inkomende netwerkverbindingen.. IBM S/390 computers enzovoort. Hieronder volgen enkele voorname gevolgen van deze GPL: • Het auteursrecht behoort tot de schrijver van de software (in tegenstelling tot ”public domain” software) • Software uitgebracht onder de GPL is niet altijd gratis.4.3 Architectuur Het Linux systeem bestaat uit 3 belangrijke verzamelingen van code: • De kernel is verantwoordelijk voor het onderhouden van alle belangrijke abstracties van een besturingssysteem (welk merk en type harde schijf.). De kernel kan gebruikt worden op personal computers. • De utilities zijn programma’s die bepaalde taken voor het beheer van het systeem uitvoeren.kernel.org/. log in aanvragen enzovoort. DEC alpha’s.6). 1.19 4 . 1.GPL Linux is uitgebracht onder de zogenaamde GNU5 General Public License. • De GPL staat toe dat iemand de software aanpast en daarna zijn eigen versie verdeelt maar deze versie moet dan ook uitgebracht worden onder de GPL.. geheugen.org voor meer informatie over GNU’s Not Unix zie http://www. Een volledige uitleg over GNU en de GPL zou ons te ver leiden.2 Copyright . Dit is ongeveer wat er gebeurd met de verschillende Linux distributies die je kan kopen op CD-ROM of DVD. je kan hier ook terecht voor informatie over de GPL 5 4 .gnu. Mandrake download de Linux kernel. . een aantal andere programma’s voor Linux en zet ze samen op een DVD. Sommigen worden 1 keer uitgevoerd. processor. of GPL. De auteur mag geld vragen voor het door hem ontwikkelde programma. inclusief dingen als het beheer van virtueel geheugen en processen.

Standaard kan je vertrekken van een minimale kernel zonder extra device drivers. Deze bits worden door de kernel dan weer doorgegeven naar de systeembibliotheek. Deze worden dan eventueel geladen op het moment dat ze nodig zijn. De kernel zelf vormt de kern van het besturingssysteem. Wanneer een programma een bestand wil openen. die op hun beurt gebruik maken van de functionaliteit van de kernel. CD-ROM lezer of diskette-station 6 . Even een voorbeeldje om de samenwerking tussen de componenten te verduidelijken. gebruikt het daarvoor een functie uit een systeembibliotheek. Op het eenvoudigste niveau laten ze gebruikerprogramma’s toe om gebruik te maken van de hardware. 1. Programma’s gebruiken hiervoor de systeembibliotheken. Voor iemand die bezig is een device driver te schrijven is het vervelend wanneer hij de volledige kernel opnieuw moet compileren iedere keer nadat hij een regeltje aan zijn device driver6 heeft veranderd. DE SHELL Systeembeheer programma’s gebruikerprogramma’s Gedeelde bibliotheken (shared libraries) Linux kernel Laadbare kernel-modules 9 We doorlopen deze structuur van beneden naar boven: De Linux kernel heeft de mogelijkheid om bepaalde delen van de kernel code te laden op aanvraag. Het zorgt voor alle nodige functionaliteit om processen te draaien en het voorziet systeemdiensten om processen toegang te geven tot de hardware. die ze in het juiste formaat doorgeeft aan het programma.1.4 De shell Hoe kan je nu met het besturingssysteem UNIX of Linux werken? Je hebt een hulpprogramma nodig dat opdrachten netjes aan het besturingssysteem een device driver is een programma dat een bepaald apparaat (device) beheert zoals een printer. Tenslotte zorgt deze device driver (een laadbare kernel-module) ervoor dat de kernel de juiste bits ontvangt. De systeembibliotheken bieden verschillende functies aan.4. De interface die het besturingssysteem aanbiedt aan programma’s wordt echter niet door de kernel onderhouden. Tenslotte zijn er de gebruikerprogramma’s en systeembeheer programma’s die gebruik maken van de systeembibliotheken om bijvoorbeeld een bestand te openen. De kernel zal de aanvraag verwerken en doorspelen aan de device driver van de harde schijf waarop het bestand zich bevindt. De systeembibliotheek zorgt ervoor dat de aanvraag en de juiste parameters worden doorgegeven aan de kernel. Er zijn verschillende redenen waarom dit nuttig is.

configuratie-programma’s. Deze distributies kan je dan . spelletjes enzovoort. 1. de kernel. Afhankelijk van de grafische kaart en de schermcapaciteiten bestaan er heel wat X-servers onder Linux. De server onder X-Window (kortweg X-server) is een programma dat zorgt voor de presentatie van informatie op het scherm. Toepassingen onder X-Window zijn dan de zogenoemde X-clients. Deze X-server bedient echter wel tal van ee X-clients. X-server en X-clients staan met elkaar in contact via een uniform X-protocol. Hij bepaalt hoe de grootte van vensters veranderd wordt of hoe een vensterkader eruit ziet. Daarnaast zijn er een heel aantal commando’s.. 1. commando’s. Normaal draait er ´´n X-server op een systeem. Maar ook met de kernel en alle commando’s zijn de meeste gebruikers tegenwoordig niet tevreden.). .5 X-Window X-Window is de grafische gebruikersinterface van Linux.10 HOOFDSTUK 1.. toepassingsprogramma’s. Het uitzicht en het gedrag van de afzonderlijke X-clients wordt voor een deel bepaald door de zogenoemde window manager. Onder X-Window bestaan zowel clients als servers.6 Distributies We hebben reeds gezien dat de Linux kernel alleen niet voldoende is als besturingssysteem. Bij dit concept maakt het niet uit of de X-server en de X-client zich op dezelfde computer bevinden of niet. Dit is een protocol dat opgesteld is om grafische gegevens. Dit programma wordt in Linux de shell genoemd (men spreekt vanwege zijn basisfunctie ook ooit over de ”command interpreter”). maar de zogenaamde Bourne-again-shell of Bash (gebaseerd op de Bourne-shell geschreven door Steve Bourne midden jaren 70) is voor de meeste beginners de interessantste. Ze hebben graag een X-Window omgeving en een aantal toepassingsprogramma’s hiervoor (web-browser. Er zijn verschillende bedrijven die op deze vraag inspelen. een aantal windowmanagers. Hieronder vind je enkele screenshots van verschillende window managers. muisbeweging en dergelijke als informatie uit te wisselen. Linux levert een aantal shells. INLEIDING doorgeeft. Zij stellen een zogenoemde distributie samen die bestaat uit een installatieprogramma. bestandsbeheer. De shell heeft als doel om de gebruikers de mogelijkheid te geven (hulp)programma’s van Linux op te roepen. Hier zijn de definities een beetje anders dan in andere omgevingen. die via de X-server hun uitvoer op het scherm weergegeven krijgen.

2: Blackbox .1: KDE 3 Figuur 1.6. DISTRIBUTIES 11 Figuur 1.1.

3: Gnome Figuur 1.4: IceWM .12 HOOFDSTUK 1. INLEIDING Figuur 1.

SuSE.1. . Enkele bekende distributies zijn Redhat. Debian en Mandrake. Wij zullen in de les gebruike maken van de distributie van Mandrake en de window manager KDE 3.6. DISTRIBUTIES 13 downloaden via het internet of kopen op CD-ROM of DVD.

INLEIDING .14 HOOFDSTUK 1.

Daarom moet je jezelf ook altijd identificeren wanneer je inlogt op een Linux systeem. Je kan de verschillende consoles bereiken door de toetsencombinatie CTRL+ALT+Fi waarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager).2 Inloggen en uitloggen In.1 Inleiding Linux is een multitasking en multiuser besturingssysteem. Op traditionele UNIX systemen kent de systeembeheerder je een gebruikersnaam en initieel wachtwoord toe wanneer je een account op het systeem krijgt. Indien je zelf Linux installeert moet je dit zelf doen. Onderstaande stappen beschrijven het inloggen op een Linux systeem: 15 . waarna je een shell ter beschikking krijgt. Via een virtuele console kan je inloggen. Je moet daarvoor een gebruikersnaam en een wachtwoord ingeven.en uitloggen via de shell/console Linux heeft verschillende zogenaamde virtuele consoles (de console van een systeem zijn de monitor en het toetsenbord die erop aangesloten zijn). De meeste dingen kan je zowel via de shell als via een window manager doen. 2. wat betekent dat verschillende mensen verschillende programma’s kunnen uitvoeren op hetzelfde moment.Hoofdstuk 2 Basis-concepten van Linux 2. In dat geval wordt het concept op deze twee verschillende manieren verduidelijkt. Dit is een wezenlijk verschil met MS-DOS (en ook met Windows 9x). In volgende hoofdstukken worden een aantal basis-concepten van Linux bekeken.

0 (dolphin) for i586 Kernel 2. • De karakters die je ingeeft zijn niet te zien op het scherm.0 (dolphin) for i586 Kernel 2.19-16mdk on an i686 / tty2 FREGGEL login: student Password: Voer het wachtwoord in dat je van de docent krijgt.4.0 (dolphin) for i586 Kernel 2.19-16mdk on an i686 / tty2 FREGGEL login: student Password: Login incorrect login: Je zal opnieuw moeten proberen.4.4. • Vervolgens vraagt Linux je om je wachtwoord te geven: Mandrake Linux release 9.4.19-16mdk on an i686 / tty2 FREGGEL login: student Password: [student@FREGGEL student]# exit .16 HOOFDSTUK 2.19-16mdk on an i686 / tty2 FREGGEL login: Voer de gebruikersnaam ”student” in en druk op ENTER. Indien je een fout maakt in het wachtwoord (of de gebruikersnaam) zie je het volgende: Mandrake Linux release 9.0 (dolphin) for i586 Kernel 2. BASIS-CONCEPTEN VAN LINUX • Schakel over naar de 2de virtuele console (CTRL+ALT+F2) • Je ziet nu: Mandrake Linux release 9. Om uit te loggen typ je gewoon exit achter de prompt: Mandrake Linux release 9.

Om uit te loggen klik je op de knop aan de linker-onderkant van het scherm (de plaats waar in Windows de start-knop staat).2. Het menu dat nu te voorschijn komt noemen we het Mandrake-menu (naar analogie met het start-menu van Windows). • Je kan eventueel ook nog kiezen welke windowmanager je wil gebruiken door er een te selecteren uit de vervolgkeuzelijst. JE WACHTWOORD VERANDEREN 17 In. • Klik tenslotte op ”starten!”. • Voer dit laatste wachtwoord nogmaals in (om typefouten te vermijden). Indien de X-server nog niet opgestart is dient dit eerst te gebeuren. • Typ passwd achter de prompt en druk op ENTER. Je gebruikt het programma als volgt: • Schakel over naar het grafische log-in programma via de toetsencombinatie CTRL+ALT+F71 • Klik op het silhouet waaronder student staat. • Voer het wachtwoord in dat je vanaf nu wil gebruiken. Dit kan door het commando ”startx” in te geven in een van de virtuele consoles. • Vul het wachtwoord dat je van de leerkracht hebt gekregen in. Tegenwoordig zijn er ook grafische log-in programma’s.3. Vervolgens klik je op ”uitloggen” en beantwoord de vraag opnieuw door op ”ok” te klikken. Het uitzicht van een grafisch log-in programma is afhankelijk van de gebruikte distributie. Kies voor KDE. • Voer je huidige wachtwoord in. 1 .3 Je wachtwoord veranderen Je wachtwoord veranderen via de shell Je verandert je wachtwoord als volgt: • Log in via een virtuele console. 2. Let op: deze procedure is voor iedere window manager verschillend.en uitloggen via X-Window Vroeger kon je enkel de X-server opstarten door het commando startx te typen nadat je via een virtuele console had ingelogd.

die start bij de map ”/”. ook wel root directory (wortel van de boom) genoemd. De meeste Linux systemen hebben een standaard layout voor bestanden en mappen. Hetzelfde geldt voor namen van mappen. • Selecteer achtereenvolgens uit het Mandrake-menu ”configuratie”. BASIS-CONCEPTEN VAN LINUX Figuur 2. zodat ”system resources” en programma’s gemakkelijk terug te vinden zijn. 2.1). • Voer het wachtwoord in dat je vanaf nu wil gebruiken. Het passwd programma wordt zo opgestart (zie figuur 2. Er is geen standaard formaat voor bestandsnamen: een bestandsnaam kan elk karakter bevatten behalve ”/” en mag maximum 256 karakters lang zijn.1: KDE passwd programma Je wachtwoord veranderen in de X-Window omgeving Via de window manager KDE 3 zullen we nu ook ons wachtwoord veranderen: • Log in via het grafische programma of schakel over naar de window manager.18 HOOFDSTUK 2. • Voer jouw huidige wachtwoord in. • Voer dit laatste wachtwoord nogmaals in (om typefouten te vermijden).4 Bestanden en mappen Bestanden en mappen structuur in Linux Bestanden worden ge¨ ıdentificeerd door hun bestandsnaam. Deze layout heeft een boomstructuur (directory tree). Meteen onder de root directory zitten de belangrijke subdirectories ”bin” . ”Overige” en ”Kpasswd”.

”etc” met belangrijke configuratie-bestanden en ”home” waarin alle gebruikers een eigen map hebben (zie figuur 2. Bestanden en mappen structuur in de shell De mappen en bestandsnamen worden in de shell gescheiden door een slash (/).4. • Om de inhoud van een map te bekijken gebruik je in Linux het commando ls. We zullen deze structuur even onderzoeken: • Log in via virtuele console 2 • Na het inloggen kom je automatisch in jouw home-directory. in ons geval dus /home/student. Dit is de directory /home/gebruikersnaam. Ga naar de map school en vervolgens naar de map informatica (let op de prompt die verandert): . [student@FREGGEL student]# ls KDesktop LEESMIJ documenten muziek public_html school tmp [student@FREGGEL student]# • Om van map te wisselen heeft Linux het commando cd (change directory). De home directory wordt in de shell-prompt vervangen door een tilde (~).2: Deel van de mappen-structuur van een Linux systeem met programma’s die alle gebruikers kunnen uitvoeren.2). BESTANDEN EN MAPPEN / 19 bin dev etc home root user jan karin leen piet steven school muziek school documenten muziek nederlands duits engels informatica Figuur 2.2.

typen.. Deze beginnen altijd . Relatieve padnamen beginnen altijd met het karakter van de eerste map in de padnaam. [student@FREGGEL informatica]$ pwd /home/student/school/informatica [student@FREGGEL informatica]$ • In iedere map is er een verwijzing naar de map erboven (de map waartoe de map waar we op dit moment in zitten behoort). Wanneer we bijvoorbeeld cd nederlands typen. [student@FREGGEL informatica]$ cd . Er bestaan echter ook absolute padnamen. [student@FREGGEL school]$ • Tenslotte kun je altijd teruggaan naar je home-directory door gewoon cd te typen. eventueel gevolgd door een bestandsnaam.. dan willen we naar de map ”nederlands”die zich in de huidig map bevindt (huidige map is de map waarin we ons op dat moment bevinden).). Relatief betekent hierbij dat je de padnaam bekijkt vanuit de map waarin men je op dat moment bevindt. Ga eerst naar de map ”nederlands” en vervolgens naar je home directory. [student@FREGGEL school]$ cd nederlands/ [student@FREGGEL nederlands]$ cd [student@FREGGEL student]$ Tot nu toe hebben we enkel zogenoemde relatieve padnamen gebruikt. gaan we naar deze map.20 HOOFDSTUK 2. Deze verwijzing wordt weergegeven door 2 punten (. BASIS-CONCEPTEN VAN LINUX [student@FREGGEL student]$ cd school/ [student@FREGGEL school]$ cd informatica/ [student@FREGGEL informatica]$ • Welke bestanden staan er in deze map? • Om te weten in welke map je precies staat kun je het commando pwd (print working directory) ingeven.. Wanneer we dus cd . Een padnaam is een opeenvolging van namen van mappen gescheiden door een ”/”.

maar dan met een absolute padnaam. schakel dan over naar de X-Window omgeving via de toetsencombinatie ALT+CTRL+F7). de wortel van je mappenboom. • Een programma gelijkaardig aan de Windows Verkenner start nu op.3: Konquerer: bestanden en mappen in je home directory met ”/”. BESTANDEN EN MAPPEN 21 Figuur 2. • Selecteer ”Persoonlijke map” uit het Mandrake-menu. Absoluut wil dus zeggen dat je de padnaam bekijkt vanuit de root directory. • Log in via de grafische interface (als je al ingelogd bent. [student@FREGGEL student]$ cd /home/student/documenten/ [student@FREGGEL documenten]$ • Ga naar de map informatica. De naam .4. Welk commando gebruik je hiervoor? Bestanden en mappen structuur in de X-Window omgeving We gaan dezelfde mappenstructuur eens verkennen in de X-Window omgeving (met window manager KDE 3).2. gebruik je dus cd /home/student/school/nederlands. Om naar dezelfde map ”nederlands”te gaan. en je bevindt je opnieuw in jouw home directory (zie figuur 2. In de volgende kleine oefening werken we steeds met absolute padnamen: • Ga naar de map documenten in je home directory.3).

verplaatsen en kopi¨ren e via de shell aan de hand van volgende oefening: • Log in via een virtuele console. dan kan je dat bestand bekijken door erop te klikken.5 Beheer van bestanden en mappen Beheer van bestanden en mappen via de shell We zullen leren hoe je een bestand kan aanmaken.22 HOOFDSTUK 2. De padnaam begint hier met ”file:” omdat je Konquerer ook kan gebruiken om webpagina’s te bekijken.tex”. • Klik op de map ”school” en vervolgens op de map ”informatica”. Om bijvoorbeeld de directory ”test” te maken doe je het volgende: . • Om verder te navigeren zijn er een aantal knoppen ter beschikking. Je kan hier eventueel ook het volledige padnaam invoeren van de map waarvan je de inhoud wil bekijken. Als Linux de extensie van het bestand herkent (net zoals in Windows. Je kan ook navigeren door een map te kiezen in het linkerdeel van het scherm. Je vindt de verschillende mappen en het bestand ”LEESMIJ” terug. BASIS-CONCEPTEN VAN LINUX Figuur 2. Klik bijvoorbeeld op het bestand ”cursus linux.4: Konquerer: navigatie en informatie van dit programma is Konquerer (terug te vinden in de titelbalk). • Het commando om een directory aan te maken is mkdir. • Hoe geraak je in 1 keer terug in je home-directory? 2. Je kan bijvoorbeeld terug naar de vorige plaats door op de blauwe pijl naar links te klikken. indien een bepaald bestandstype is gekoppeld aan een bepaald programma). • Navigeer eens rustig door je home-directory en let daarbij eens op de informatie die je krijgt in de statusbalk. • Tenslotte kan men zien in welke map men zich bevindt in de balk achter ”Location”. Door op een map te klikken kan je de inhoud van die map bekijken. Je ziet hier twee bestanden staan. Je kan naar de hoger liggende map gaan door op de pijl naar boven te klikken.

verwijdert alle bestanden in de map. /home/student/test/LEESMIJ) of als relatieve padnaam (bv. Tenslotte verwijder je het gekopieerde bestand weer zodat je de volgende mogelijkheid kan uitproberen. Probeer nu elke hierboven beschreven manier uit om het bestand LEESMIJ te kopi¨ren e naar de map ”test”. test/LEESMIJ) – met (bv.5. gaat terug ´´n niveau hoger in de mappenstructuur en verwijdert dan ee de map met het commando rmdir (remove directory): [student@FREGGEL test]$ cd test [student@FREGGEL test]$ rm * rm: remove regular empty file ‘LEESMIJ’? y [student@FREGGEL test]$ cd . test/LEESMIJ) of zonder bestandsnaam (bv test/) (in het laatste geval wordt de bestandsnaam van het te kopi¨ren bee stand overgenomen) – indien je de bestandsnaam opgeeft mag dit een andere naam zijn dan die van het te kopi¨ren bestand (bv. Je gaat naar die map. • Om een map te verwijderen zijn er 2 mogelijkheden: 1.. [student@FREGGEL student]$ rm test rm: remove directory ‘test’? y [student@FREGGEL student]$ . Nadat je het bestand gekopieerd hebt bekijk je de inhoud van de map test zodat je zeker weet dat het kopi¨ren gelukt e is. Deze plaats (padnaam) kan op verschillende manieren gegeven worden: – als een volledige padnaam (bv. • Om een bestand te verwijderen is er het commando rm. test/Testbestandje) e Zo meteen gaan we deze mogelijkheden uitproberen. Eerst kijken we hoe we een bestand kunnen verwijderen. Dit gebeurt met het commando cp waaraan 2 argumenten moeten meegegeven worden: het bestand dat gekopieerd moet worden en de plaats waarnaar het bestand gekopieerd dient te worden.2. BEHEER VAN BESTANDEN EN MAPPEN [student@FREGGEL [student@FREGGEL KDesktop LEESMIJ [student@FREGGEL 23 student]$ mkdir test student]$ ls documenten muziek public_html school test tmp student]$ • Vervolgens zullen we het ”LEESMIJ” bestand kopi¨ren naar de map e ”test”.

Typ vervolgens eens info rm. typ je rm --help. maar ook een verwijzing naar de info-pagina’s. • Het commando mv dient om bestanden en mappen te verplaatsen. Je kan op die manier een grote tak van de mappen-boom in ´´n keer ”afhakken”. Je kan een bestand met dit commando ook hernoemen: je verplaatst het naar dezelfde map maar onder een andere naam. Om bijvoorbeeld te weten te komen wat f in de optie ”-rf” van hierboven doet. bij info-pagina’s kan je een hi¨rarchische structuur cre¨ren met links e e naar andere onderdelen. BASIS-CONCEPTEN VAN LINUX 2. op 1 lange pagina. De argumenten zijn net hetzelfde als bij het cp commando. kun je de optie -h of --help gebruiken.en info-pagina’s: bij man-pagina’s stond alle informatie achter elkaar. voorbeeldjes enzovoort. Je vindt hier een beetje extra uitleg. Stoppen doe je met de toets q. Verplaats bijvoorbeeld het LEESMIJ bestand eens naar de map ”documenten” en terug. of welke opties dat commando heeft. De optie -r vertelt rm dat de map recursief moet worden verwijderd. De uitleg die hierbij wordt gegeven is meestal vrij summier. Je gaat ´´n niveau hoger staan dan de map zelf en gebruikt het ee commando rm -r. Wanneer de cursor zich op de titel van een deel of hoofdstuk bevindt en je drukt op ENTER zal je zien dat je de informatie over dat deel terugvindt. Deze info-pagina heeft echter nog geen structuur. uitgebreidere en minder vaak gebruikte opties. Dit heeft te maken met de structuur van man. Je kan extra uitleg over een commando opvragen met het commando man of info2 Typ bijvoorbeeld eens man rm. Je kan opnieuw stoppen met de toets q. Vroeger vond je alle informatie via het man commando. typ dan info latex. Je kan door de uitleg scrollen met behulp van de ENTER toets. Hierbij kan je beter een onderscheid maken tussen belangrijke opties. Scrollen door de info-pagina’s kan met de pijltjestoets met het pijltje naar beneden. Hier vind je al heel wat meer informatie. tegenwoordig wordt meer en meer overgeschakeld naar het gebruik van het info commando.24 HOOFDSTUK 2. in plaats van twijgje ee per twijgje te verwijderen: [student@FREGGEL student]$ rm -r test rm: descend into directory ‘test’? y rm: remove regular empty file ‘test/LEESMIJ’? y rm: remove directory ‘test’? y [student@FREGGEL student]$ Dit is een zeer gevaarlijke optie: als gebruiker root kan je op deze manier de alle bestanden in ´´n keer verwijderen met het ee commando rm -rf / • Wanneer je niet meer heel goed weet hoe een commando precies werkt. Als je eens een pagina wil zien met structuur. 2 .

Druk nog 2 keer op de TAB toets. De shell zal dit nu aanvullen en er komt ls school/ te staan. Wanneer je een gedeelte van de naam van een map of bestand hebt ingetypt. • Ga naar je home-directory. We zullen om dit te demonstreren het bestand cursus_linux. Gebruik minimum 1 keer een absolute padnaam.pdf als cursus_linux. 1 keer een padnaam zonder bestandsnaam op het einde en 1 keer een padnaam met eem bestandsnaam op het einde (hint: je kan 2 dingen combineren). BEHEER VAN BESTANDEN EN MAPPEN 25 Wanneer je bijvoorbeeld ”brief” wil hernoemen naar ”brief voor baas” doe je dit met het commando mv brief brief_voor_baas. Schrijf onder iedere opdracht welk commando (of welke commando’s) je gebruikt. Gebruik dit bijvoorbeeld eens om de inhoud van de map informatica (deze map bevindt zich in de map school) te bekijken. Typ cp sch TAB inf TAB cur TAB.pdf naar de map documenten te kopi¨ren. Als je dan nog 2 keer op de TAB-toets drukt krijg je wel een lijstje van de mogelijkheden te zien.tex in deze map staan. 1 keer een relatieve padnaam. • Kopieer het ”LEESMIJ” bestand naar de map ”test”. • Verplaats het ”LEESMIJ” bestand naar de map ”informatica” onder de naam ”LEESMIJNIET”.2. Typ ls sch en druk vervolgens op de TAB-toets. Wanneer er meerdere mogelijkheden zijn kan de shell natuurlijk niet voor jou kiezen. • Kopieer het ”LEESMIJ” bestand in jouw home-directory naar de map ”Tekstbestandje” in de map ”test”.5. Typ hierachter de letters inf en druk opnieuw op de TAB-toets en vervolgens op ENTER. . kun je de shell vragen om de naam te vervolledigen door op de TAB-toets te drukken. Om onze oefening af te maken typ je nog een spatie en daarna do TAB en tenslotte op ENTER. Nu zie je dat er zowel cursus_linux. • Tenslotte is de zogenoemde tab-completion van Linux ook het vermelden waard. De shell e geeft aan de hand van een pieptoon te kennen dat er meerdere (of geen) mogelijkheden zijn. Als je nu de letter p typt en nogmaals op de TAB-toets drukt krijg je het juiste bestand. Nu is het tijd geworden om deze commando’s in te oefenen.

e • Je kan het gekopieerde bestand hernoemen door er met de rechtermuisknop op te klikken en uit het pop-up menu ”hernoemen” te kiezen. Daarom gaan we ook in de grafische omgeving de vorige oefening eens doen: • Log in of schakel over naar de windowmanager KDE 3.26 HOOFDSTUK 2. Kies nu ”move to trash”. Deze kunnen vooral van pas komen wanneer je bepaalde dingen moet automatiseren omdat je deze commando’s dan in een script kunt zetten en ze zo automatisch achter elkaar kan uitvoeren. Kies uit het pop-up menu ”nieuw” en vervolgens ”map”. Konquerer zal je nu vragen of je het bestand ”LEESMIJ” naar de map documenten wil kopi¨ren. Voor het dagelijks gebruik is de shell misschien iets minder handig. Hernoem het bestand naar ”LEESMIJNIET”. BASIS-CONCEPTEN VAN LINUX • Verwijder de map ”test”. • Start nog een Konquerer op. Wij kiezen e kopi¨ren. • Je kan het gekopieerde bestand verwijderen door er met de rechtermuisknop op te klikken en uit het pop-up menu de optie ”naar prullenbak verplaatsen” of ”verwijderen” te kiezen (bij deze laatste optie kan je het bestand achteraf niet meer recupereren). door erop te klikken). verplaatsen of er een link naartoe wil maken. Beheer van bestanden en mappen met Konquerer Om te werken via de shell moet je vele commando’s en opties kennen. Typ de naam ”test” in het invulvakje van het venster dat zojuist is verschenen. • Maak de map test aan als volgt: klik met de rechtermuisknop in het rechter-deel van het vensters (klik wel naast of onder een bestaande map of bestand). • Sleep het ”LEESMIJ” bestand vanuit deze Konquerer naar de andere (waarin we daarnet de map documenten hebben geopend. Start opnieuw de verkenner op (”Persoonlijke map” uit het Mandrake-menu). • Ga naar de map test (bv. Laat het ”LEESMIJ” bestand daar vallen (muisknop loslaten). Klik op de knop ”OK”. .

Ten tweede zijn er een heel aantal processen in uitvoering. Bij het commando shutdown zijn er 2 verschillende opties: -r om opnieuw op te starten (rebooten) en -h om af te sluiten (halt). .6. Wanneer je het systeem goed afsluit wordt aan al deze processen gevraagd om te stoppen. Alle gebruikers die zijn ingelogd krijgen dan de melding dat het systeem over 2 minuten afgesloten wordt. Voor hen is het niet interessant als tijdens het bewerken van een tekst plots alles wegvalt omdat jij de PC wil afzetten. Zoniet worden zij midden in hun uitvoering bruusk gestopt. Daarom heeft het shutdown commando als tweede argument de tijd waarop afgesloten moet worden (hh:mm) of na hoeveel minuten er moet afgesloten worden (+m).6 Het systeem afsluiten Het afsluiten van een Linux systeem heeft meer gevolgen dan je denkt. • Verwijder de map ”test” (optie ”Verwijderen”). Ten eerste mag je nooit de computer uitzetten door op de power. Om de computer over 2 minuten af te sluiten gebruik je dus het commando: shutdown -h +2. Wanneer je het systeem gewoon uitzet heeft de kernel niet de kans om deze gegevens naar de harde schijf te schrijven en geraakt het bestandsysteem in de war.2. Er kunnen een aantal gebruikers ingelogd zijn (en aan het werken zijn) op het systeem. Als laatste moet je eraan denken dat Linux een multi-user systeem is. • Kopieer het ”LEESMIJ” bestand van je home directory naar de map ”documenten”. De Linux kernel houdt namelijk gegevens voor de harde schijf een tijdje bij in het geheugen vooraleer deze gegevens naar de harde schijf te schrijven. 2.of reset-knop te drukken. HET SYSTEEM AFSLUITEN 27 • Verplaats het ”LEESMIJ” bestand van de map ”test” naar de map ”informatica” (deze map is onderdeel van de map school).

28 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX .

” 29 .Hoofdstuk 3 De window manager KDE 3 De window manager KDE 3 vertoont grote gelijkenissen met de omgeving die je in Windows gewoon bent. ”vensterdecoratie” dient om het uiterlijk van een venster te wijzigen. Ieder venster heeft bijvoorbeeld in de rechter bovenhoek een blokje waarmee je het venster kan minimaliseren. Nu is het venster op elk bureaublad te zien (het zit vastgeprikt op je scherm).1). Dit komt ook tot uiting wanneer je met de rechter muisknop op de bovenkant van een venster klikt.1). Bij KDE 3 beschik je niet over 1 maar over 4 desktops (bureaubladen). 3 of 4 in de taakbalk te klikken.. Buiten de normale opties om het venster te verplaatsen en van grootte te veranderen staat hier ook ”Naar bureaublad” waarmee je een scherm naar een andere desktop kan sturen. Dit werkt ongeveer op dezelfde manier als in Windows: • Klik met de rechtermuisknop op een lege plaats op het bureaublad • Selecteer ”Nieuw” en dan ”Koppeling naar applicatie. 2. Wanneer je hierop klikt verandert deze van positie. een vierkantje waarmee je het venster kan maximaliseren en een kruisje waarmee je het venster kan afsluiten. Niet alles is echter identiek. Je kan omschakelen tussen deze bureaubladen door op het getal 1. De optie ”configuratie”.. KDE 3 heeft ook een taakbalk waarin de programma’s te zien zijn die je aan het uitvoeren bent en een klok en datum in de rechter benedenhoek (zie figuur 3. Wanneer je goed kijkt zie je in de linker bovenkant van een venster ook een priknaald staan. Je kan het venster ook naar een gewenste grootte omvormen door een bepaald hoek te verplaatsen. Laten we tenslotte eens een snelkoppeling naar een programma toevoegen aan het bureaublad. Er is ook een soort van start-menu in de linker benedenhoek (zie figuur 3.

maar dat is niet nodig. – Typ in het invulveld achter ”Genaamd” het volgende in *gimp (dit is omdat we niet weten of het programma nu gimp of thegimp heet).gimp. • Omdat we nu weten waar het programma staat vullen we dit ook in in het invulvakje onder ”Commando:”.1: KDE 3: een window manager van formaat • We zullen een link maken naar het programma The Gimp1 Verander de naam ”Koppeling naar applicatie” in het invulvakje naar ”The Gimp”.org/ 1 . We typen daar /usr/bin/gimp. • Selecteer het tabblad ”Uitvoeren”. – Verander de locatie in ”file:” want we willen het volledige bestandssysteem doorzoeken. Gimp staat voor Graphic Image Manipulation Program.30 HOOFDSTUK 3. We kunnen het programma nog verder laten zoeken. – Even later verschijnt er onder andere als gevonden item ”gimp” in de map ”/usr/bin”. en wacht een tijdje. Daarom zullen we het zoeken. Hier moeten we instellen welk commando moet uitgevoerd worden. Het is een soort Adobe Photopaint variant. – Kies uit het Mandrake menu achtereenvolgens ”Wat kan ik doen”. Daarom kun je nu best op de ”Stop” knop klikken. ”Bestanden zoeken”. We weten echter niet waar het programma ergens staat. Dit is het programma dat we zoeken. DE WINDOW MANAGER KDE 3 Figuur 3. – We sluiten het zoekprogramma af door op de knop ”Sluiten” te klikken. Meer info vind je op http://www. – Klik op de knop ”Zoeken”. de andere gevonden items tot nu toe zijn enkel mappen.

Selecteer het icoon Gimp. Klik tenslotte op OK. Klik hiervoor terug op het tabblad ”Algemeen”. . • Je kan nu controleren of de link werkt door erop te klikken (dit is ook nog een verschil met de Microsoft Windows omgeving: 1 keer klikken volstaat).31 • Nu gaan we het icoontje nog veranderen. Klik op het icoontje voor de naam van de link.

DE WINDOW MANAGER KDE 3 .32 HOOFDSTUK 3.

groepen en toegangsrechten 4. zullen we nu aandacht besteden aan het beheer van deze gebruikers en de groepen waartoe ze behoren. Het is zelden een goed idee om een bepaalde account door meerdere gebruikers te laten delen. Er is dan minder kans dat hij schade aan het systeem veroorzaakt wanneer hij gewoon op het systeem aan het werken is en per ongeluk een foutje maakt. Zelfs wanneer jij de enige gebruiker bent van het computersysteem is het belangrijk om de verschillende aspecten van gebruikersbeheer onder Linux te begrijpen. Je moet namelijk minimum ´´n gebruiker buiten de ”root” ee cre¨ren.1 Gebruikers in Linux Omdat er normaalgezien meer dan ´´n gebruiker op een Linux systeem ee werkt. Later in dit hoofdstuk zullen we ´´n ee van de voordelen zien van dit gebruikersbeheer: Linux voorziet namelijk een mechanisme waarbij gebruikers hun bestanden kunnen afschermen tegen het lezen of wijzigen door andere gebruikers. De root-gebruiker is in Linux diegene met alle toegangsrechten. Enkel wanneer hij systeemtaken moet uitvoeren. waar je bijna altijd mee werkt. Juist omdat hij zoveel toegangsrechten heeft is het belangrijk dat hij voor zichzelf ook een gewone gebruiker aanmaakt. vooral uit veiligheidsoverwegingen1 . Als ´´n van de gebruikers een fout maakt schaadt hij daarmee ten eerste ee alle andere gebruikers.Hoofdstuk 4 Gebruikers. en ten tweede kan de systeembeheerder op deze manier niet weten wie van de gebruikers deze fout heeft gemaakt 33 . 1 Alle gebruikers met dezelfde gebruikersnaam (dezelfde account) kunnen aan elkaars documenten. verandert hij even in de root gebruiker. e Elke gebruiker moet zijn eigen account hebben. Hij is diegene die het systeem installeert en onderhoudt (de systeembeheerder).

. Omdat Linux tegenwoordig zogenoemde ”shadow passwords” gebruikt zijn deze in een ander bestand opgeslagen dat enkel de root-gebruiker kan lezen (ze staan als het ware in de ”schaduw”. Meestal is deze map /home/gebruikersnaam. GEBRUIKERS. Groep ID Paswoord Volledige naam Home directory Login shell Al deze informatie wordt opgeslagen in het bestand /etc/passwd in de vorm gebruikersnaam:encrypted password:UID:GID: Volledige naam:Home dir:login shell Je kan de laatste regels van dit bestand bekijken door het volgende commando: tail /etc/passwd. De andere groepen zijn in een ander bestand te vinden. Dit is de map waarin de gebruiker terecht komt na het inloggen. Je kan eventueel de laatste regels weer bekijken met het commando tail /etc/group. Meestal is dit ”/bin/bash”. De andere groepen waar de gebruiker toe behoort vind je in het ”/etc/group” bestand. Het wachtwoord van de gebruiker wordt gee ¨ncrypteerd bewaard. maar van ´´n groep wordt ee het groepsnummer bijgehouden. maar in uitzonderlijke gevallen kan dit anders ingesteld worden (bijvoorbeeld voor gebruiker ”ftp” is de home directory vaak /var/pub/ftp omdat dit ook de map is waarin je terecht komt wanneer je een ftp verbinding met het systeem tot stand brengt). Dit is de shell die wordt opgestart nadat de gebruiker is ingelogd. Dit nummer (GID = Group ID) is het nummer van de ”default”groep waartoe de gebruiker behoort. Een gebruiker behoort tot ´´n of ee meerdere groepen. Dit is de ”echte” of ”volledige” naam van de gebruiker. GROEPEN EN TOEGANGSRECHTEN Het systeem houdt de volgende informatie over elke gebruiker bij: Gebruikersnaam Gebruikers ID Deze is uniek voor elke gebruiker en mag zowel letters als cijfers bevatten Dit nummer (UID = User ID) is eveneens uniek voor elke gebruiker. waar gewone gebruikers ze niet kunnen zien). Het systeem maakt meestal gebruik van de UID in plaats van de gebruikersnaam.34HOOFDSTUK 4.

We veranderen nu naar de root-gebruiker (vraag het wachtwoord aan je leerkracht) [student@FREGGEL student]$ su root Password: [root@FREGGEL student]# • De prompt is veranderd. Vermits dit laatste meestal gedaan wordt gaan wij het ook zo doen: • Log in als student • Je kan veranderen van gebruiker via het commando su (substitute user). [root@FREGGEL student]# useradd -m geertdemaere [root@FREGGEL student]# Waarvoor dient de optie -m? Vervolgens stellen we het wachtwoord in voor deze gebruiker.2. Het systeem gebruikt hiervoor de instellingen uit etc/default/useradd 2 het configuratiebestand . We zullen alle andere eigenschappen van een gebruiker door het systeem zelf laten bepalen2 .4. Hoe verklaar je deze verandering? • Voeg nu een gebruiker met jouw naam en een zelfgekozen wachtwoord toe. Dit gebeurt als volgt: [root@FREGGEL student]# passwd geertdemaere Changing password for user geertdemaere.2 Gebruikersbeheer Gebruikersbeheer via de shell Het commando dat in de shell beschikbaar is om een gebruiker toe te voegen is useradd. Je moet wel systeembeheerder (root) zijn om dit programma uit te voeren! Je kan inloggen als root-gebruiker ofwel van gebruiker veranderen nadat je ingelogd bent. GEBRUIKERSBEHEER 35 4.

In welke map kom je terecht na het inloggen? e • Om een gebruiker terug te verwijderen gebruik je het commando userdel met daarachter de gebruikersnaam. We zullen zien dat het eenvoudiger kan via een grafisch programma. • Typ exit om terug over te schakelen naar de gebruiker ”student”. Gebruikersbeheer in de X-Window omgeving De procedure om een gebruiker toe te voegen via de shell is vrij omslachtig. • Het systeem zal je vragen het root-wachtwoord te geven omdat alleen de systeembeheerder gebruikers mag toevoegen of verwijderen (zie figuur 4. zeker als je een aantal eigenschappen van de gebruiker wil meegeven. • Log in via het grafisch programma of schakel over naar de windowmanager. • Kies uit het Mandrake menu achtereenvolgens ”Wat kan ik doen”.1).1). [root@FREGGEL student]# Linux zal je een waarschuwing geven indien je het wachtwoord te eenvoudig kiest. GROEPEN EN TOEGANGSRECHTEN New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. • Probeer in een andere virtuele console in te loggen als de gebruiker die je zojuist hebt gecre¨erd. ”Beheer uw systeem” en ”Gebruikers beheren” (zie figuur 3. GEBRUIKERS. . Vul het paswoord in en wacht: het kan even duren voordat dit programma opgestart is.36HOOFDSTUK 4. [student@FREGGEL student]$ su root Password: [root@FREGGEL student]# userdel geertdemaere [root@FREGGEL student]# [root@FREGGEL student]# exit exit [student@FREGGEL student]$ • Controleer of de gebruiker effectief verwijderd is (probeer nogmaals als die gebruiker in te loggen).

Om typ-fouten te vermijden moet dit twee keer gebeuren.1: Dialoogvenster voor paswoord systeembeheerder • Om een gebruiker aan te maken klik je op de knop ”Toevoegen”.3 Groepen in Linux Zoals reeds vermeld kan een gebruiker behoren tot ´´n of meerdere groepen. • Probeer in te loggen met de zojuist gecre¨erde gebruikersnaam.3. bash). – Op het tabblad ”Groepen” kan je de gebruiker aan ´´n of meerdere ee groepen toevoegen. – Selecteer de gewenste shell (bijv. GROEPEN IN LINUX 37 Figuur 4. In e wat volgt worden toegangsrechten nader bekeken. . ee Het belang van groepen wordt vooral duidelijk bij het bekijken van de toegangsrechten. – Het ”Aanmeldnaam” veld bevat de gebruikersnaam. Verwijder de zojuist aangemaakte gebruiker weer door hem te selecteren uit de lijst van gebruikers en vervolgens op de ”Verwijderen” te klikken. 4. – Vul het pad in waar de homedirectory van de gebruiker zich bevindt. e • Het verwijderen van een gebruiker gebeurt met hetzelfde programma als het aanmaken van gebruikers.4. – Vul het paswoord in. – Bij commentaar kan je extra gegevens over de account toevoegen. vermits je toegangsrechten ook per groep kan specifi¨ren. • Druk op OK om de gebruiker aan te maken.

3: Een gebruiker toevoegen .2: Het grafische programma voor gebruikersbeheer Figuur 4. GROEPEN EN TOEGANGSRECHTEN Figuur 4. GEBRUIKERS.38HOOFDSTUK 4.

Onderstaande tabel geeft de betekenis ervan weer. maar geef deze keer de optie -l mee aan het commando: [student@FREGGEL student]$ ls -l totaal 16 drwxrwxr-x 2 student student -rw-rw-r-1 student student -rw-rw-r-1 student student drwxrwxr-x 4 student student drwx-----2 student student [student@FREGGEL student]$ 4096 25 0 4096 4096 okt okt okt okt okt 15 17 15 15 15 11:46 10:57 12:28 11:43 11:34 documenten/ LEESMIJ LEESMIJ~ school/ tmp/ (inhoud. We zullen eerst een kijkje nemen naar deze attributen en ze vervolgens ´´n ee voor ´´n verklaren. . ee • Log in via een virtuele console als student • Bekijk de inhoud van je home directory.4 Toegangsrechten We hebben al eens gekeken welke mappen en bestanden er in onze home directory staan. TOEGANGSRECHTEN 39 4.4. datum en tijd kunnen verschillen) Van links naar rechts zijn 7 velden te onderscheiden.4. maar nog niet naar de attributen die bij deze bestanden horen.

het volgende groepje van 3 tekens geeft weer welke rechten de groep heeft die eigenaar is van het bestand (veld 4). Voor iedere sub-map die een map bevat wordt dit cijfer nog eens met 1 verhoogd omdat iedere map ook een verwijzing heeft naar de map waartoe hij behoort (”. Wanneer het een koppelteken (-) is gaat het om een bestand. Vandaar dat we dit ook apart zullen bespreken. GROEPEN EN TOEGANGSRECHTEN Veld 1 2 Betekenis Het type bestand (bestand. De volgende negen tekens vormen drie groepjes van drie. map of link) en de toegangsrechten (zie verder) Dit cijfer stelt het aantal referenties naar het bestand voor.40HOOFDSTUK 4.” in de map (de punt staat voor ”huidige map”). Bij bestanden is dit minimum 1 (de bestandsnaam zelf) Bij mappen is dit minimum 2: de map zelf en de ”. voor een map staat hier een d. Het eerste groepje staat voor de toegangsrechten van de gebruiker die eigenaar is van de map of het bestand (wie dat is zie je in veld 3). GEBRUIKERS. en het laatste groepje van 3 representeert de toegangsrechten van de gebruikers die noch eigenaar noch lid van de groep zijn (dit worden ook wel de toegangsrechten voor ”de wereld” genoemd). Het eerste teken van de reeks van 10 tekens geeft het type weer.”).. Deze betekenis is verschillend voor bestanden en voor mappen. . Kan je nu verklaren waarom de referentieteller van de map school gelijk is aan 4? 3 4 5 6 7 De gebruikersnaam van de eigenaar (waarvoor een gedeelte van de toegangsrechten gelden) De groep die eigenaar is van het bestand of de map (waarvoor opnieuw een gedeelte van de toegangsrechten gelden) De grootte van een bestand (geen betekenis voor mappen) De datum en het uur waarop het bestand het laatst is gewijzigd De naam van het bestand of de map We bespreken nu uitgebreid waarvoor het eerste veld (de toegangsrechten) staat.

Indien een gebruiker dit recht niet heeft kan hij niet zien welke bestanden er in een map staan. Dit geeft je het recht om het programma ook effectief uit te voeren. De letter w staat voor de mogelijkheid om gegevens in een map te veranderen. wanneer er een streepje staat (-). e Verklaar nu de toegangsrechten van de map ”documenten”: eigenaar inhoud opvragen bestand aanmaken ”gebruiken” groep wereld . Het toegangsrecht x is enkel van belang voor uitvoerbare bestanden (programma’s of commando’s). Iemand met enkel toegangsrecht r kan het bestand wel lezen. TOEGANGSRECHTEN 41 Toegangsrechten voor een bestand Ieder groepje van 3 heeft dezelfde betekenis. w of x). Let op: de mogelijkheid om een bestand te wissen hangt dus niet af van je toegangsrechten tot dat bestand maar van je toegangsrechten tot de map waarin dat bestand zit! Tenslotte staat de letter x voor het ”betreden” of ”gebruiken” van een map. Bij een bestand staat de r voor readable (leesbaar). betekent dit dat je dat bepaalde recht hebt.4. heb je dat recht niet.4. De letter r staat voor het lezen van de inhoud van de map. de w voor writable (schrijfbaar of ook wel wijzigbaar) en de x voor executable (uitvoerbaar). Wanneer er een letter staat (r. Zonder dit toegangsrecht kan je niet naar de map in kwestie gaan (commando cd) of een bestand uit die map kopi¨ren. Iemand die ook toegangsrecht w heeft kan het bestand wel wijzigen. maar er niets aan veranderen. Je kan dan nieuwe bestanden aanmaken en bestaande bestanden wissen. Verklaar nu de toegangsrechten van het ”LEESMIJ” bestand door een kruisje te zetten wanneer iemand het recht heeft: eigenaar lezen schrijven uitvoeren groep wereld Toegangsrechten voor een map Opnieuw heeft ieder groepje van 3 dezelfde betekenis.

Geef te twee ee gebruikers een naam. Tenslotte is het tweede argument van chmod de naam van het bestand of de map waarvan de toegangsrechten moeten gewijzigd worden. leerling en leraar. 4 Iedereen heeft schrijftoegang tot deze map. Het eerste argument is van de vorm [ugoa][+-=][rwx]. all. GEBRUIKERS. 3 Enkel de eigenaar van een bestand en de systeembeheerder kunnen de toegangsrechten tot een bestand wijzigen. Ga hiervoor met 1 van de gebruikers een niveau naar boven (naar de bovenliggende map). Hiervoor dient het commando chmod3 . • Log in virtuele console 2 in als student. • Maak als leerling en als leraar ook een bestand ”LEESMIJ” aan.42HOOFDSTUK 4. e • Wie heeft welke rechten op het ”LEESMIJ” bestand van de student? leerling student leraar lezen wijzigen uitvoeren • De leerling vindt dat de student het ”LEESMIJ” bestand ook mag bewerken. • Bekijk de toegangsrechten van een home directory. We gaan dit eens uitproberen op het ”LEESMIJ” bestand. Om te kunnen controleren hoe alles werkt hebben we meerdere gebruikers nodig. bij 3 als leerling en bij 4 als leraar. . other. Het laatste groepje geeft weer over welke toegangsrechten het gaat. Verander hiervoor de toegangsrechten. Hij wordt net als in windows veel gebruikt om een bestand tijdelijk op te slaan. ´´n met een ander GID. Het eerste deel duidt aan voor welke gebruikers de toegangsrechten van toepassing moeten zijn: user. Vervolgens zullen we leren hoe we de toegangsrechten kunnen wijzigen. Je mag meerdere letters per groepje gebruiken. group. GROEPEN EN TOEGANGSRECHTEN Oefeningen op toegangsrechten Omdat het concept van toegangsrechten zeer belangrijk is gaan we hier nog enkele oefeningen op maken. bijv. Het tweede groepje duidt aan of de toegangsrechten moeten toegevoegd worden aan de rechten die de gebruiker al heeft (+). Dit doen we door als student het ”LEESMIJ” bestand naar de ”/tmp” 4 map te kopi¨ren en als leerling en leraar dit bestand naar onze home e directory te kopi¨ren. moeten worden ingetrokken (-) of dat dit de toegangsrechten van de gebruiker zullen worden (ongeacht welke rechten hij nu al heeft). Maak daarom 2 gebruikers aan: ´´n ee met hetzelfde GID als jij (student).

Doe bijvoorbeeld eens ls -l /sbin/netconf .4. Duidt hieronder de rechten aan van de student en de systeembeheerder (root-gebruiker): systeembeheerder leerling lezen wijzigen uitvoeren • Sommige commando’s zijn alleen bedoeld voor de systeembeheerder. Of iemand een bestand kan lezen hangt dus niet alleen af van de toegangsrechten van het bestand zelf. Hij kan dit echter niet omdat hij geen toegang heeft tot de map waarin het bestand staat. • Alle commando’s bevinden zich in de ”/bin” map. Deze staan meestal in de ”/sbin” map. Het is belangrijk om hier even bij stil te staan: wanneer je de toegangsrechten van het ”LEESMIJ” bestand in de map van de leraar bekijkt dan zou je hieruit afleiden dat de leerling dit bestand mag lezen. TOEGANGSRECHTEN [leerling@FREGGEL leerling]$ cd . maar ook van de toegangsrechten van de map waarin het bestand zich bevindt.4. • De leerling wil dat er niemand zijn ”LEESMIJ” bestand kan lezen behalve hijzelf. Controleer of de leerling nu inderdaad niet meer naar de map van de leraar kan gaan. [leerling@FREGGEL home]$ ls -l 43 Duidt aan wie welke toegangsrechten heeft: leerling student inhoud opvragen bestand aanmaken ”gebruiken” leraar • De leraar vindt dat de leerlingen niets te zoeken hebben in zijn home directory. Verander hiervoor de toegangsrechten en controleer ook of de student het bestand niet meer kan lezen (gebruik hiervoor het commando tail /home/leerling/LEESMIJ als student).. Om eens de toegangsrechten van zo een programma te bekijken kan je het commando ls -l /bin/chmod gebruiken. Verander hiervoor de toegangsrechten.

GEBRUIKERS.44HOOFDSTUK 4. GROEPEN EN TOEGANGSRECHTEN . Geef opnieuw de rechten van de leerling en de systeembeheerder: systeembeheerder leerling lezen wijzigen uitvoeren .

u om dan ook de gebruikersnaam weer te geven en x om ook de X-Window processen te zien. start je een zogenaamd ”proces”. Iedere keer wanneer je een programma opstart. De laatste kolom laat zien welk proces in uitvoering is. De weergegeven lijst bevat alleen de processen (zonder de X-Window processen) die je zelf hebt opgestart. De opties zijn a voor alle gebruikers. Meestal is er maar ´´n proces per gebruiker in uitvoering buiten de shell ee (bash): het commando dat je het laatst getypt hebt. Het commando ps geeft een lijst van processen die op dat moment in uitvoering zijn: [student@FREGGEL student]$ ps PID TTY TIME CMD 3000 pts/1 00:00:00 bash 3173 pts/1 00:00:00 ps [student@FREGGEL student]$ Het PID dat in de eerste kolom staat is een afkorting voor process ID: een uniek nummer dat aan elk proces wordt toegekend wanneer het gestart wordt.Hoofdstuk 5 Processen en procesbeheer 5. Waarom kan het nu nuttig zijn om meerder processen tegelijk te draaien? TTY is een afkorting van TeleTYpe: een terminal lijkt in eerste instantie niet veel meer dan een geavanceerde typmachine 1 45 . De derde kolom geeft tenslotte weer hoeveel CPU tijd in seconden het process al heeft ingenomen. De tweede kolom (TTY)1 duidt aan via welke (virtuele) console het proces is opgestart.1 Processen Procesbeheer wordt door vele shells voorzien zodat je verschillende programma’s tegelijk kan uitvoeren. Wil je eens kijken welke processen het systeem allemaal aan het uitvoeren is dan kan dit via ps aux.

Dit doe je op de volgende manier: yes > /dev/null. Voer het commando yes > /dev/null & maar eens uit. Maar het probleem is dat de prompt niet terugkomt. e 5.3 Processen in de achtergrond zetten en stoppen Om procesbeheer te demonstreren is er in Linux zelfs een speciaal commando: yes. Via procesbeheer kan je dan de tekstverwerker even schorsen.2 Voorgrond en achtergrond processen Een proces kan ofwel op de voorgrond ofwel op de achtergrond in uitvoering zijn. De uitvoer gaat wel ergens anders naartoe. een proces op de achtergrond draait op zichzelf: je moet het naar de voorgrond halen om er invoer aan te kunnen geven. Om een proces na het opstarten onmiddellijk naar de achtergrond de sturen moet je een ampersand (&) achter het commando zetten. maar het proces draait nog steeds op de voorgrond. PROCESSEN EN PROCESBEHEER Stel je bent een tekst aan het bewerken en iemand vraagt je om even iets te kopi¨ren. Sommige processen hebben lange tijd nodig om hun taak te vervullen maar hebben daarvoor geen invoer nodig. Dit commando laat continue een regel met de letter y op het scherm zien.46 HOOFDSTUK 5. het e bestand kopi¨ren en dan weer terug overschakelen naar de tekstverwerker. We zullen hiervan later een voorbeeld zien. 5. Om de uitvoer te onderdrukken kunnen we deze naar een soort ”zwart gat” sturen. Controleer welke processen op dit moment in uitvoering zijn met het commando ps: [student@FREGGEL student]$ yes > /dev/null & [1] 3178 [student@FREGGEL student]$ ps PID TTY TIME CMD 3000 pts/1 00:00:00 bash 3178 pts/1 00:00:03 yes 3179 pts/1 00:00:00 ps . Er kan maximum 1 proces op de voorgrond draaien. Nu zie je dat de prompt wel terugkeert. Een proces op de voorgrond kan je rechtstreeks mee interageren via je toetsenbord. Om het proces te stoppen kun je de toetsencombinatie CTRL+C gebruiken. Voer dit commando uit. Dit is al al veel beter. Voer het commando maar eens uit. Voorbeelden van zulke processen zijn het compileren van een groot programma en het maken van een lijst van bestanden die op de harde schijf staan.

. Een voorbeeld van een commando dat wel nuttig werk doet en ook best in de achtergrond kan uitgevoerd worden is updatedb. Deze gegevensbank kan achteraf geraadpleegd worden met het commando locate. Dit proe gramma neemt als argument het PID van het proces dat je wenst te be¨indigen. Probeer bijvoorbeeld eens het commando locate gimp. Wanneer zich een programma heeft ”opgehangen” zal het echter niet op zo een vriendelijke vraag reageren. anders heeft het programma niet voldoende toegangsrechten om het volledige bestandssysteem te doorzoeken. Start vervolgens updatedb in de achtergrond (updatedb &). e Be¨indig nu het yes-proces en controleer of het gelukt is door weer de lijst e van processen in uitvoering te vragen. Wanneer je niet meer weet waar het staat gebruik je locate bestandsnaam. het is niet meteen een nuttig commando. Tenslotte nog een korte uitleg over hoe het voorbeeldje in het begin van dit hoofdstuk werkt: • Start eerst een editor op. Het signaal voor halsstarrige programma’s is SIGTERM.3. Het yes commando dient natuurlijk enkel als voorbeeldje. Kopieer bijvoorbeeld eens het bestand ”LEESMIJ” naar het bestand ”LEESMIJOOK”. Dit programma gaat na welke bestanden er allemaal in het bestandsysteem zitten en slaat deze op in een gegevensbank. bijvoorbeeld vim (we zullen niet leren hoe deze editor werkt) met het commando vim test. Dit doe je via de optie -s signaal. Op die manier kan je in Linux zeer snel een bestand terugvinden. Het kill commando zonder opties vraagt vriendelijk aan het proces in uitvoering of het zou willen stoppen.txt. • Nu heeft iemand ons gevraagd het ”LEESMIJ” bestand naar de /tmp map te kopi¨ren. Dit gaat veel sneller dan de verschillende harde schijven na te pluizen op zoek naar het bestand. Linux draait updatedb iedere nacht zodat je de volgende dag weer een upto-date gegevensbank hebt. Je moet dan een ander signaal naar het proces sturen. Je kan echter ook zelf updatedb uitvoeren. Om zo een programma te be¨indigen gebruik je dus het commando e kill -s SIGTERM PID. PROCESSEN IN DE ACHTERGROND ZETTEN EN STOPPEN 47 [student@FREGGEL student]$ Je kan een proces be¨indigen (”killen”) via het commando kill. Je kan nu gewoon verder werken in de shell terwijl updatedb de gegevensbank bijwerkt (je kan het programma updatedb best als systeembeheerder uitvoeren. Daarom willen we de editor naar de achtergrond e verplaatsen.5. Dit gaat via de toetsencombinarie CTRL+Z. Locate zal dan in de gegevensbank die updatedb heeft opgebouwd zoeken waar het bestand staat. bijvoorbeeld nadat je een aantal programma’s hebt ge¨ ınstalleerd.

Het programma neemt (eventueel) als parameter het volgnummer van het proces in de achtergrond. Om de editor terug naar de voorgrond te krijgen typen we dus fg %1. . Wanneer je een proces naar de achtergrond stuurt verschijnt er steeds [volgnummer] PID. vervolgens de letter q (quit) en daarna op ENTER te drukken. • Je sluit de editor af door een dubbelpunt te typen. Bij het naar de achtergrond sturen van onze editor was het volgnummer gelijk aan 1. • Om nu terug over te schakelen naar de editor moeten we een proces uit de achtergrond terug naar de voorgrond halen. Dit gaat via het commando fg (foreground). PROCESSEN EN PROCESBEHEER • Kopieer het ”LEESMIJ” bestand naar de map ”/tmp” onder de naam ”HIERISLEESMIJ”.48 HOOFDSTUK 5.

...... FILE. -a.... SOURCE... MODE[....MODE].... SOURCE DEST mv [OPTION]... Each MODE is one or more of the letters ugoa.. [FILE].Hoofdstuk 6 Syntax van de gebruikte commando’s chmod [OPTION]... --directory list directory entries instead of contents -l use a long listing format mkdir [OPTION] DIRECTORY. mv [OPTION]. -n.. DIRECTORY ls [OPTION]. SOURCE. --lines=N output the last N lines... instead of the last 10 49 . SOURCE DEST cp [OPTION].... [FILE]. --all do not hide entries starting with . including other users u user-oriented x processes w/o controlling ttys tail [OPTION].. one of the symbols +-= and one or more of the letters rwx cd [-PL] [dir] cp [OPTION]. -d. a all w/ tty.. DIRECTORY ps [OPTION].

... .] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-n] [-r] name yes [OPTION]... [STRING].50 HOOFDSTUK 6.. SYNTAX VAN DE GEBRUIKTE COMMANDO’S useradd [-u uid [-o]] [-g group] [-G group..

org/ http://www.Bibliografie [1] [2] easy computing gids linux.gnu. 1998. 1999. uitgever easy computing nv. uitgever addison-wesley. uitgever academic service. ISBN 0-2001-54262-5. ISBN 90-5167-298-5.linuxdoc. 5th edition. aut: andrew s. aut: abraham silberschatz en peter baer galvin operating systems: ontwerp en implementatie. aut: michael wielsch operating system concepts. tanenbaum http://www. ISBN 90-6233-582-9. 1991.org/LDP/gs/ [3] [4] [5] 51 .

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.