A Report On Linux Server Concepts Computer Science Essay

Published:

De lancering van Ubuntu werd eerst in september 2004 aangekondigd. Hoewel een relatieve nieuwkomer naar de Linux wereld, startte het project als geen ander. De email lijsten vulde snel met discussies door gretige gebruikers en enthousiaste ontwikkelaars.

In de jaren daarna groeide Ubuntu uit tot de meest populaire Linux Desktop distributie. En heeft veel bijgedragen aan de markt van Easy-to-use en free desktop besturing systemen.
Ubuntu heeft zich zeer goed bewezen ten opzichte van andere distributies die op de markt zijn.

Pluspunten:

vaste datum voor releases en support periode, veel documentatie, in enterprise en gebruikers versie te verkrijgen. Minpunten: sommige software voor Ubuntu is eigen software (bijv. Rosetta), mist compatibiliteit met Debian. Verkrijgbare edities: Ubuntu, Kubuntu, Xubuntu, Ubuntu Studio, Mytbuntu en Ubuntu Server

openSUSE

SuSE, uitgesproken als zu zee, was oorspronkelijk een Duitse vertaling van Slackware, maar groeide later uit tot een zelfstandige distributie. Oorspronkelijk heette het systeem S.u.S.E., dat later ingekort werd tot SuSE, een acroniem van de Duitse term Software- und SystemEntwicklung (software- en systeemontwikkeling), alhoewel ook wel gedacht wordt dat de naam SuSE ontleend is aan de Duitse computerpionier Konrad Zuse. In januari 2004 werd het bedrijf overgenomen door het Amerikaanse computerbedrijf Novell. De naam SuSE werd veranderd in SUSE Linux, wat officieel geen speciale betekenis meer heeft.

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

Pluspunten: Veel uitgebreide configuratie tools, veel beschikbare pakketten, goede en duidelijke documentatie website
Minpunten: is een zware desktop versie door de video-effecten

Fedora

Het project Fedora is de directe opvolger van de niet-commerciële versie van de Red Hat Linux-distributie. Red Hat besloot in 2003 zich volledig te richten op de zakelijke markt. De ontwikkeling van de variant voor thuisgebruikers werd verplaatst naar de gemeenschap (dat proces is overigens nog steeds bezig). Fedora Core 1 werd de nieuwe naam voor de opvolger van Red Hat Linux 9. De commerciële Linuxdistributie die hieruit voortkwam heet Red Hat Enterprise Linux (RHEL) en is op Fedora gebaseerd.

Pluspunten: Hele goede beveiligingsopties, veel ondersteunde pakketten beschikbaar
Minpunten: Fedora geeft de prioriteit aan het ontwikkelen van de Enterprise versie, slecht bruikbaar als desktop

Mandriva

Mandriva is de naam van het Franse softwarebedrijf dat voorheen Mandrakesoft heette, voordat het met het Braziliaanse Connectiva fuseerde. Het belangrijkste product van Mandriva is Mandriva Linux.

Pluspunten: zeer geschikt voor de Linux beginner, goede configuratie mogelijkheden, goede support voor vele talen
Minpunten: heeft een slechte commerciële achtergrond in vergelijking met andere distro's

Ubuntu

openSuse

Fedora

Mandriva

Gebruiksvriendelijke omgeving

++

++

+

++

Snelheid

++

+

++

+

Gebruikersvoorkeuren

+

++

+

++

Redundantie

++

++

+

+

Stabiliteit

++

++

+

++

Support

+

+

++

++

Compatibiliteit (Hardware)

+

++

++

++

Totaal score

11

12

10

12

Opdracht 3

De volgende eisen zijn er gesteld aan onze beheersbare server:

- Webserver (Apache en PHP)

- Beheer op afstand (SSH en PHPmyAdmin)

- Database server (MySQL)

Het server operation system is vastgesteld op Debian 5.04.

De installatie van Debian is menugestuurd. De setup stuurt je met behulp van de wizard door de menu's heen om zo de server juist te configureren.

Stap 1

Start de installatie door vanaf de ISO file of CD op te starten. Kies daarna voor de optie Install.

Stap 2

Selecteer de installatie taal.

Stap 3

Kies een computernaam voor de server. In dit geval kiezen we voor de standaard naam, debian.

Stap 4

Kies een domeinnaam voor de server.

Stap 5

Dit is een belangrijke stap binnen de installatie, namelijk het configureren van de schijven en partities. We kiezen voor een handmatige installatie, om zo de paritities en mountpunten zelf te kunnen bepalen.

Stap 6

De schijf hebben we standaard laten configureren om zo aan te passen aan onze wensen.

Stap 7

De schijf is geformatteerd en de installatie bestanden worden gekopieerd naar de harde schijf.

Stap 8

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

In deze stap wordt het root wachtwoord opgegeven.

Stap 9

In deze stap geeft de installer de mogelijkheid om diverse software pakketten alvast te installeren. Wij slaan deze stap over, en voeren de installatie op een later moment uit.

Na deze handeling is de server geïnstalleerd. Als bootloader kiezen we voor Grub.

Stap 10

Allereerst configureren we de netwerkkaart van de server. Natuurlijk krijgt deze een static adres omdat bij een server het adres niet gewijzigd mag en kan worden door DHCP.

Dat do en we als volgt:

debian:~# vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1

Stap 11

Om nu de server op afstand te kunnen beheren hebben we SSH nodig. We installeren SSH met het volgende commando:

debian:~# apt-get install ssh

De machine zoekt hierna alle noodzakelijke pakketten op voor de installatie, en download deze na goedkeuring van de gebruiker. SSH wordt automatisch geconfigureerd op poort 22. Veiliger is om SSH op een andere poort te laten draaien. In deze testomgeving is dat echter niet relevant.

