1 Systeembeheer op Linux Inleiding 1 Overzicht Linux netwerkbeheer I! Linux distributies/ kernels! Help /Zoeken (man, info, apropos, whatis, find,grep...
Overzicht Linux netwerkbeheer I ! ! ! ! ! ! ! ! ! ! 2
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) Systeembeheer Linux
1
Enkele 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 Linux
Linux 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.
4
Systeembeheer Linux
2
Gebruik 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!
Installatie- Aanmaken 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 Fstation 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
6
Systeembeheer Linux
3
Linux 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 Linux
Bootmanagers ! 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 8
Systeembeheer Linux
4
Opstarten 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: root password: *******
Apparaten in Linux ! Worden in de directory /dev gezet ! Voorbeelden: " " " " " "
" "
10
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
Systeembeheer Linux
5
Aanmaken users: adduser of useradd ! $ adduser username Daarna geef je de nieuwe gebruiker een paswoord met: ! $ passwd username New password: ***** Re-enter password: ******
Verwijderen 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
12
Systeembeheer Linux
6
Linux 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.
Help: man $ man commando $ man man man(1) USER COMMANDS man(1) NAME man - display or find manual pages by keyword SYNOPSIS man [ - ][[ section ] title . . . ] man -k keyword . . . DESCRIPTION man displays information from the on-line reference manuals.Normally, you provide the title of the man page youwant to see. If you give a section, it applies to the titles that follow on the command line (up to the next section if any). If man cannot find a manual page, it prints an error. If you specify a keyword (-k)instead, man shows a one- line summary of commands related to that keyword. If the output is to a terminal, man pipes its output through more to handle paging. If output is not a terminal (or if the - flag is given) man pipes its output through cat. OPTIONS The following options are available: -k keyword . . . man searches the whatis database and prints all of the one-line summaries that contain keyword. —More—(70%)
14
Systeembeheer Linux
7
Help: whatis ! Het commando whatis commando geeft enkel de NAME uit de man-page. Dus enkel een éénregelige beschrijving over een commando. Voorbeeld: ! $ whatis man man(1)-display or find manual pages by keyword ! Hiervoor moet wel de whatis databank aangemaakt zijn $ makewhatis
Help: apropos ! Het commando apropos keyword doorzoekt alle man pages en geeft de NAME- regel waarin het keyword voorkomt. Voorbeeld: $ apropos time at, batch (1)- execute a command at specified time clock(3) - report CPU time used crontab(5) - tables of time to run periodic jobs profil(2) - execution time profile time(1) - time a command time(3) - get date and time times(3) - get process times touch(1) - update file’s access/modification times uptime(1) - show how long the system has been up
16
Systeembeheer Linux
8
Help: 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)
Zoeken: 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 <selectiecriterium> ! $ find /home/jan -name “*.doc” -print ! $ find / -name “*.old” -ok rm {} \ 18
Systeembeheer Linux
9
Zoeken: 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 "
Bestanden: 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 -F bin/ / is een directory cat.jpg gewone windows extensies progje* * geeft een executable aan old~ ~ geeft een backup aan ! Verborgen begint met een punt bv .bash_profile ! Verboden: ? ! @ # $ % ^ & * ( ) [ ] { } ' " \ / | ; < > ` 20
Systeembeheer Linux
10
Bestanden: 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 Linux
Bestanden: Rechten veranderen chmod ! chmod <wieXpermissie> " met wie ✦ u (user of eigenaar) ✦ g (group) ✦ o (other) "
met X ✦ + (toelating geven) ✦ - (toelating ontnemen)
"
met permissie ✦ r (read) ✦ w (write) ✦ x (execute)
22
Systeembeheer Linux
11
Bestanden: 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 Linux
Bestanden: 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 file Geeft iedereen read, write, en execute permissie. ! $ chmod 666 file Geeft zowel owner, group als others r en w permissie ! $chmod 755 file Geeft iedereen recht om je bestand uit te voeren en te lezen, maar jou enkel het schrijfrecht 24
Systeembeheer Linux
12
Directories ! / is de root directory " DOS: C:\JAN\PAPERS\INTRJAVA.TXT " Linux: /home/jan/papers/introduction_to_java.txt ! . huidige directory ! .. parent directory ! ~ home directory
Inhoud De hoofd- of root-directory Bevat de meeste programma’s Bevat de systeemprogramma’s en systeemcommando’s Bevat apparatuur (HDD, FDD,...) Systeemconfiguratiebestanden Bevat de home directories van alle users Bevat bibliotheken van programma’s Bevat tijdelijke bestanden Bevat programma’s en/of homedirectories
$ more letter.txt $ less letter.txt $ cat letter.txt > /dev/null $ echo HALLO
Systeembeheer Linux
15
Commando’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 Linux
Commando’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.txt als testfile.txt niet bestaat zal hij geen fout op het scherm tonen maar in een bestand wegschrijven
32
Systeembeheer Linux
16
Wildcards ! * 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 Linux
Multisessions ! 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
34
Systeembeheer Linux
17
Mounten - unmounten ! 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> ! Unmounten doe je als je een device van je systeem wil afgooien. Dit doe je met het commando umount. $ umount
Mount 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 36
Systeembeheer Linux
18
Shell ! 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: $ chsh Changing the login shell for root Enter the new value, or press return for the default Login Shell [/bin/bash]: /bin/zsh Systeembeheer Linux
Shell 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 38
Systeembeheer Linux
19
Shell 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. De reden 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 Linux
Shell 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 :w :wq :q! /zoekstring x (op een char) dd (voor een lijn) y (voor een lijn) p (voor een lijn) :!sh % 40
FUNCTIE write file write en quit file quit zonder bewaren een “find” Door n te tikken krijg je de volgende (next) string in de tekst verwijdert het karakter CUT van de lijn COPY van de lijn PASTE van de lijn uitvoeren van huidige shell script (zonder vi te verlaten) Systeembeheer Linux
20
Shell 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 en verwijderen 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
Shell 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 gebruik in 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 waarschijnlijk in 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 (niet in 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 n keer je eerst ingetikte character. 42
Systeembeheer Linux
21
Shell 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 bestaat then echo " $INPUTFILE bestaat niet ! " echo " Deze bevat normaal de usernames. " exit 1 fi echo "Proficiat, $INPUTFILE bestaat!" cat $INPUTFILE Systeembeheer Linux
Scripts 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 () { @field = split(/ /); $user = $field[0]; print OUTBAT "mkdir c:\\users\\$user \n"; } close INPUT; close OUTBAT; Systeembeheer Linux
Users 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:usershell jcelis: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
46
Systeembeheer Linux
23
User passwords: password files in Unix /etc/passwd (DES) root:PuI/O74bECYT2:0:0:root:/root:/bin/bash
User passwords: /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
48
Systeembeheer Linux
24
User 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 jcelis Changing finger information for jcelis Name [RHS Linux User]: Jan A. Celis Office []:M105 Office Phone []: Home Phone []: Finger information changed. Systeembeheer Linux
User 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 root passwd: ****** ! 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 50
Systeembeheer Linux
25
Users bekijken met who / whoami ! whoami voor personen die alle banden met de realiteit verloren zijn ! who -u geeft alle gebruikers die ingelogd zijn in het systeem $ who -u root tty01 Oct 10 09:35 R1.10 dsmedt ttyp1 Oct 10 13:20 R1.11 jcelis ttyp0 Oct 10 08:36 RK14
User 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
52
Systeembeheer Linux
26
User 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
Umask: 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
54
Systeembeheer Linux
27
Security 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/
Afzetten 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 ✦ +m ✦ now
absolute tijd relatieve tijd (over m minuten) 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" "
56
Systeembeheer Linux
28
Linux & 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
Samba: 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 58
Systeembeheer Linux
29
Uitvoeren 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.txt 0,20,40 * * * 1-5 calendar start om de 20 minuten tijdens weekdagen calendar op ! crontab -r verwijdert commando, crontab -l geeft lijst Systeembeheer Linux
Uitvoeren op bepaalde tijd: at ! Het at commando voert op een bepaald tijdstip éénmalig een commando uit at now + 1 day backup.sh ! Meestal wordt dit vanuit een shell script opgestart. Je kan dan meerdere commando's na elkaar opgeven. #!/bin/sh at 1:23 lp /usr/jcelis/doc/* echo "Documenten werden afgedrukt" | mail s”Afgedrukt” jcelis "
60
print om 1 uur 23 alle documenten en mailt dit door Systeembeheer Linux
30
Alias: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_..)
Processen 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 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! 62
Systeembeheer Linux
31
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>
Processen 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
64
Systeembeheer Linux
32
Netwerk 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 adres 127.0.0.1 localhost ! En het ip adres van de computer 192.168.1.1 linux1.kdg.be linux1 ! Eventueel andere adressen (zodat geen DNS server moet gecontacteerd worden) 192.168.1.21 client1.kdg.beclient1 192.168.1.22 client2.kdg.beclient2 Systeembeheer Linux
Netwerk: 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.1 netwerk2 192.168.2
66
Systeembeheer Linux
33
Netwerk: 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.10 Pingen naar 172.16.1.10 met 32 byte gegevens: Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128 Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128 Antwoord van 172.16.1.10: bytes=32 time<10ms TTL=128 Systeembeheer Linux
Netwerk: netwerkaartconfig met ifconfig ! Met ifconfig kan je de status aanpassen van je netwerkkaart(en) én instellingen vervangen "
"
68
ifconfig -a geeft alle instellingen van je kaart ifconfig eth0 linux1 broadcast 19.168.1.255 netmask 255.255.255.0 stelt een ip adres/ netmask in
Systeembeheer Linux
34
Netwerk: 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.be stelt als gateway server in " route add -net 192.168.1.2 gw server.kdg.be stelt als gateway voor netwerk 2 server in Systeembeheer Linux
Netwerk: Statistieken met netstat ! Met netstat kan je allerlei data opvragen van connecties met je netwerkkaart ! netstat -i alle actieve interfaces ! netstat -o "
"
70
alle actieve internet connecties
Systeembeheer Linux
35
Netwerk: /etc/resolv.conf ! /etc/resolv.conf geeft de volgorde aan waar je computer moet gaan zoeken naar een andere (onbekende) computer domain kdg.be nameserver 192.168.1.1 192.168.1.2