systeembeheer op linux - telenet.beusers.telenet.be/reinehr/linuxsys.pdf · mandrake (zeer...
TRANSCRIPT
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)
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.
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
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
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
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
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%)
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
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 {} \
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: ? ! @ # $ % ^ & * ( ) [ ] { } ' " \ / | ; < > `
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)
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
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
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
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
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
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
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
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
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)
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.
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
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
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
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
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
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
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"
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
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
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!
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
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
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
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
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
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