Stap 12

Nu gaan we Apache2 installeren. Dat doen we met het commando:

debian:~# apt-get install apache2
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De status informatie wordt gelezen... Klaar
De volgende extra pakketten zullen geïnstalleerd worden:
apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libexpat1 libmysqlclient15off libpq5 mysql-common openssl openssl-blacklist ssl-cert

Voorgestelde pakketten:

apache2-doc apache2-suexec apache2-suexec-custom ca-certificates
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1 libaprutil1 libexpat1
libmysqlclient15off libpq5 mysql-common openssl openssl-blacklist ssl-cert

0 pakketten opgewaardeerd, 13 pakketten nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 11,2MB aan archieven opgehaald worden.
Door deze operatie zal er 25,5MB extra schijfruimte gebruikt worden.
Wilt u doorgaan [J/n]? j

Stap 13

MySQL server installeren:

debian:~# apt-get install mysql-server-5.0

Daarna de module installeren welke het mogelijk maakt om PHP met MySQL te laten communiceren.

debian:~# apt-get install php5-mysql

Stap 14

Nu gaan we PHP5 installeren.

debian:~# apt-get install php5

Daarna installeren we de module om PHP5 binnen Apache te integreren.

debian:~# apt-get install libapache2-mod-php5

Om te testen of PHP goed functioneer maken we een phpinfo.php aan in de map /var/www.
Daar zetten we de volgende code in:
<?php phpinfo(); ?>

Daarna gaan we via de webbrowser naar de locatie: 192.168.1.2/phpinfo.php
Wanneer PHP en Apache beide goed functioneren krijg je een duidelijk overzicht te zien van de geïnstalleerde modules.

Stap 15

Als laatste installeren we PHPmyAdmin.
Hiervoor voeren we het volgende commando uit:
debian:~# apt-get install phpmyadmin

Daarna voegen we de volgende commando's toe aan de /etc/apache2/apache2.conf

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
DirectoryIndex index.php

# Authorize for setup
<Files setup.php>
# For Apache 1.3 and 2.0
<IfModule mod_auth.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>

# For Apache 2.2
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user

</Files>
<IfModule mod_php4.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
</IfModule>
</Directory>

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

Daarna wordt apache herstart en kun je met de link 192.168.1.2/phpmyadmin/ inloggen in PHPmyAdmin om zo MySQL te beheren en configureren.

Opdracht 4

De Linux kernel heeft een aantal voordelen tegenover de windows kernel. Deze voordelen zijn o.a. dat de Linux kernel tevervangen is en die van Windows niet. Het is zelfs mogelijk om zelf een kernel te compileren. Ook zit er een grote community van hobbyisten tot professionals die de Linux kernel als maar proberen te verbeteren. Dit is bij Windows niet mogelijk, omdat dit geen open source is.

Tijdens het hoorcollege kwam al naar voren dat Linux kernel op veel meer hardere boot dan de Windows kernel. Linux wordt daarom tegenwoordig ook erg vaak gebruikt op embedded systemen, van mediaspelers, telefoons tot mini computers. Enkele voorbeelden hiervan zijn:

de AC Ryan Playon!HD, TVIX M6500-A, Nokia N900, SheevaPlug (Een stopcontact minicomputer erg leuk ding!)

SheevaPlug

In de tabel hier onder zal ook duidelijk worden waarom Linux op veel apparaten te vinden is. Linux ondersteund o.a. gewoon verre weg de meeste soorten CPU's

Bron: http://widefox.pbworks.com/CPU

Linux verschilt nog op vele andere vlakken met Windows. Nog een paar belangrijke verschillen zijn het geheugen. Windows heeft meer geheugen limieten. Zoals te zien in de onderste tabel.

Bron: http://widefox.pbworks.com/Memory

Ook is het voordeel van de Linux kernel zoals al eerder besproken zelf te compilen, updaten, etc. Bijkomend voordeel is dat dit allemaal ook nog eens gratis is. Bij Windows kan dit allemaal niet en moet je een nieuw besturingsysteem aanschaffen met de nodige kosten die daarbij horen.

De Linux kernel verschilt nog op vele andere punten met de Windows kernel, maar die zullen we hier niet verder benoemen. Dit leek ons de twee meest belangrijke verschillen.

Opdracht 5

In deze opdracht gaan we de Debian kernel updaten van versie 2.6.26-2 naar versie 2.6.33-1. Wij gebruiken in deze opdracht geen hulpmiddelen als apt-get. De kernel wordt handmatig gecompileerd.

Stap 1

Allereerst downloaden we de nieuwste kernel van www.kernel.org. Dit doen we middels: debian:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.bz2

--2010-03-30 13:48:57-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.bz2

Herleiden van www.kernel.org... 199.6.1.164
Verbinding maken met www.kernel.org|199.6.1.164|:80... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 66219178 (63M) [application/x-bzip2]
Wordt geschreven naar: linux-2.6.33.1.tar.bz2

100%[======================================>] 66.219.178 1,16K/s in 1m 2s

Stap 2

Daarna gaan we de kernel uitpakken:
debian:/usr/src# tar jxf linux-2.6.33.1.tar.bz2

Daarna voeren het volgende commando uit om de installatie te starten:
debian:/usr/src/linux-2.6.33.1# make menuconfig

Hierin maken we onze configuratiefile aan, die we later gebruiken om de kernel vorm te geven.

Dan starten we onze installatie:
debian:/usr/src/linux-2.6.33.1# make all
debian:/usr/src/linux-2.6.33.1# make modules_install
debian:/usr/src/linux-2.6.33.1# make install

