Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer...

37
1 1 Systeembeheer op Systeembeheer op Linux Linux Inleiding Systeembeheer Linux 2 Overzicht Linux netwerkbeheer I Overzicht Linux netwerkbeheer I ! Linux distributies/ kernels ! Help /Zoeken (man, info, apropos, whatis, find,grep) ! Bestanden, directories en commando’s ! Gebruikers, groepen en rechten (chmod) ! Mounten (floppy, cdrom) ! Scripts (shell, awk en perl) ! Samba, crontab en at ! Processen (ps, kill, nice, renice) ! Netwerken (ping, netstat, route, ifconfig) ! Netwerktools (ftp, telnet, ssh)

Transcript of Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer...

Page 1: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

1

11

Systeembeheer opSysteembeheer op LinuxLinux

Inleiding

Systeembeheer Linux22

Overzicht Linux netwerkbeheer IOverzicht Linux netwerkbeheer I! Linux distributies/ kernels! Help /Zoeken (man, info, apropos, whatis, find,grep)! Bestanden, directories en commando's! Gebruikers, groepen en rechten (chmod)! Mounten (floppy, cdrom)! Scripts (shell, awk en perl)! Samba, crontab en at! Processen (ps, kill, nice, renice)! Netwerken (ping, netstat, route, ifconfig) ! Netwerktools (ftp, telnet, ssh)

Page 2: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

2

Systeembeheer Linux33

Enkele Linux distributiesEnkele Linux distributies! Redhat (nieuwere, meer gebruiksvriendelijke distributie

met een mooie installatie)! SuSE (meest uitgebreide, geavanceerde en degelijk

geteste distributie uit Duitsland)! Slackware (de oudere en traditionele distributie van

Linux)! Debian (GNU linux) Degelijke distributie, maar

installatie enkel door geavanceerde gebruikers! MKLinux (Linux voor Power Macintosh)! Caldera Openlinux (installatie ook op DOS)! Mandrake (zeer gebruiksvriendelijke, Windows achtige

installatie)

Systeembeheer Linux44

Linux stabiele en experimentele kernelsLinux stabiele en experimentele kernels! De nieuwste stabiele Linux kernel is versie 2.2.6. Je kan

deze volledige kernel versie (6 MB)! downloaden op Funet Finland of op een Belgische mirror

van Funet.! Een stabiele kernel heeft als tweede cijfer een even getal,

een experimentele kernel heeft een oneven getal. Bijvoorbeeld de huidige experimentele kernel is 2.1.70. Experimenteel betekent dat er nog fouten in kunnen zitten, maar betekent niet direct dat je een slechte versie van linux hebt.

Page 3: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

3

Systeembeheer Linux55

Gebruik van LinuxGebruik van Linux! De computers aan boord van de spaceshuttle draaien

bijvoorbeeld Debian Linux ! Veel beelden uit de kaskraker Titanic werd door meer dan

200 Alpha�s samengesteld, draaiende op Linux.! De Apache webserver is één van de meest gebruikte

webservers in de Benelux. Méér dan 60 procent van de servers draaiden in april 1998 Apache onder Linux (dit zijn rond de 12000 servers). De Microsoft servers hebben slechts 30 procent van de markt. Niet te onderschatten voordeel van Apache: Gratis en stabiel!

Systeembeheer Linux66

InstallatieInstallatie-- Aanmaken van partitiesAanmaken van partities! Voor het installeren van Linux heb je 2 extra partities

nodig. Wanneer je bijvoorbeeld een C-station hebt als harddisk en een D-station als CDROM, dan dien je 2 extra partities aan te maken die het E-station en het F-station worden op je computer.

! Voor het maken van extra partities gebruik je bv" FDISK.EXE in DOS

Opgepast, deze veegt ALLES van je schijf!" FIPS.EXE (Op de CDROM van Linux)" Partition Magic

Page 4: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

4

Systeembeheer Linux77

Linux PartitiesLinux Partities! Linux Native

" Bevat alle programma�s en bestanden van het systeem en van de gebruikers

! Linux Swap" Wordt gebruikt als swap ruimte (pagefile.sys in

windows), is standaard net iets groter dan je RAM! Extra Linux Native Partities (optioneel)

" Boot partitie met enkel de kernel " User partitie of schijf met alle user bestanden (/home)" Programma partitie (/usr)

! DOS partitie (linux op een FAT of FAT32)

Systeembeheer Linux88

BootmanagersBootmanagers! LILO: de default linux bootmanager

" TAB toets toont een lijst met keuzes of grafisch" Kan windows95/98/millenium/2k opstarten" Kan linux opstarten vanuit MBR of vanaf partitie

! Windows NT/2000" Toont keuzemenu" Kan windows95/98/millenium/2k opstarten" Kan linux opstarten vanaf een partitie

! Partitionmagic bootmanager" Toont grafische keuzemenu

Page 5: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

5

Systeembeheer Linux99

Opstarten en inloggenOpstarten en inloggen! Je krijgt LILO te zien (de bootmanager).! Normaal heeft deze een default instelling om Windows 98

