Systeembeheer op Linux



Vergelijkbare documenten
Basis UNIX commando's - overzicht

Keuzevak Linux - Week 2

Unix Console Gebruik

Linux Server Installatie

Inhoud. A Eskwadraat Linuxcursus UNIX. GNU/Linux. Slackware. Red Hat. GNU/Linux Bestanden Thuiswerken Shell Editors Opdracht.

studievaardigheden studentassistent: Alice de Vries werkcollege / practicum

ISW Presents Debian Homeserver Workshop

Aandachtspunten voor installatie suse in vmware server

De Linux Boom structuur

vroeger: 15 jaar unix systeem beheer/software development en 5 jaar infrastructuur architect (unix/blades)

Introduction to Compgenomics Part II. Lee Katz January 13, 2010

Huiswerk Linux: Apache groepsrechten

Windows Command Prompt

Knoppix kookboek 3.2. Dualboot Windows XP met Knoppix 3.2 op 1 hardeschijf

Zelftest UNIX/Linux basiscursus

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server

Chapter 4. eenvoudige webserver opzetten

Korte uitleg: Wie mag wat met welk bestand

Knoppix Kookboek 3.2. voor hardeschijf installatie alleen Knoppix3.2. door Wim Hegeman.

Linux Quickstart Cygwin

How To: Setup MGE Network Shutdown Module V3 op het service console binnen VMware ESX 3.0.2

Huiswerk Linux: installatie mod_auth_pam

We beginnen met een strikvraag: Welk van de volgende zijn bestanden?

TIRLNX01. Keuzevak Linux Vragen. Auteurs: Kevin van der Vlist Gedoceerd te: Hogeschool Rotterdam Vestiging Academieplein

Erik Poll Martijn Warnier.

Ubuntu : gebruikers en bestandsbeheer

Het leven na de installatie 2006

Linux Server Installatie

I BASH. Johan Adriaans

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Linux Quickstart Cygwin via HTTP

Analyse probleem remote execution

schoollan Post Installatie Handleiding

MS Virtual pc 2007 Handleiding

Knoppix kookboek 3.2. dual-boot Knoppix (Linux) en Windows98 op 1 harde schijf door Wim Hegeman.

Solcon Online Backup. Aan de slag handleiding voor Linux

Gebruik van command-line operating systems

1 Installatie van de server... 2

Installeren van het programma:

Installatie Software - Opdrachten Les 2

We gebruiken de Knoppix cd-rom versie 3.3. van de HCC Unix-gg. Je kunt hem bestellen bij de HCC-unix gg zie:

Tutorial voor FTP, STMP en Telnet

Zelftest UNIX/Linux basiscursus

Huiswerk Linux: Installatie phpmyadmin

Linux Quickstart Cygwin via HTTP

Korte uitleg: Mounten van filesystemen

Linux in de computerklas

Introductie UNIX voor A2/PC

Multiboot systeem maken

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

ClockWise 3.0 installatie handleiding

Overzicht. Tekstmanipulatie. Doel van de cursus. Doel van de cursus. Tekstmanipulatie: tekst automatisch bewerken en onderzoeken. Waarom Linux?

Printen met Vector Linux 4.3

Cursus Linux versie 2.1

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Freesco setup met de kabel (Chello) versie 0.3.0

Gentoo linux. Introductie. Gentoo is anders. LinuxFocus article number door Guido Socher (homepage) Over de auteur:

Multi user Setup. Firebird database op een windows (server)

Howto make Exim work with Freesco 0.2.7

Knoppix Kookboek 3.7. dual-boot installatie van Knoppix 3.7. en Windows XP op één harde schijf

Denit Backup instellen op een Linux server

Prullenbak ledigen via terminal

IPFire: Firewall en primary domain controller

Werken met het DOS commando Fdisk

+XLVZHUN:LQGRZV$SDFKHLQVWDOODWLH

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar

Introductie UNIX/Linux

Labo 4 : Installatie Windows XP Professional Edition

Installatie Windows Server 2003 UK Standard Edition

Automagisch installeren van OES en SLES. Frank Korpershoek Jeroen Bannink

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

Bestandssystemen. yvan vander sanden. 16 maart 2015

Installatie Windows XP Professional Edition

Configureren van een VPN L2TP/IPSEC verbinding

HOWTO: Configuratie van Samba als PDC

XAMPP Web Development omgeving opzetten onder Windows.

Samba installeren en configureren

Netwerkprinter Dell 1320C installeren op Ubuntu LTS - Lucid Lynx

UBUNTU 8 installatie. 13/10/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen

Hoe een USB schijf (stick, harde schijf) leegmaken vanuit de terminal

Veel gestelde vragen nieuwe webloginpagina

Inhoudsopgave: Whisper380-computerhulp

LINUX QUICKSTART... 1

5/5 Red Carpet. 5/5.1 Inleiding

Bestand: /home/karel/scripts/nas Pagina 1 van 8

Oefening 1: hardware block devices (zoals harde schijven) herkennen