Om van de nieuwe kernel op te kunnen starten zullen we deze moeten toevoegen aan onze bootloader, grub:
depmod 2.6.33.1
apt-get install yaird
update-grub

Nu starten we ons systeem opnieuw op en kiezen dan voor de Kernel 2.6.33.1. Nu werken we onder de nieuwe kernel. Update geslaagd.

Opdracht 7

7.1 Processen

Besturingssystemen werken voornamelijk met processen. Een proces is een soort van kleien applicatie is wordt uitgevoerd op de achtergrond van het systeem. Processen kunnen gestart worden door de gebruikers, applicaties. Wanneer een gebruiker een applicatie opstart, wordt er in de kernel een proces gestart. De kernel stuurt vervolgens deze processen aan.

Een proces kan gezien worden als kleine applicatie dat uitgevoerd wordt op de achtergrond van het systeem, en mee draait bij de grote applicatie. Processen kunnen automatisch gestart worden, door de applicatie, en door de gebruiker. Wanneer een gebruiker een programma start, word er door het progamma over het algemeen een proces gestart in de kernel.

7.2 Parent and child relaties

Zoals hier boven al aangegeven werken besturingssystemen voornamelijk met processen. Bepaalde applicaties starten meerdere processen. Dit wordt ook wel Process Grouping genoemd. Deze processen kunnen weer meerdere processen starten. Dit wordt dan een child of een thread genoemd. Het hoofdproces is een Parent. Meestal zijn de child processen gelijk aan de parent relatie. Alleen beschikt het over een eigen proces ID en staat de runtime van een child op 0.

7.3 Signalen

Signalen hebben te maken met child en parent processen. Wanneer je een child proces beëindigd wordt er gelijk een signaal gestuurd naar het parent proces om door te geven dat het proces beëindigd is.

Signalen zijn een manier voor het sturen van eenvoudige berichten naar het process. De meeste van deze berichten zijn al gedefinieerd en kun je vinden in <Linux/signal.h>.

Signalen kunnen alleen worden verwerkt wanneer het proces in user modeuser mode. If a is. Als signaleen signaal has been sent to a process that is in is verzonden naar een proces dat in kernelkernel mode, it is dealt with immediately on returning to user mode. mode werkt, gaat deze vervolgens direct weer terug naar user mode.

Signalen zijn een van de oudste inter-proces communicatie methoden die worden gebruikt door Unix. Ze worden signalen gebruikt voor asynchrone gebeurtenissen met een of meer processen.
Een signaal kan worden gegenereerd door een invoer op een toetsenbord interruptor an error condition such as the process attempting to access a non-existent location in its virtual memory. Signals are also used by the shells to signal job control commands to their child processes. of een fout bijv. Dat een process een niet bestaande locatie in het virtueel geheugen probeerd te benaderen.

7.4 Geheugenallocatie

Geheugenallocatie wordt geregeld vanuit het geheugen management. Alles wat met het geheugen te maken heeft wordt hierin geregeld. Vaak werken operating systemen met twee soorten geheugen namelijk virtueel en fysiek geheugen. Applicaties maken vaak gebruik van het virtuele geheugen, waarvoor een reserveerde ruimte (SWAP file) op de hardeschijf wordt aangesproken.
Onder andere zorgt het geheugen management ervoor de hoeveelheid van het geheugen een applicatie gebruiken kan maken en zodat de applicatie niet meer geheugen kan toewijzen. Dit voorkomt bijv. Bufferoverflows, omdat het geheugen zo niet vol kan raken.

7.5 Shedule

De sheduler verdeeld de rekenkracht van de CPU van de verschillende processen. Hierdoor kan je dus meerdere processen tegelijk uit voeren. De CPU zet de processen netjes in een wachtrij (Dit regelt de sheduler), omdat de CPU niet alles processen tegelijk uitvoert. Dit gaat echter zo snel dat dit niet merkbaar is voor de gebruiker. Aan elk proces wordt een prioriteit toegekend.

Opdracht 8
8.1 iptraf en iftop

Bij Ubuntu is iftop niet standaard geïnstalleerd, deze installeren we door het commando “sudo apt-get install iftop” in de terminal uit te voeren.

iftop

Iftrap is ook niet standaard geïnstalleerd dit gaat op een iets andere manier dan Iftop.

Eerst moeten we het programma downloaden d.m.v. “wget ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.bin.i386.tar.gz”

Vervolgens voeren we het commando “tar xvf iptraf-3.0.0.bin.i386.tar.gz”

Daarna voeren we de setup uit met het commando “sudo ./Setup”

Iftrap

Met de programma's Iftop en Iftraf kan je de in- en uitgaande verbindingen bekijken van je ethernet kaaren.I de praktijk zou je dit kunnen gebruiken om vreemde zaken omtrent dataverbruik te lokaliseren. Je activeert ze door op een terminal respectievelijk ‘iftop' of ‘iftrap' te typen. Ze hebben dus niets te maken met een eventuele grafische schil.

8.2 xrestop

Xrestop is een X11 client server resource usage monitor.

Xrestop geeft statistieken weer van elke verbonden X11 client service side over het resource gebruik. Het is de bedoeling dat een ontwikkelaar met dit programma efficiënter gebruik kan maken van h resource gebruik en bijv. voor het debugen voor resource leakage.

8.3 PS

ps is the shortage for Process Status.PSPPsdfdfPs is de afkorting voor Process Status. The command should be used to display the currently running processes on Unix/Linux systems.Het commando kan worden gebruikt om de hudige processen te laten zien die actief zijn op Unix/Linux systeem. Het is te vergelijken met de “Task-Manager” van Windows. If you know the 'Task-Manager' which pops up under Windows NT/2000/XP when you press CTRL+ALT+DEL then you have a clue what ps does under Unix/Linux. Ps can show you the running processes on your system in different ways.Met ps kan je lopende processen op verschillende manieren weergeven.