op te starten. ! Je kan Windows 98 ook opstarten door �dos� te tikken.

Linux start je op door �linux� in te tikken.! Normaal krijg je na het mounten van je disks, cd-rom,...

en het opstarten van daemons een login prompt voor je naam en je paswoord.login: rootpassword: *******

Systeembeheer Linux1010

Apparaten in LinuxApparaten in Linux! Worden in de directory /dev gezet! Voorbeelden:

" hda hele eerste harddisk" hdb hele tweede harddisk of uw CDROM!" sda hele eerste SCSI harddisk" fd0 eerste floppy drive (DOS A:)" fd1 tweede floppy drive (DOS B:)" hda1 eerste primaire partitie van de eerste harddisk (Meestal

DOS C:)" hda2 tweede primaire partitie van de eerste harddisk" hda3 derde primaire partitie van de eerste harddisk

Page 6: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

6

Systeembeheer Linux1111

Aanmaken users: adduser of useraddAanmaken users: adduser of useradd! $ adduser username

Daarna geef je de nieuwe gebruiker een paswoord met:! $ passwd usernameNew password: *****Re-enter password: ******

Systeembeheer Linux1212

Verwijderen users: userdelVerwijderen users: userdel! Een gebruiker verwijderen kan je als root door hem in het

bestand /etc/passwd te verwijderen of door het commando userdel.

! $ userdel username! De directory /home/username blijft nog wel bestaan. Deze

kan je verwijderen met:! $ rm -rf /home/username

Page 7: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

7

Systeembeheer Linux1313

Linux stoppen en afzettenLinux stoppen en afzetten! Afzetten van Linux: $ halt! Je ziet dat het systeem zijn processen stopt en uiteindelijk �System Halted�

op het scherm toont. Vanaf dan mag je de computer afzetten. ! Andere stop mogelijkheden vind je hieronder:

" CTRL-Z stopt het voorgrondprogramma (soms CTRL-C)" CTRL-ALT-DEL gaat de computer rebooten (soms 2 keer)" CTRL-ALT-BACKSPACE wordt in Xwindows als ESCAPE

combinatie gebruikt. Wacht even tot alle taken gestopt zijn.! Uitloggen doe je met: $ exit! NOOIT de PC resetten of direct uitzetten, dit kan het bestandsysteem

onherroepelijk beschadigen.

Systeembeheer Linux1414

Help: manHelp: man$ man commando$ man manman(1) USER COMMANDS man(1)NAMEman - display or find manual pages by keywordSYNOPSISman [ - ][[ section ] title . . . ]man -k keyword . . .DESCRIPTIONman displays information from the on-line reference manuals.Normally, you provide the title of the man page youwant tosee. If you give a section, it applies to the titles that follow on the command line (up to the next section if any). If mancannot find a manual page, it prints an error. If you specify a keyword (-k)instead, man shows a one- line summary ofcommands related to that keyword. If the output is to a terminal, man pipes its output through more to handle paging. Ifoutput is not a terminal (or if the - flag is given) man pipes its output through cat.OPTIONSThe following options are available: -k keyword . . . mansearches the whatis database and prints all of the one-linesummaries that contain keyword.

�More�(70%)

Page 8: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

8

Systeembeheer Linux1515

Help: whatisHelp: whatis! Het commando whatis commando geeft enkel de NAME

uit de man-page. Dus enkel een éénregelige beschrijving over een commando. Voorbeeld:

! $ whatis manman(1)-display or find manual pages by keyword

! Hiervoor moet wel de whatis databank aangemaakt zijn$ makewhatis

Systeembeheer Linux1616

Help: aproposHelp: apropos! Het commando apropos keyword doorzoekt alle man pages en geeft de

NAME- regel waarin het keyword voorkomt. Voorbeeld:$ apropos timeat, batch (1)- execute a command at specified timeclock(3) - report CPU time usedcrontab(5) - tables of time to run periodic jobsprofil(2) - execution time profiletime(1) - time a commandtime(3) - get date and timetimes(3) - get process timestouch(1) - update file�s access/modification timesuptime(1) - show how long the system has been up

Page 9: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

9

Systeembeheer Linux1717

Help: infoHelp: info! Met het programma info keyword krijg je een menukeuze

voor verschillende commando�s (niet allemaal), waarvan er een info-page bestaat.

! Aanpassingen aan de opstartkeuze die je krijgt, kan je doen door het bestand /usr/info/dir aan te passen.

! Eer je info kan gebruiken in verband met een bepaald keyword, dien je wel de gegzippedte info file te hebben.(het bestand keyword.info.gz moet voorkomen in de directory /usr/info)

Systeembeheer Linux1818

Zoeken: op naam met findZoeken: op naam met find! Met find kan je zoeken naar een bestandsnaam, en daarna

een actie uitvoeren op de gevonden bestanden. find werkt ook in subdirectories. Je zal in volgorde deze 3 gegevens nodig hebben voor een find:" 1. directory waar hij moet beginnen zoeken " 2. waarnaar hij moet zoeken" 3. wat hij met de gevonden bestanden moet doen