Configureren van een VPN L2TP/IPSEC verbinding. In combinatie met:

Korte uitleg: Mounten van filesystemen door de desktopgebruiker

HANDLEIDING. IPv6 implementatie op een DirectAdmin server met CentOS

Propa e d e u s e taak 2

Programma's installeren in Linux (toegespitst op Kanotix; Debian/sid)

Linux. Linux lezing 13 april 2005 Marcel Nijenhof Note: De slechste vragen zijn niet gestelde vragen

End-user handleiding voor Virtualmin Handleiding gemaakt door Digibel BVBA Copyright 2010 Digibel BVBA

De polling is er nu dan ook in een service variant en kan dus in plaats van de normale polling gebruikt worden.

Planbord installatie instructies

1. BIOS. In de setup wordt aangegeven waar de bootsector is. Na de BIOS wordt de Bootsector gelezen en uitgevoerd. 2. BOOTSECTOR

Xampp Web Development omgeving opzetten onder Windows.

Inloggen SAP Selfservice FWN

Router configuratie. Vervolgens pak je een werkplek (het liefst win 98 + ie 6.1 ) Start de pc op en zorg dat Illusion wordt gedeactiveerd.

Transcriptie:

Systeembeheer op Linux Inleiding 1 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) 2 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) 3 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 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! 5 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 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 6 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) 7 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 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: ******* 9 Apparaten 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 10 5

Aanmaken users: adduser of useradd! $ adduser username Daarna geef je de nieuwe gebruiker een paswoord met:! $ passwd username New password: ***** Re-enter password: ****** 11 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 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. 13 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 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 15 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 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) 17 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 <directory> <selectiecriterium><actie>! $ find /home/jan -name *.doc -print! $ find / -name *.old -ok rm {} \ 18 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 19 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 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). 21 Bestanden: 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) 22 11

Bestanden: chmod alternatief 23! 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 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 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 25 Directories: Standaard unix directories Dir 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 26 13

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 27 Commando 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 28 14

Commando s: cp, rm en mv! C:\JAN>COPY JAN.TXT JAN.DOC $ cp jan.txt jan.doc! C:\JAN>DEL TEMP $ rmtemp! 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 29 Commando 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 30 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 31 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 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,... 33 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 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><directory>! Unmounten doe je als je een device van je systeem wil afgooien. Dit doe je met het commando umount. $ umount <directory> 35 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 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 37 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 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) 39 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: 40 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 tekst x (op een char) verwijdert het karakter dd (voor een lijn) CUT van de lijn y (voor een lijn) COPY van de lijn p (voor een lijn) PASTE van de lijn :!sh % uitvoeren van huidige shell script (zonder vi te verlaten) 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 41 Shell scripts: vi problemen 42! 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. 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 43 Scripts met awk #!/bin/sh # Function: Maakt een directory aan voor elke user in inputfile BATFILE="$0.bat" # neemt automatisch scriptnaam $0 INPUTFILE="users.txt" awk -F " " \ ' { newdir= "e:\\users" luser = sprintf("%1s",$1) print "mkdir"newdir"\\"luser }' $INPUTFILE >> $BATFILE 44 22

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 (<INPUT>) { @field = split(/ /); $user = $field[0]; print OUTBAT "mkdir c:\\users\\$user \n"; } close INPUT; close OUTBAT; 45 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 23

User passwords: password files in Unix /etc/passwd (DES) root:pui/o74becyt2:0:0:root:/root:/bin/bash /etc/passwd root:x:0:0:root:/root:/bin/bash /etc/shadow (DES) root: PuI/O74bECYT2:10904:0:99999:7::: /etc/passwd root:x:0:0:root:/root:/bin/bash /etc/shadow (MD5) root:$1$qxr5/5px$p1f2fxhbl3cp2w84pitmh1: 10915:0:99999:7:::134549468 47 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 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. 49 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 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 51 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 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 53 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 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/ 55 Afzetten van een gebruikerssysteem 56! 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" 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 57 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 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 59 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 " print om 1 uur 23 alle documenten en mailt dit door 60 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_..) 61 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 <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! 62 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> 63 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 32

Netwerk computers: /etc/hosts 65! /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 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 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 67 Netwerk: netwerkaartconfig met ifconfig! Met ifconfig kan je de status aanpassen van je netwerkkaart(en) én instellingen vervangen " 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 68 34

Netwerk: route bepalen met route 69! 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 Netwerk: 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 70 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 71 Netwerk: (anonymous) ftp $ ftp ftp.kdg.be ftp.kdg.be (login:jcelis): anonymous Password: jcelis@kdg.be get filename.txt quit $ ftp ftp.kdg.be ftp.kdg.be (login:jcelis): jcelis Password: ******* put file2.txt binary get program.exe quit 72 36

Netwerk: telnet en ssh $ telnet server.kdg.be Login: jcelis Password: ******* $ ls -l exit $ ssh server.kdg.be Login: jcelis Password: ******* $ ls -l exit! Opmerking: ssh is geëncrypteerd en telnet plain ASCII 73 37