Het ps commando is erg handig voor als je bijv. een process wilt killen, dan heb je een proces-id nodig. Dit kan je opvragen door o.a. “ps ux” in de terminal in te voeren. Tevens kan je dan ook de actieve processen per gebruiker bekijken.

8.4 ltrace

ltrace is een programma dat library calls onderschept en registreerd die worden opgeroepen door het uitgevoerde proces en de signalen die worden ontvangen door dat proces.

Met het opgegeven commando “ltrace -SL -output=ltrace_top1 top” krijgt het programma top een debug.

-S Geeft system- en library-calls weer
-L Door dit argument te gebruiken worden de Library-calls niet weergeven.
-Output=ltrace_top1 Dit zorgt ervoor dat de output wordt weggeschreven in het bestand ltrace_top1

8.5 Zombie process

Aan het script moet nog #include <stdio.h> toegevoegd worden, anders zal de printf functie niet werken. En krijg je dus fouten met het compileren.

Zodra ik het programma heb gestart heb ik vervolgens “ps ux | grep zombie” op de terminal uitgevoerd om het process-id te verkrijgen.

Vervolgens voer je het commando “kill 13949” uit en het zombie process is gekilled.

8.6 Daemon process

Ook bij dit script moet nog #include <stdio.h> worden toegevoegd voor de functie printf.
Voor de exit functie voegen we #include <stdlib.h> toe.

Direct na het uitvoeren van stress1 is het programmaatje al 51x gestart, echter één minuut later zit dit al op 4924. Dit worden er steeds meer zolang het Shell script actief blijft.

Om dit programma te kunnen stoppen moeten we eerst het Shell script killen en vervolgens alle daemon processen. Dit doen we zoals op de afbeelding hieronder

7 Tool sar

Het commando wat we gaan gebruiken is “sar -urd 600 10”

-u 600 10 Report CPU utilization for each 600 seconds. 10 lines are displayed.
-r Report memory and swap space utilization statistics
-d Indicate the number of transfers per second

Vervolgens plaatsen we dit in een crontab, zodat het commando iedere dag om 14:00 word uitgevoerd.

0 14 * * * /home/matthijs/sar -urd 600 10

Opdracht 9

1. Wat is de reden van het ontstaan van een zombie-proces?

Een zombie proces ontstaat wanneer een proces nog steeds in het geheugen staat. Doordat dit hier in staat kan de parent hem uitlezen.

2. Welke waarde ziet u bij de processor-utilization-parameter op een systeem dat optimaal gebruikt wordt?

Dit is afhankelijk van de gekozen distributie en gebruikte hardware. Over het algemeen wordt een

3. Welk systeemonderdeel is ervoor verantwoordelijk dat elk proces op zijn beurt word afgehandeld?

Hiervoor zorgt de schedule module, zoals besproken in opdracht 7.

4. Welke opdracht gebruikt u om exact te bekijken wat een opdracht allemaal doet?

Met het commando ltrace kan je preceis uitzoeken welke system-calls eruit gaan wanneer we een opdracht starten.

5. Welke signalen kunt u in de meeste gevallen wel naar een proces sturen om de werking van het proces te beinvloeden?

* stop

* ignore

* terminate

6. Welke opdracht gebruikt u om elke vijf seconden alle statistieken over de netwerkkaart weg te schrijven naar een bestand met de naam /var/log/netstats?

Dit kunnen we doen met sar zoals besproken in opgave 7. Vervolgens voer je het commando: "sar -l 5 -f /var/log/netstats" uit.

7. Noem twee programma's waarmee u in de gaten kunt houden hoe de netwerkkaart van uw server belast wordt.

Dit kan met Iftop en iptraf zoals besproken in opgave 7.

8. Waarom komt het nauwelijks voor dat een Linux-server crasht?

Voor Linux zijn er relatief gezien minder virussen, trojans etc. beschikbaar. Vaak draaien linux server distributie zonder de grafische schil. Dit zorgt ook weer voor minder load, dus betere stabiliteit.

9. Welke soorten geheugen worden door een proces gealloceerd?

Het fysieke en het virtuele geheugen.

10. Hoe heet de conditie die optreedt wanneer er een proces geheugen probeert te alloceren dat buiten zijn address-space valt?

Dit wordt een bufferoverflow genoemd.

Opdracht 10
Bestandssysteem

Een bestandssysteem is een door het besturingssysteem van een computer verzorgde indeling van een opslagmedium (zoals een harde schijf,SSD,USB-stick). Het besturingssysteem gebruikt deze indeling om toegang tot een opslagmedium te verzorgen voor applicaties en zijn eigen gebruik, zodat data in de vorm van bestanden op het opslagmedium weggeschreven kan worden en ook weer teruggelezen.

Sommige bestandssystemen kunnen door meerdere besturingssystemen gebruikt worden, terwijl andere alleen in bepaalde (spel)computers gebruikt worden. Er zijn meer dan 100 verschillende bestandssystemen.

Bron: http://nl.wikipedia.org/wiki/Bestandssysteem
Extended File System (ext)

Het ext is één van de eerste bestandssystemen die ondersteund werd door het Linux besturingssysteem en het eerste bestandssysteem dat specifiek voor dat besturingssysteem geschreven werd.

Het ext-bestandssysteem werd in april 1992 ontworpen en geïmplementeerd door Rémy Card als vervanging voor het Minix-bestandssysteem. Het Linux besturingssysteem werd in eerste instantie in 1991 ontworpen en gebouwd op een Minixsysteem; het was dus een praktische beslissing van ontwerper Linus Torvalds om in eerste instantie toegang te verschaffen tot het bestandssysteem van zijn werksysteem.