! $ find <directory> <selectiecriterium><actie>! $ find /home/jan -name �*.doc� -print! $ find / -name �*.old� -ok rm {} \

Page 10: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

10

Systeembeheer Linux1919

Zoeken: Op inhoud met grepZoeken: Op inhoud met grep! grep staat voor �globale reguliere expressie printer� en zoekt naar bepaalde

patronen in één of meerdere bestanden in de huidige directory.! $ grep -i �Geachte Heer� *

" zoekt naar alle bestanden in de huidige directory waarin Geachte Heer voorkomt.

! Opties grep:" * meerdere tekens" ^ begin v/e regel (caret)" $ einde regel" . eender welk teken" [KMm] keuze" [A-D] reeks in een keuze" \ escape teken

! $ grep -i �computer� *.txt

Systeembeheer Linux2020

Bestanden: bestandsnamenBestanden: bestandsnamen! Lengte: Maximum 255 chars! CaSe SeNsItIvE: filename.txt <> Filename.txt! Spaties: mogen maar zijn moeilijk

" Opvangen met "" bv cd "Program Files"! Extensies zie je met ls -F:

$ ls -Fbin/ / is een directorycat.jpg gewone windows extensiesprogje* * geeft een executable aanold~ ~ geeft een backup aan

! Verborgen begint met een punt bv .bash_profile! Verboden: ? ! @ # $ % ^ & * ( ) [ ] { } ' " \ / | ; < > `

Page 11: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

11

Systeembeheer Linux2121

Bestanden: RechtenBestanden: Rechten! Onder UNIX heeft een bestand �permissies� en een eigenaar. De eigenaar

hoort bij een "groep".Bv:$ ls -l /bin/ls-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*

! Het eerste deel bevat de permissies van de file /bin/ls, daarna de eigenaar root, en de groep bin, de grootte in bytes, de datum van laatste wijziging en de naam van het bestand.

! -rwxr-xr-x betekent, van links naar rechts:" - bestandstype: - = gewone file" d = directory" l = link

! rwx zijn de permissies voor de houder van het bestand (file owner)! (read, write, execute)! r-x zijn de permissies voor de groep van de file owner (read, execute)! r-x zijn de permissies voor alle andere gebruikers (read, execute).

Systeembeheer Linux2222

Bestanden: Rechten veranderen chmodBestanden: Rechten veranderen chmod! chmod <wieXpermissie> <file>

" met wie✦ u (user of eigenaar)✦ g (group)✦ o (other)

" met X ✦ + (toelating geven)✦ - (toelating ontnemen)

" met permissie✦ r (read)✦ w (write)✦ x (execute)

Page 12: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

12

Systeembeheer Linux2323

Bestanden: chmod alternatiefBestanden: chmod alternatief! Een kortere manier om naar permissies te verwijzen en de meest gangbare bij

Unix systemen is met nummers.! rwxrw-r-- kunnen we uitdrukken als het getal 764

" Het eerste cijfer geeft de permissie van de gebruiker (u)" Het tweede cijfer geeft de permissie van de groep (g)" Het derde cijfer geeft de permissie van de anderen (o)

! Elke letter in de permissielijst heeft een numerieke waarde" r = 4, w = 2, x = 1, - = 0

! Wanneer jij zelf als gebruiker zowel read, write, als execute permissie wil hebben voor een bestand, dan geef je de gebruiker de waarde 4 (r) + 2 (w) + 1(x) = 7

! Als je de groep waarin je werkt voor een bestand read en write permissie wil geven, dan krijgt de groep de waarde 4 (r) + 2 (w) + 0 (-) = 6

! Als je de rest (others) enkel read permissie wil geven dan geef je de waarde:4 (r) + 2 (-) + 0 (-) = 4

Systeembeheer Linux2424

Bestanden: chmod voorbeeldenBestanden: chmod voorbeelden! $ chmod u+x file

Zet een execute permissie voor de file eigenaar.! $ chmod go-wx file

Verwijdert write en execute permissie voor iedereen behalve de eigenaar.

! $ chmod ugo+rwx fileGeeft iedereen read, write, en execute permissie.

! $ chmod 666 fileGeeft zowel owner, group als others r en w permissie

! $chmod 755 fileGeeft iedereen recht om je bestand uit te voeren en te lezen, maar jou enkel het schrijfrecht

Page 13: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

13

Systeembeheer Linux2525

DirectoriesDirectories! / is de root directory

" DOS: C:\JAN\PAPERS\INTRJAVA.TXT" Linux: /home/jan/papers/introduction_to_java.txt

! . huidige directory! .. parent directory! ~ home directory

Systeembeheer Linux2626

Directories: Standaard unix directoriesDirectories: Standaard unix directoriesDir Verklaring Inhoud/ Root De hoofd- of root-directory/bin Binaries Bevat de meeste programma�s/sbin Binaries Bevat de systeemprogramma�s en