In open verdeling via het internet was dit (Minix)systeem echter weinig populair: met name de 16-bitsadressering van datablokken in dit systeem en de bijbehorende maximale grootte van het bestandssysteem van 64 megabyte waren een ernstige hindernis in het gebruik. Ook de limiet in de lengte van bestandsnamen (14 tekens) was niet geliefd.

Om deze redenen werd in 1992 ext geïntroduceerd. Dit systeem verhoogde de maximale grootte van het bestandssysteem naar 2 gigabyte en stond bestandsnamen toe met een maximale lengte van 255 tekens.

Bron: http://nl.wikipedia.org/wiki/Ext

Virtual File System (VFS)

Meer dan dat nog echter is de erfenis van ext ergens anders te zien. Het invoegen van een nieuw bestandssysteem betekende dat Linux al heel vroeg een methode nodig had om flexibel om te kunnen gaan met verschillende bestandssystemen tegelijkertijd. Om dit mogelijk te maken, werd in Linux dus al in 1992 de eerste versie van het Virtual Filesystem Switch (VFS) geïntroduceerd, wat een abstractielaag is boven het bestandssysteem en Linux toestaat transparant toegang te hebben tot een eindeloos uitbreidbare verzameling bestandssystemen. Dit is een belangrijke basis van de enorme flexibiliteit die Linux als systeem kenmerkt.

Bron: http://nl.wikipedia.org/wiki/Extended_File_System

Journaling

Gegeven het grote belang van het bestandssysteem voor het functioneren van het besturingssysteem en alles wat daarmee samenhangt, is het van groot belang dat de integriteit van het bestandssysteem gewaarborgd blijft: de bestanden en directory's mogen niet door elkaar gaan lopen. Daarom zijn de meeste besturingssystemen uitgerust met gereedschappen om de integriteit van het bestandssysteem te verifiëren en fouten te verbeteren. Sommige besturingssystemen hebben deze functionaliteit geïntegreerd en voeren deze verificatie met regelmaat uit (in tegenstelling tot andere, die verificatie uitvoeren als de gebruiker of beheerder daarom vraagt).

Met de toename van grootte van opslagmedia in de laatste jaren zijn bestandssystemen ook veel groter geworden en beheren ze veel meer bestanden dan vroeger. De verificatie vergt dan ook veel tijd. Daarom is er een bepaalde klasse van bestandssystemen ontwikkeld, de zogenaamde journaling-bestandssystemen. Deze bestandssystemen koppelen de verzameling bestanden aan een logboek met operaties die op het systeem uitgevoerd zijn. Dit logboek slaat alle operaties op en geeft ook aan of deze operaties voltooid zijn of niet. De verificatie van het systeem wordt dan uitgevoerd door te controleren of alle operaties correct beëindigd zijn. Dit is aanzienlijk efficiënter dan alle bestanden en directory's nalopen en verifiëren dat alles fysiek nog goed in elkaar zit. Het nadeel is echter dat dit alleen werkt als de operaties van het besturingssysteem en het bijwerken van het logboek gegarandeerd goed uitgevoerd worden. Dit houdt in dat het wegschrijven van het journal geen gebruik mag maken van caching wat als nadeel heeft dat journaling-bestandssystemen matig presteren wanneer er veel operaties plaatsvinden. Daarnaast betekent het dat journaling niet populair is bij (harde) realtime besturingssystemen en andere, kritische systemen - deze systemen zijn zo kritiek dat ze niet kunnen vertrouwen op een logboek (of andere methode die afleiding gebruikt) om de integriteit van het bestandssysteem te garanderen.

Bron: http://nl.wikipedia.org/wiki/Bestandssysteem#Journaling

Vergelijkingstabel Ext2, Ext3, Ext4 en ReiserFS

Ext2

Ext3

Ext4

ReiserFS

Max file size

16 GB - 2 TB

16 GB - 2 TB

16 TB

8TB

Max filename length

255 bytes

255 bytes

256 bytes

4032 bytes, limited to 255 by Linux VFS

Max volume size

2-32 TB

2 TB - 16 TB

1 EiB (currently limited to 16TiB because of mke2fs limitation)

16TB

Allowed characters in filenames

Any byte except NUL and '/'

All bytes except NULL and '/'

All bytes except NULL ('\0') and '/'

All bytes except NUL and '/'

Logische volumes

Een uitgebreide partitie of extended partition is een partitie op een harde schijf die op zijn beurt weer andere partities bevat.

Een partitie die zich in een uitgebreide partitie bevindt, heet 'logische partitie'.

In de partitietabel van het Master boot record kunnen slechts vier partities worden beschreven. Zijn dat vier primaire partities, dan is de schijf daarmee volledig gepartitioneerd. Het kunnen echter ook (maximaal) drie primaire partities en een uitgebreide partitie zijn.

De eerste sector van de uitgebreide partitie bevat op zijn beurt weer een partitietabel. Ook hierin kunnen slechts vier partities worden beschreven (de rest van de sector wordt niet gebruikt). In de praktijk worden er maar twee partities beschreven waarvan er een weer een uitgebreide partitie is. Zodoende is het aantal partities onbeperkt (hoewel er soms een beperking geldt door het beschikbare aantal schijfletters van C tot Z).

Partitioneringsprogramma's, zoals fdisk, tonen deze structuur echter niet - ze doen het voorkomen dat alle logische partities gelijkwaardig zijn binnen de ene uitgebreide partitie.

Onderstaande tabellen tonen een voorbeeld van de feitelijke en de schijnbare structuur van een gepartitioneerde schijf. De schijf bevat drie primaire partities en een uitgebreide partitie met daarbinnen drie logische partities.

In de eerste tabel zijn waarden vermeld van de beginpositie en de lengte van de partities. Deze waarden dienen als voorbeeld - in werkelijkheid is een partitie van tienmiljoen of meer sectoren geen uitzondering.

Uit de cijfers blijkt onder andere dat de startpositie van een logische partitie relatief is. Bijvoorbeeld, partitie F begint op sector 10 in een uitgebreide partitie, en die uitgebreide partitie begint op sector 120. Partitie F begint dus op sector 130 van de schijf.

Verder valt het op dat een partitie niet op sector 1 begint. Aan het begin van de schijf (op sector 0) en het begin van elke uitgebreide partitie staat de partitietabel, en de partitionering zou direct daarna kunnen beginnen. In werkelijkheid houden de partitioneringsprogramma's een aantal sectoren vrij. Vanouds is dat een heel track van de schijf, meestal 63 sectoren, zodat de eerste partitie op sector 63 begint. Het partitioneringsprogramma van Windows Vista laat de eerste partitie pas op sector 2048 beginnen. De vrijgehouden ruimte kan worden gebruikt voor administratieve gegevens, zoals een backup van de partitietabel of een multibootprogramma.

Rechtensysteem

Met het chmod commando kan je rechten aan bestanden en folders toewijzen.

Met het chown commando kan je de eigenaar van de bestanden en folder wijzigen.

Met het chgrp commando kan je de eigenaar van de file veranderen d.m.v. een groep.

Met het “ls -l” commando kan je de rechten van de files bekijken in de huidige directory.
Dan kan krijg je een overzicht die er als volgt uit ziet.

Bij “Desktop” staat bijv. “drwxr-xr-x”

In tabel hier onder staan precies de rechten uitgelegd van links naar rechts.

D or -

D = Directory - = File

R

Read for Owner

W

Write for Owner

X

Execute for Owner

R

Read for Group

X

Execute for Group

R

Read for Group

X

Execute for Others

Bij opdracht 13 wordt nog iets meer verteld over de rechten.

Opdracht 11

1. Aller eerst maken we een partitie met behulp van fdisk. “ fdisk/dev/sd04”.
Daarna krijgen we de vraag welke soort partitie we willen aanmaken, kies voor een linux partitie. Linux deelt nu de partitietabel in.
We maken hierna een fysiek volume, en een logical volume aan. Binnen het fysieke volume maken we de 2 logische partities aan.

We hebben nu 2 logische volumes aangemaakt, nu is het tijd om een filesystem te kiezen. Wij kiezen voor ReiserFS en XFS.

2. Als er quota's toegepast moeten worden, zullen deze aangepast moeten worden in de “fstab” file. Deze is te vinden in /etc. Hier voeg je de opties “usrquota” en “grpquota” toe. Daarna is de quote functie geïnstalleerd. Om quota goed draaiende te krijgen is het nodig om de schijven opnieuw te mounten. Dit doen we met het commando: “Mount -o remount /dev/sd04”.

3. Hiervoor zijn we 3 fysieke schijven nodig. Om dit te evenaren maken we in VMWare een 3 tal nieuwe schijven aan. De schijven binnen Linux zijn: sdc, sdd, en sde.
Op elke schijf maken we een extended en logical partitie aan. Dit gaat als volgt:

fdisk /dev/sd(b,d, of e), hierna krijgen we het fdisk menu met de vraag welk filesystem geinstalleerd moet worden. We maken hier een logische partitie aan. Voer dit uit voor elke schijf.
Er is hiervoor een nieuw pakket nodig, dat is “mdadm”, De installatie gaat als volgt: "apt-get install mdadm". Wanneer dit eenmaal geïnstalleerd is, kunnen we beginnen met de RAID-5 opstelling. Dat kan met het volgende commando:
” mdadm -create -verbose /dev/md0 -level=5 -raid-devices=3 /dev/sdc5 /dev/sdd5 /dev/sde5”.

We herstarten nu het systeem en kijken hierna of de schijven correct gesynchroniseerd worden met het commando: “watch cat /proc/m dstat”

We gaan nu testen of de RAID inderdaad zijn werk goed doet. Om dit te testen unmounten we één van de schijven in VMWare. Dit kan met de net geïnstalleerde module “mdadm”, het commando luidt: “mdadm /dev/md0 -fail /dev/sde5”.
Nu kijken we weer in de watch. Commando: “/proc/mdstat”
Nu staat er als alles goed werkt bij één schijf een F(ail). Dit betekend dat de RAID opstelling naar behoren functioneerd.

4. Dit kan met het commando: “lvcreate -L 50M -s -n rfsbackup /dev/opdracht11/snapshot1”. Wanneer de snapshot/backup geslaagd is geeft Linux de volgende melding: “Logical volume “rfsbackup” created”.