systeemcommando�s/dev Devices Bevat apparatuur (HDD, FDD,...)/etc Systeem Systeemconfiguratiebestanden/home Home Bevat de home directories van alle users/lib Libraries Bevat bibliotheken van programma�s/tmp Temporary Bevat tijdelijke bestanden/usr Users Bevat programma�s en/of homedirectories

Page 14: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

14

Systeembeheer Linux2727

Commando�s: ls en cd Commando�s: ls en cd ! C:\JAN>DIR $ ls! C:\JAN>DIR FILE.TXT $ ls file.txt! C:\JAN>DIR *.H *.C $ ls *.h *.c! C:\JAN>DIR/P $ ls| more! C:\JAN>DIR/A $ ls -al! C:\JAN>CD $ pwd! n/a (geen homedirectory) $ cd! C:\JAN>CD \OTHER $ cd /other! C:\JAN>CD Program Files $ cd "Program Files"! C:\JAN>CD ..\TEMP\TRASH $ cd ../temp/trash

Systeembeheer Linux2828

Commando�s: mkdir, rm en deltreeCommando�s: mkdir, rm en deltree! C:\JAN>MD NEWPROGS $ mkdir newprogs! C:\JAN>MD \PROGS\TURBO $ mkdir /progs/turbo! C:\JAN>RD \PROGS\TURBO $ rm -r /progs/turbo! C:\JAN>DELTREE TEMP\TRASH $ rm -rf temp/trash

Page 15: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

15

Systeembeheer Linux2929

Commando�s: cp, rm en mvCommando�s: cp, rm en mv! C:\JAN>COPY JAN.TXT JAN.DOC $ cp jan.txt jan.doc! C:\JAN>DEL TEMP $ rm temp! C:\JAN>DEL *.BAK $ rm *~! C:\JAN>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/! C:\JAN>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc

Systeembeheer Linux3030

Commando�s: more, less, cat, echoCommando�s: more, less, cat, echo! C:\JAN>TYPE LETTER.TXT $ more letter.txt

$ less letter.txt! C:\JAN>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null! C:\JAN>ECHO HALLO $ echo HALLO

Page 16: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

16

Systeembeheer Linux3131

Commando�s: Pipe en redirectCommando�s: Pipe en redirect! Pipe "|": Gegevens van commando 1 doorsluizen naar

commando 2$ ls | more$ cat testfile.txt | sort | more

! Redirect "<>>": Gegevens naar een bestand schrijven" > nieuw bestand aanmaken of overschrijven

$ ls /usr/bin > testfile.txt" >> nieuw bestand aanmaken of toevoegen

$ls /usr/doc >> testfile.txt " < bestand als input gebruiken

sort < testfile.txt

Systeembeheer Linux3232

Commando�s uitvoeren en foutenCommando�s uitvoeren en fouten! Je kan verschillende commando�s op 1 lijn zetten met

een puntkomma (;)$ command1;command2 ; ... ; commandn

! Fouten opvangen kan je met 2>$ ls testfile.txt 2> fout.txtals testfile.txt niet bestaat zal hij geen fout op het scherm tonen maar in een bestand wegschrijven

Page 17: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

17

Systeembeheer Linux3333

WildcardsWildcards! * staat voor alle charactercombinaties (behalve verborgen)

" ls .* geeft alle verborgen files" ls *.* geeft enkel deze met een �.� in het midden,

gevolgd door andere karakters" ls p*r geeft zowel �peter� als �piper�" ls *c* geeft zowel �picked� als �peck�

! ? staat voor één bepaald character" ls bestand? geeft zowel �bestanda� als �bestand1�

! [] geeft een range aan voor een bepaald character" ls [a-t]*.txt geeft zowel �bestand.txt� als �t.txt�

! Te gebruiken bij ls, rm, vi, cp, ...

Systeembeheer Linux3434

MultisessionsMultisessions! Je kan met ALT-F1, ALT-F2,... verschillende sessies

tegelijk openen en meerdere taken tegelijk starten! In Xwindows gebeurt dit door CTRL-ALT-F1,

CTRL-ALT-F2, ... ! Binnen je sessie inloggen met een andere gebruiker

kan door het commando su$ su (default werkt su met root)$ password: *****

$ su jan$ password: *****

! Verlaten van een sessie doe je met exit$ exit

Page 18: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

18

Systeembeheer Linux3535

Mounten Mounten -- unmountenunmounten! Mounten betekent letterlijk "opzetten" en is bij unix

een manier om apparaten of andere computers in je directory structuur te brengen

! Mounten doe je met het commando mount. Een mount opdracht ziet er algemeen zo uit:$ mount <device><directory>

! Unmounten doe je als je een device van je systeem wil afgooien. Dit doe je met het commando umount.$ umount <directory>

Systeembeheer Linux3636

Mount voorbeeldMount voorbeeld! Mounten van een DOS (FAT32) en Linux floppy $ mount -t vfat /dev/fd0 /mnt/floppy$ mount -t ext2 /dev/fd0 /mnt/floppy