5. ReiserFS-journal blijkt een stuk groter te zijn dan die van EXT4. Deze had een grootte van 23Mb. En dat terwijl EXT4 slechts een journal van 11Mb had. De EXT2 partitie nam nauwelijks ruimte in beslag door het weinige Journal (Aantal kb's).

Opdracht 12

In deze stellen we een RAID 1 configuratie in op een Ubuntu machine. De onderstaande screenshots illustreren de stappen.

Kies voor de handmatige schijfconfiguratie om zelf de groottes van de partities, mountpoints en filesystems te kunnen kiezen.

Daarna configureren we de partities als volgende, aangezien onze machine 512 MB geheugen heeft kiezen we voor een SWAP partitie van 500 MB.

Na het aanmaken van de (raid) partities kiezen we voor de optie, RAID configureren. In deze stap worden de raid partities, die in de vorige stap zijn aangemaakt, gekoppeld aan elkaar.

Nu kiezen we voor de RAID 1 optie.

Kies iedere keer bij het aanmaken van een MD apparaat de beide partities bij elkaar. Door ze beide te selecteren worden ze gekoppeld als een RAID 1 configuratie.

Na deze stap is RAID 1 geconfigureerd. De volgende stap is de partitietabel naar de schijf te laten schrijven, en daarmee is de configuratie voltooid.

Opdracht 13

Allereerst gaan we de beveiliging van Windows onder de loep nemen. Bij het opslaan van bestanden wordt jezelf niet direct eigenaar van het bestand. De groep waarvan je lid bent wordt eigenaar van het bestand. Dit in tegenstelling tot Linux, bij het aanmaken van een bestand wordt jezelf eigenaar van het bestand en/of map. Standaard kunnen alle gebruikers bij elkaars bestanden, mits lid van de groep gebruikers. Om dit te voorkomen dien je zelf de rechten aan te passen zodat alleen de eigenaar bij het bestand kan komen of om bepaalde groepen uit te sluiten.

Dan nu de Linux manier van beveiliging uitgelicht. De beveiliging is in Linux eenvoudiger te begrijpen dan in Windows, aangezien je in Windows verschillende soorten rechten hebt (share rechten, NTFS rechten). Linux heeft hier geen last van, slechts 1 soort recht. Deze gaan we hieronder bespreken.

Om het duidelijker te kunnen uitleggen pakken we het bestand ‘test' uit de onderstaande screenshot:

De eerste bit (“-“) wordt de stickybit genoemd. Hierin staat om welk type bestand het gaat (“d” voor directory, “l” voor link of “-“ voor bestand/mime).

De daarop volgende bits vormen telkens een koppel van 3 bits (“r” voor read, “w” voor write en “x” voor execute). Het eerste koppel van 3 bits geld voor de rechten als eigenaar, tweede als rechten voor de groep en het laatste als rechten voor iedereen. In het voorbeeld mag dus zowel de gebruiker, groep als iedereen, lezen/schrijven en uitvoeren.

Het tweede en derde veld staat voor de gebruiker en groep van het betreffende bestand of map.

Om rechten te kunnen wijzigen wordt er gebruik gemaakt van het commando chmod.

Het commando chmod werkt als volgt:

Chmod [ugoa] [-+=] rwx

U = user
G = group
O = other
A = all

Met de -+= tekens kunnen er rechten worden toegewezen, toegevoegd en worden verwijderd. Dit is de tekstgestuurde manier.
Chmod gebruikt ook een bit-gestuurde manier.

Wanneer er rechten als -rwxr--r-- staan betekend dit eigenlijk -111100100, in geschreven taal betekend dit 744. De R staat voorwaarde 4, de W voor waarde 2 en de X voor waarde 1. Wanneer je de getallen bij elkaar optelt kom je uit op de chmod waarde.

Wanneer je het commando chmod 744 test uitvoert, zal er dus -rwxr--r-- te zien zijn met het commando ls -la.

Opdracht 14

DDOS

Distributed Denial of Service (DDoS) attack is een Denial-of-Service aanval op een computer of netwerk waarbij met een aantal computers, vaak vanaf vele plaatsen op de wereld bestuurd vanaf een centraal punt, zoveel verbindingsverzoeken naar de server van een of meer sites verstuurd worden, dat de service ervan tijdelijk niet beschikbaar is, of de server zelfs crasht.

Encryptie

Binnen de cryptografie staat encryptie voor het coderen (versleutelen) van gegevens op basis van een bepaald algoritme. Deze versleutelde gegevens kunnen nadien weer gedecrypteerd (ontcijferd of gedecodeerd) worden zodat men de originele informatie weer terugkrijgt. Dit proces wordt decryptie genoemd.

Er zijn grofweg twee vormen van cryptografie.

Symmetrisch

Bij symmetrische cryptografie gebruiken zender en ontvanger dezelfde sleutel. Die sleutel moet van tevoren uitgewisseld worden via een veilig kanaal (waarbij zender en ontvanger elkaars identiteit kunnen controleren en onderschepping van de sleutel door derden niet mogelijk is).

Het gebruik van dezelfde sleutel wil niet altijd zeggen dat het coderen en het decoderen identiek zijn. Bij de sleutel Rot13, die bij e-mail veel wordt gebruikt, is dat wel het geval. Wie een gecodeerd bericht opnieuw met ROT13 codeert, ziet weer het oorspronkelijke bericht. Bij een code als A→B, B→C enz. is dat niet het geval, maar de decodeersleutel kan eenvoudig worden afgeleid uit de codeersleutel. Beide gelden als symmetrische cryptografie.

Asymmetrisch

Moderner is de asymmetrische cryptografie, ook wel public key encryption genoemd. Hierbij hebben zender en ontvanger elk een eigen set van twee sleutels, waarvan er één publiek is en één niet. Het is in theorie mogelijk, maar niet praktisch haalbaar, om de geheime sleutel uit de publieke sleutel af te leiden.

Berichten die met een publieke sleutel worden versleuteld, kunnen alleen met de geheime sleutel worden ontcijferd. Met andere woorden: onbevoegden kunnen het bericht niet lezen.

Andersom geldt dit ook: informatie die is vercijferd met de geheime sleutel van iemand, kan alleen met de bijbehorende publieke sleutel worden ontcijferd. Dit laatste wordt gebruikt bij het digitaal ondertekenen van berichten: men heeft de zekerheid dat het bericht afkomstig is van degene die zich de afzender noemt.

De publieke sleutel mag aan iedereen bekend zijn en kan dus uitgewisseld worden over een onveilig kanaal zoals internet. Om een bericht te coderen en digitaal te ondertekenen, heeft de zender zijn eigen geheime sleutel nodig én de publieke sleutel van de ontvanger. Om het ontvangen bericht te decoderen en te verifiëren of de handtekening wel van de zender is, heeft de ontvanger zijn eigen geheime sleutel nodig én de publieke sleutel van de zender.

Het grote voordeel van asymmetrische cryptografie is, dat uitwisseling van de benodigde sleutels kan plaatsvinden via een onveilig kanaal. Afluisteren van de uitgewisselde informatie - inclusief publieke sleutels - vormt geen enkel probleem. Een onderscheppingrisico bestaat wel, wanneer zender en ontvanger nalaten te controleren of de gebruikte publieke sleutel inderdaad hoort bij de (beoogde) ander. Iedereen kan immers zeggen: "mijn naam is zus-en-zo en hier is mijn publieke sleutel, stuur me nu uw gegevens maar". Zender en ontvanger dienen dus langs een betrouwbaar kanaal elkaars identiteit vast te stellen en publieke sleutels te bevestigen.

Een nadeel van asymmetrische cryptografie is dat grote sleutellengtes nodig zijn (bijv. 4096 bytes), waardoor coderen en decoderen veel rekenkracht vergen. Dit kan dan ook niet zonder een computer. De sleutels moeten groot zijn, omdat het anders mogelijk wordt met een snelle computer de geheime sleutel te vinden.

Vaak wordt een combinatie van asymmetrische en symmetrische cryptografie gebruikt: eerst wordt d.m.v. asymmetrische cryptografie een geheim tussen zender en ontvanger uitgewisseld, die de sleutel vormt voor de snellere symmetrische cryptografie van grote blokken data.

Bij de versleuteling van e-mail wordt wel asymmetrische cryptografie toegepast, door PGP, GPG of S/MIME.

Ettercap

Ettercap is een programma wat gebruikt wordt om netwerkpakketten te onderscheppen en te sniffen. Zo kun je het gebruiken om wachtwoord, creditcard nummers, usernames of msn gesprekken te onderscheppen. Je kunt eigenlijk alles onderscheppen wat over de lijn gaat. Ettercap is een opensource programma, dit kun je gebruiken om je netwerk verder te beveiligen. Je kunt met het programma namelijk zien wat wel en niet open ligt.

IPS

IPS staat voor Intrusion prevention system dit is een beveiliging voor je netwerk een soort van firewall. Deze controleert en registreert ongewenste pakketten op het netwerk van buiten/binnen. Dit intrusion systeem draait real-time op de achtergrond en scant alle pakketten op dergelijke aanvallen.

VPN

Een Virtueel Particulier Netwerk of Virtueel Privénetwerk (Engels: Virtual Private Network, VPN) is een goedkope manier om een Wide Area Network (WAN) uit te bouwen met behoud van vertrouwelijkheid over een bestaande verbinding. Deze dienst maakt gebruik van een reeds bestaand netwerk, doorgaans het internet, om informatiedeling tussen geografisch afgescheiden netwerken mogelijk te maken alsof er een dedicated netwerk voorzien was. De verzonden data kan het best beveiligd worden opdat de integriteit, autorisatie en authenticiteit van de data over dit onderliggende netwerk gewaarborgd blijft. De eindgebruikers zullen in principe niet merken dat er een VPN gebruikt wordt. Technisch zijn er ondertussen tal van protocollen uitgewerkt die deze dienst beschikbaar maken, het bekendste en meest courante protocol vandaag de dag is IPsec.

Bron: wikipedia.com

Opdracht 15

We hebben te maken met 3 verschillende gebruikers.

Klanten, medewerkers en beheerders die moeten kunnen inloggen.

Beheerder:

Krijgt volledige rechten en overal toegang tot. Dit wordt geregeld vanaf de hoofdvestiging en kan d.m.v. een VPN verbinding beheerstaken op de 2 nevenvestigingen uitvoeren. Waarnodig op lokatie. Elke gebruikers groep krijgt een eigen subnet en VLAN.

Medewerker

Medewerkers worden per afdeling ingedeeld, zodat zij alleen rechten c.q. toegang hebben tot hun eigen afdeling(en) en applicaties. D.m.v. een VPN verbinding kunnen ook thuis werken.

Klant

Klanten zijn het meest beperkt in hun rechten. Zij krijgen alleen toegang tot het gebruik van bepaalde applicaties die voor hun beschikbaar horen te zijn.

Beveiliging

Op elke locatie dient een firewall geïnstalleerd te worden. Tevens dienen alle pc's/laptops te worden voorzien van een antivirus programma.

De wachtwoorden van de gebruikers moeten minimaal uit 4 cijfers en 8 letters bestaan, waarvan 2 hoofdletters. Als wachtwoord mag geen gebruik gemaakt worden, waarin hun eigen login naam in voorkomt.

VPN

Een Virtual Private Network (VPN) is een goedkope manier om een Wide Area Network (WAN) uit te bouwen met behoud van vertrouwelijkheid over een bestaande verbinding. Deze dienst maakt gebruik van een reeds bestaand netwerk, doorgaans het internet, om informatiedeling tussen geografisch afgescheiden netwerken mogelijk te maken alsof er een dedicated netwerk voorzien was. De verzonden data kan het best beveiligd worden opdat de integriteit, autorisatie en authenticiteit van de data over dit onderliggende netwerk gewaarborgd blijft. De eindgebruikers zullen in principe niet merken dat er een VPN gebruikt wordt. Technisch zijn er ondertussen tal van protocollen uitgewerkt die deze dienst beschikbaar maken, het bekendste en meest courante protocol vandaag de dag is IPsec.

Bron:

http://nl.wikipedia.org/wiki/Virtueel_Particulier_Netwerk