! Unmounten van de floppy:$ umount /mnt/floppy

! Mounten van een CD-ROM:$ mount -rt iso9660 /dev/cdrom/mnt/cdrom

! Mounten van een windows 98 partitie:$ mkdir /windows$ mount -t vfat /dev/hda1 /windows

Page 19: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

19

Systeembeheer Linux3737

ShellShell! Je shell is je interface met je Operating System

Er bestaan verschillende soorten shells, bij linux wordt standaard bash gebruikt

! Om de shells te zien die voorzien zijn in je linux systeem geef je het commando:$ cat /etc/shells

! Om je shell te veranderen geef je het commando:$ chshChanging the login shell for rootEnter the new value, or press return for the defaultLogin Shell [/bin/bash]: /bin/zsh

Systeembeheer Linux3838

Shell scriptsShell scripts! Je shell kan shell-scripts uitvoeren. Een script is

gewoon een uitvoerbaar tekst bestand met volgende voorwaarde opdat je het kan uitvoeren:" Het bestand moet executable zijn:$chmod +x scriptfile.sh

" De eerste regel van het bestand moet de volgende zijn:#!/bin/sh

" Opstarten met $ sh scriptfile.sh of$ ./scriptfile.sh

Page 20: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

20

Systeembeheer Linux3939

Shell scripts: vi editorShell scripts: vi editor! VI staat voor Visual Interface en is een de facto standaard

editor voor UNIX (Dit betekent dat je hem op eender welke UNIX machine kan terugvinden.)

! Om een file te bewerken of om een nieuwe file aan te maken typ je: $ vi filename

! Veel mensen hebben moeite met het gebruik van VI. Dereden hiervoor is dat het een mode editor.

! Er zijn 2 modes: " De command mode: voor bewaren / zoeken

/verwijderen" De tekst mode: voor intikken van tekst (insert) of

aanvullen (append)

Systeembeheer Linux4040

Shell scripts: vi editor command modeShell scripts: vi editor command mode! Om er absoluut zeker van te zijn dat je in de command mode zit, tik je 2x

ESC voor een commando.! De meest gebruikte commando�s:

TOETS FUNCTIE:w write file:wq write en quit file:q! quit zonder bewaren/zoekstring een �find� Door n te tikken krijg je de volgende (next)

string in de tekstx (op een char) verwijdert het karakterdd (voor een lijn) CUT van de lijny (voor een lijn) COPY van de lijnp (voor een lijn) PASTE van de lijn:!sh % uitvoeren van huidige shell script (zonder vi te

verlaten)

Page 21: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

21

Systeembeheer Linux4141

Shell scripts: vi editor tekst modeShell scripts: vi editor tekst mode! Om in tekst mode te geraken typ je de �i� van insert

ergens in de tekst. Vanaf daar kan je tekst intikken enverwijderen met backspace. Om eerder geschreven tekst te verwijderen moet je terug in command mode.

! In plaats van 'i' kan je ook de 'a' van append kiezen om karakters toe te voegen (bv aan het einde van de lijn)

! vi heeft betere versies (bv vim) die ook de delete toets en de backspace toets verstaan, waardoor je niet meer uit de tekstmode hoeft te gaan

Systeembeheer Linux4242

Shell scripts: vi problemenShell scripts: vi problemen! 1. Ik kan niets meer doen in VI:druk ESC en :q!! 2. Ik kan niet met de pijltjes bewegen in VI: Je terminal werkt niet met

VT100 arrows, pas dus je terminal instellingen aan of gebruikin command mode volgende toetsen als pijltjes:j: omlaag, k: omhoog, h: links, l: rechts

! 3. Ik wil iets bewaren, maar :wq lukt niet: Je bestand staat waarschijnlijkin read-only-mode. Als root kan je :wq! doen om toch een verandering aan een read-only bestand te bewaren.Als gewone gebruiker kan je enkel met :q! (zonder te bewaren) de vi editor verlaten.

! 4. Ik wordt zot van dat gepiep Je kan de irriterende beep in de console (nietin Xwindows) uitzetten met: set bell-style visible of je kan een andere toon kiezen (een lagere toon stoort minder) met:echo -e "\33[10;30]\33[11;50]"

! 5. Ik krijg na een insert een hele reeks dezelfde characters. Je hebt een nummer n ingetikt voordat je de i van insert of a van append tikte. vi geeft nkeer je eerst ingetikte character.

Page 22: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

22

Systeembeheer Linux4343

Shell scripts: voorbeeld met filecheckShell scripts: voorbeeld met filecheck#!/bin/sh# Author: Jan Celis# Name: scriptcheck.sh# Function: Show use of files and check existance

INPUTFILE="users.txt"if [ ! -f "$INPUTFILE" ] # Nakijken of inputfile

bestaatthen

echo " $INPUTFILE bestaat niet ! "echo " Deze bevat normaal de usernames. "exit 1

fiecho "Proficiat, $INPUTFILE bestaat!"cat $INPUTFILE

Systeembeheer Linux4444

Scripts met awkScripts met awk#!/bin/sh# Function: Maakt een directory aan voor elke user in

inputfile

BATFILE="$0.bat" # neemt automatisch scriptnaam $0INPUTFILE="users.txt"

awk -F " " \' { newdir= "e:\\users"luser = sprintf("%1s",$1) print "mkdir"newdir"\\"luser }' $INPUTFILE >> $BATFILE

Page 23: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

23

Systeembeheer Linux4545

Scripts met perlScripts met perl#!/usr/bin/perl# Function: Maakt een directory aan voor elke user in

inputfile$BATFILE=�$0.bat";$INPUTFILE="users.txt";open (INPUT, $INPUTFILE);open (OUTBAT, ">$BATFILE"); while (<INPUT>) {@field = split(/ /);$user = $field[0];print OUTBAT "mkdir c:\\users\\$user \n";

}close INPUT;close OUTBAT;

Systeembeheer Linux4646

Users en paswoorden /etc/passwdUsers en paswoorden /etc/passwd! Inloggen als root! Aanmaken van een gebruiker met commando adduser jcelis! Alle verborgen bestanden van de /etc/skel directory worden automatisch in

de homedirectory van de nieuwe gebruiker geplaatst! Je moet de gebruiker nog een paswoord toekennen: passwd jcelis! Volgende informatie van de gebruiker wordt in de /etc/passwd gezet:

login:paswoord:usrID:groupID:usr_info:logindir:usershelljcelis:DX.e29&^0gW1:123:21:Jan Celis:/usr/home:/bin/bash

! Volgende informatie van de gebruiker wordt in /etc/group geplaatst:salesgroup::21:tuser, jcelis, staplr

! Een gebruiker toevoegen of niet kan door dit bestand aan te passen

Page 24: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

24

Systeembeheer Linux4747

/etc/passwd (DES)root:PuI/O74bECYT2:0:0:root:/root:/bin/bash

/etc/passwdroot:x:0:0:root:/root:/bin/bash

/etc/shadow (DES)root: PuI/O74bECYT2:10904:0:99999:7:::

/etc/passwdroot:x:0:0:root:/root:/bin/bash

/etc/shadow (MD5)root:$1$QxR5/5pX$p1F2FXHbL3CP2W84pItMh1: 10915:0:99999:7:::134549468

User passwords: password files in UnixUser passwords: password files in Unix

Systeembeheer Linux4848

User passwords: User passwords: /etc/passwd en /etc/shadow/etc/passwd en /etc/shadow! /etc/passwd

" adduser" userdel

! /etc/shadow" useradd" usermod" userdel (verwijdert ook homedir!)" pwck

✦ vergelijkt /etc/passwd en /etc/shadow op aantal

" grpck✦ vergelijkt /etc/group met /etc/gshadow op aantal

Page 25: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

25

Systeembeheer Linux4949

User informatie: fingerUser informatie: finger! Het commando finger username geeft extra informatie

over een gebruiker! Een volledige naam van een gebruiker, en extra

informatie zoals bijvoorbeeld een telefoonnummer kan je aanpassen met het commando chfn username

$ chfn jcelisChanging finger information for jcelisName [RHS Linux User]: Jan A. CelisOffice []:M105Office Phone []:Home Phone []:Finger information changed.

Systeembeheer Linux5050

User veranderen: suUser veranderen: su! Met het commando su username kan je zonder je

sessie te verlaten inloggen als een andere gebruiker.! bv su jcelis! Meestal wordt het gebruikt om even wat taken uit te

voeren als root. Su staat eigenlijk voor "superuser".$ su rootpasswd: ******

! Alle pogingen om met su in te loggen worden gelogd in /var/adm/syslog

! newgrp groupnaam zonder je sessie te verlaten inloggen als iemand van een andere groep

Page 26: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

26

Systeembeheer Linux5151

Users bekijken met who / whoamiUsers bekijken met who / whoami! whoami

voor personen die alle banden met de realiteit verloren zijn

! who -ugeeft alle gebruikers die ingelogd zijn in het systeem$ who -uroot tty01 Oct 10 09:35 R1.10dsmedt ttyp1 Oct 10 13:20 R1.11jcelis ttyp0 Oct 10 08:36 RK14

Systeembeheer Linux5252

User als onderdeel van een groupUser als onderdeel van een group! Elke user behoort tot een group, default behoort een

gebruiker tot een groep met enkel zichzelf! groupadd studenten

" aanmaken nieuwe groep! usermod -g studenten jcelis

" toevoegen van een gebruiker aan een groep! chgrp users mijnscript.pl

" veranderen van een group bij een bestand

Page 27: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

27

Systeembeheer Linux5353

User als owner van een bestandUser als owner van een bestand! Met het commando chown kan je de eigenaar van een

bestand veranderen. Dit kan je bijvoorbeeld nodig hebben wanneer je een bestand toegankelijk moet maken voor de webserver (= user nobody)

! ls -l-rwxr-xr-x 1 jcelis users 14 Oct 21 19:20 mijnscript.pl

! chown nobody mijnscript.pl! ls -l

-rwxr-xr-x 1 nobody users 14 Oct 21 19:20 mijnscript.pl

Systeembeheer Linux5454

Umask: default permissiesUmask: default permissies! Met het commando umask kan je default permissies

instellen voor gebruikers die niet echt op hun rechten letten

! De waarden bij umask zijn tegengesteld aan de chmod waarden. Ze geven aan wat je NIET mag doen.Ze gelden voor alle nieuwe bestanden en directories in de toekomst

! Standaard staat deze op 022! umask 027

Page 28: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

28

Systeembeheer Linux5555

Security PAMSecurity PAM! PAM Pluggable Authentication Module! Functies:

" voert de authentificatie uit" paswoorden van gebruikers nakijken (bv opleggen min

7 chars + 1 cijfer, geen woordenboekwoord,...)" uren dat gebruikers inloggen nakijken" vastleggen van programma's die de gebruiker mag

benutten! Kan je instellen in de directory /etc/pam.d/

Systeembeheer Linux5656

Afzetten van een gebruikerssysteemAfzetten van een gebruikerssysteem! Met het commando shutdown kan je een systeem met

gebruikers afzetten of herstarten. Due gebruikers krijgen eerst een berichtje eer shutdown actief wordt.

! Opties" tijd (verplichte optie)

✦ hh:mm absolute tijd✦ +m relatieve tijd (over m minuten)✦ now nu direct

" -r (reboot) herstarten van de machine" -h (halt) afzetten van de machine" berichtje

! Bv shutdown �r +5 "Het systeem wordt herstart, gelieve uw programma's af te sluiten"

Page 29: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

29

Systeembeheer Linux5757

Linux & Windows: Samba serviceLinux & Windows: Samba service! Met samba simuleer je alsof een Linux systeem een

windows systeem is en kan je:" een Linux bestandssysteem/printer delen met een

Windows client" een Windows bestandssysteem/printer gebruiken op

een Linux systeem! in het bestand /etc/smb.conf kan je de samba service

configureren! de instellingen kan je testen met het commando

testparm

Systeembeheer Linux5858

Samba: smbclient en smbmountSamba: smbclient en smbmount! Het programma smbclient kan je gebruiken om alle

windows shares weer te geven" smbclient -L -I server.kdg.be

✦ L=list, I= DNS naam gebruiken

! Om te connecteren om even een bestand over te zetten" smbclient �\\WORKGROUP\SHARENAME� -I

server.kdg.be -U jcelis! Om een constante verbinding open te zetten

" smbmount �\\WORKGROUP\SHARENAME�/mnt/sharedrive -I server.kdg.be -U jcelis%passw

" smbumount /mnt/sharedrive

Page 30: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

30

Systeembeheer Linux5959

Uitvoeren om bepaalde tijden: crontabUitvoeren om bepaalde tijden: crontab! crontab crontab.txt start op gedefinieerde tijden steeds

opnieuw bepaalde commando's! Het bestand bevat 6 velden:

" minuten (00�59), uren (00�23)" dag v/d maand (01�31), maand i/h jaar (01�12)" dag v/d week (0�6, met 0 = Zondag)" het op te starten commando

! Met bijvoorbeeld in het bestand crontab.txt0,20,40 * * * 1-5 calendarstart om de 20 minuten tijdens weekdagen calendar op

! crontab -r verwijdert commando, crontab -l geeft lijst

Systeembeheer Linux6060

Uitvoeren op bepaalde tijd: atUitvoeren op bepaalde tijd: at! Het at commando voert op een bepaald tijdstip

éénmalig een commando uitat now + 1 daybackup.sh

! Meestal wordt dit vanuit een shell script opgestart. Je kan dan meerdere commando's na elkaar opgeven.#!/bin/shat 1:23lp /usr/jcelis/doc/*echo "Documenten werden afgedrukt" | mail -s�Afgedrukt� jcelis" print om 1 uur 23 alle documentenen mailt dit door

Page 31: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

31

Systeembeheer Linux6161

Alias:afkorten van commando'sAlias:afkorten van commando's! alias laat toe om een commando, of een reeks

commando's te vervangen door een afkorting! alias dir=�ls -al�

" geeft alle bestanden in lange lijst! alias floppy ="umount /mnt/floppy; mount -t vfat /dev/fd0

/mnt/floppy"" mount een floppy

! alias cd..="cd .."" voorziet zoals in dos cd.. zonder spatie (cd_..)

Systeembeheer Linux6262

Processen in voorgrond: ps en killProcessen in voorgrond: ps en kill! ps toont de lijst met processen

" $ ps -A toont alle processen met PID

! kill stopt een proces" $ kill 1523" $ kill -9 <PID>

zware, unconditional kill, een proces wordt sowieso afgemaakt, ookal wil het niet (zie verder bij nohup)

Opmerking:Eerst de eerste optie proberen (een messteek), als dat niet

werkt pas de bazooka (-9) bovenhalen!

Page 32: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

32

Systeembeheer Linux6363

Processen in achtergrond: jobs en &Processen in achtergrond: jobs en &! Een proces in achtergrond noemt men een job

" Starten van een proces in achtergrond kan je door een & achter het commando te plaatsen

" $ backup.sh &! Om de achtergrondprocessen te bekijken gebruik je

het commando jobs" $ jobs

! Een job kan je killen door de jobID te killen" kill <jobID>

Systeembeheer Linux6464

Processen die blijven lopen: nohupProcessen die blijven lopen: nohup! Met het commando nohup kan je een programma

opstarten dat blijft draaien, ookal log je uit of wordt je modem/terminal verbinding verbroken.Om ook nog in achtergrond te draaien voeg je nog extra een & toe

! bv nohup backup.sh &! Met het commando screen kan je gelijkaardige dingen

uithalen

Page 33: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

33

Systeembeheer Linux6565

Netwerk computers: /etc/hostsNetwerk computers: /etc/hosts! /etc/hosts Bevat ip adres en naam van hosts in je

netwerk (of zelfs buiten je netwerk)Is belangrijk als deze hosts willen telnetten naar je computer (anders is er een vertraging van 1 minuut!)

! Heeft minimum het loopback adres127.0.0.1 localhost

! En het ip adres van de computer192.168.1.1 linux1.kdg.be linux1

! Eventueel andere adressen (zodat geen DNS server moet gecontacteerd worden)192.168.1.21 client1.kdg.beclient1192.168.1.22 client2.kdg.beclient2

Systeembeheer Linux6666

Netwerk: netwerken in /etc/networksNetwerk: netwerken in /etc/networks! /etc/networks bevat alle gekende netwerken waarin je

linux staat! Heeft minimum het loopback netwerk adres

localnet 127.0.0.0! Het netwerk adres van je computer/andere netwerken

netwerk1 192.168.1netwerk2 192.168.2

Page 34: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

34

Systeembeheer Linux6767

Netwerk: connectie nakijken met pingNetwerk: connectie nakijken met ping! Met ping kijk je de drie onderste lagen van het OSI

model na. Als een ping lukt is:" je fysische laag in orde (kabel is ok)" de datalinklaag in orde (dus driver netwerkkaart in

orde) " de netwerklaag (IP laag) in orde (dus je ip adres is

juist ingesteld en de TCP/IP driver werkt)

! $ ping 172.16.1.10Pingen naar 172.16.1.10 met 32 byte gegevens:Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128

Systeembeheer Linux6868

Netwerk: netwerkaartconfig met ifconfigNetwerk: netwerkaartconfig met ifconfig! Met ifconfig kan je de status aanpassen van je

netwerkkaart(en) én instellingen vervangen

" ifconfig -ageeft alle instellingen van je kaart

" ifconfig eth0 linux1 broadcast 19.168.1.255 netmask 255.255.255.0stelt een ip adres/ netmask in

Page 35: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

35

Systeembeheer Linux6969

Netwerk: route bepalen met routeNetwerk: route bepalen met route! Met commando route kan je statische routes(wegen)

opgeven naar bepaalde doeladressen, het stelt dus gewoon de weg in waar pakketten naar gestuurd moeten worden" route -n

toont de routing tabel" route add server.kdg.be

route add default gw server.kdg.bestelt als gateway server in

" route add -net 192.168.1.2 gw server.kdg.bestelt als gateway voor netwerk 2 server in

Systeembeheer Linux7070

Netwerk: Statistieken met netstatNetwerk: Statistieken met netstat! Met netstat kan je allerlei data opvragen van

connecties met je netwerkkaart! netstat -i

" alle actieve interfaces! netstat -o

" alle actieve internet connecties

Page 36: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

36

Systeembeheer Linux7171

Netwerk: /etc/resolv.confNetwerk: /etc/resolv.conf! /etc/resolv.conf geeft de volgorde aan waar je

computer moet gaan zoeken naar een andere (onbekende) computerdomain kdg.benameserver 192.168.1.1 192.168.1.2

Systeembeheer Linux7272

Netwerk: (anonymous) ftpNetwerk: (anonymous) ftp$ ftp ftp.kdg.beftp.kdg.be (login:jcelis): anonymousPassword: [email protected] filename.txtquit

$ ftp ftp.kdg.beftp.kdg.be (login:jcelis): jcelisPassword: *******put file2.txtbinaryget program.exequit

Page 37: Systeembeheer op Linux - Telenet.beusers.telenet.be/reinehr/linuxsys.pdf · Mandrake (zeer gebruiksvriendelijke, Windows achtige installatie) 4 Systeembeheer Linux Linux stabiele

[email protected]

37

Systeembeheer Linux7373

Netwerk: telnet en sshNetwerk: telnet en ssh$ telnet server.kdg.beLogin: jcelisPassword: *******$ ls -lexit

$ ssh server.kdg.beLogin: jcelisPassword: *******$ ls -lexit! Opmerking: ssh is geëncrypteerd en telnet plain ASCII