Wat is linux? opensuse 13.1

Vergelijkbare documenten
Operating Systems Linux Blok 7a Partities Erik Seldenthuis

Keuzevak Linux - Week 2

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

Korte uitleg: Wie mag wat met welk bestand

4/4 Bestandssystemen

Basis UNIX commando's - overzicht

Hulplink:

Open Enterprise Server 2 en vsphere Best Practises. Michael Wilmsen

Unix Console Gebruik

Huiswerk Linux: Apache groepsrechten

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Wat is een unattended install?

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

De Linux Boom structuur

Hoe partitioneer ik een hardeschijf?

Linux Quickstart Cygwin via HTTP

Werkplekbeheer en kantoorautomatisering Examennummer: Datum: 24 maart 2012 Tijd: 13:00 uur - 14:30 uur

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

Linux Server Installatie

studievaardigheden studentassistent: Alice de Vries werkcollege / practicum

Van dvd naar webserver. Marcel Nijenhof 18 Juli

Korte uitleg: Mounten van filesystemen

Software. Opdrachten - Deel 1. Naam: Klas: 2015 versie:concept-3.4.2

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

4/5 Installatieservers

Dit zijn latency s die voorkomen bij het selecteren van het juiste geheugenadres in de RAM.

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

Installatie Software - Opdrachten Les 2

Friesland College Leeuwarden

Installeren van het programma:

ISW Presents Debian Homeserver Workshop

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

Ubuntu : gebruikers en bestandsbeheer

5/5 Red Carpet. 5/5.1 Inleiding

Het leven na de installatie 2005, deel 1

Linux Quickstart Cygwin

Bestandssystemen. yvan vander sanden. 16 maart 2015

Aandachtspunten voor installatie suse in vmware server

Rhino: Back-up maken. RsyncBackup

Onderzoeksnetwerk via Linux

CrashPlan PROe installatie handleiding. Versie Mac-Up! - CrashPlan PROe Installatie Handleiding - 1

Korte uitleg: Mounten van filesystemen door de desktopgebruiker

Erik Poll Martijn Warnier.

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

6/9 File-systems. 6/9.1 Werken met bestandssystemen in Open Enterprise Server 2

Inhoud S003. Vak: Windows 7 niv 3/4

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

Chapter 4. eenvoudige webserver opzetten

Inhoudsopgave: Whisper380-computerhulp

Standard Parts Installatie Solid Edge ST3

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

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

Checklist Installatie PC5 Ubuntu 9.04 Desktop i

Handleiding installatie en gebruik. Ahsay OBM. Windows server Apple OS X Linux en UNIX-varianten

2 Installatie Windows Server 2008 R2 Standard

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

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

FDISK. Hoofdstuk 1 Inleiding FDISK

Ladibug Document Camera Image Software Gebruikershandleiding

Macrium Reflect V4.2 Handleiding

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

Handleiding VirtualBox

HOWTO: Configuratie van Samba als PDC

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

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

Macrium Reflect Free. Mirror Back-up:

1 Installatie van de server... 2

HANDLEIDING >NAT ROUTER MET PFSENSE MEDIATECHNOLOGIE GRAFISCH LYCEUM ROTTERDAM SAMENSTELLER: R.SELLIS

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

Labo 4 : Installatie Windows XP Professional Edition

6/7 Opslag onder Linux

Super GRUB2 Disk Super GRUB2 Disk

Automagisch installeren van OES en SLES. Frank Korpershoek Jeroen Bannink

Installatiehandleiding AhsayOBM Unix / Linux. v

Installatie Windows XP Professional Edition

Midi PDF Bladmuziek lezer

Multiboot systeem maken

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server

Inhoudsopgave: Inhoudsopgave:... 2 Waar moet uw pc aan voldoen?... 2 De installatie:... 4 De computer gereed maken voor gebruik:...

Propa e d e u s e taak 2

Permanente netwerkverbinding leggen naar je NAS

1) Domeinconfiguratie van Windows 9x clients & Windows Millennium

Solcon Online Backup. Aan de slag handleiding voor Linux

NW09 NTFS machtigingen

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

Hoe je /home folder naar een andere partitie verplaatsen

IN1805 I Operating System Concepten

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

Een beveiligde schijf maken met Cryptainer LE!

Configureren van een VPN L2TP/IPSEC verbinding

Installatiehandleiding Windows 98

HANDLEIDING WINDOWS INTUNE

Beveiliging van persoonlijke bestanden door middel van encryptie een tutorial door Nick heazk Vannieuwenhoven

Inhoud Wat is mobiel werken?... 2 Installeren VPN Client... 3 Laptop... 3 Windows Windows Mac OS X Linux Tablet...

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

Introductie tot het werken met een commandoregel

Windows Xp professional op de werkstations en Windows 2000 op de Server

Tekstmanipulatie. Week 1. Gosse Bouma 2007/2008. Informatiekunde Rijksuniversiteit Groningen

Installatie Solid Edge ST5

Replicator Backup-programma, om data automatisch op externe harde schijf te zetten, als backup.

Transcriptie:

Wat is linux? opensuse 13.1 1

Inhoud van de opleiding Linux Wat gaan we doen in de lessen Linux? Introductie: "wat is Linux" (vandaag) Installatie van OpenSUSE Software installatie onder Linux Netwerkinstellingen (Internet) Command Line Interface (CLI) Bootproces van Linux (runlevels en INIT) Configuratietools (Yast) User- en groupmanagement Rechtenbeheer Samba X-windows configuratie Desktopenvironment Bootloaderconfiguratie Printen in Linux (Cups) 2

Introductie Linux opdracht A Wat is Linux? Wat is een distributie? Wat zijn de verschillen? Wat zijn de overeenkomsten? Welke distributies kennen we? Hoe kunnen we deze indelen? Wat is het verschil tussen betaalde en gratis Linux? Waar is Linux goed in? 3

4

Geschiedenis van Linux (1) De GNU-wereld is alle Unix-tools in opensource gaan nabouwen. Alleen de kernel van Unix moest gekocht worden Professor Tannenbaum (Vrije Universiteit Amsterdam) heeft een kernel gebouwd: minix. Vooral om studenten te laten zien hoe een kernel in elkaar zit Linus Torvalds (programmeur en student ICT) is op de Universiteit met minix gaan werken en besloot als testje zelf een Unix-kernel te gaan bouwen. Hij heeft alle code die hij hiervoor schreef gratis voor iedereen ter beschikking gesteld, met de vraag of anderen hem willen helpen. 5

Geschiedenis van Linux (1) Daarnaast werden initiatieven ontwikkeld voor vrije (open-source) software (GNU) (Richard Stallman) GNU betekent: GNU s Not Unix Linus heeft zich later bij GNU aangesloten, gevolg: Linux valt onder de GPL-licentie! Officiële naam van Linux is nog steeds: GNU\LINUX. Alleen debian gebruikt dit nog. 6

7 Linus Torvalds

Geschiedenis van Linux (2) De GNU organisatie heeft als doel: volledig vrij te gebruiken software GNU staat voor: GNU is Not Unix. Copyleft symbool GNU heeft de GPL licentie (copyleft) op de markt gebracht die iedereen kan gebruiken: GPL: GNU General Public License: Alle GPL-software mag vrij gebruikt worden (inclusief aanpassingen en uitbreidingen) Alle GPL-software mag aan anderen worden doorgegeven, mits: Vermelding van de auteur(s) Publicatie van de (gewijzigde) broncode Verkochte software moet ook onder GPL-licentie vallen LET OP: Niet alle gratis software is gepubliceerd onder de GPL-licentie (BSD) 8

Geschiedenis van Linux(3) Linux: Eigenlijk alleen de kernel Daarnaast zijn er duizenden tooltjes / programmatjes en commando s voor Linux geschreven, die allemaal ook onder de GPL-licentie zijn gepubliceerd, en ook nodig zijn bovenop de kernel Combinaties van de kernel met bijbehorende tooltjes, die onderling zijn getest worden distributies genoemd. Een distributie is dus een verzameling van tooltjes (met een bepaald doel) die goed werken op een kernel. Vaak met extra s: Beheertools Ondersteuning 9

Belachelijk lange distributielijst Red Hat SUSE Debian Mandrake Ubuntu (en subs) Edubuntu Kubuntu Knoppix (en subs) Helix Fedora Backtrack opensuse Mandriva Slackware SLES / SLED Debian NLD Heel veel live CD s: NIET: Ubuntu BSD FreeBSD Niet onder GNU 10

Overzicht distributies: http://upload.wikimedia.o rg/wikipedia/commons/e/ ed/linuxdistrotimeline.p ng Te veel om te onthouden Deze is bijgewerkt tot 2010 11

= Overzicht distributies: http://upload.wiki media.org/wikiped ia/commons/e/ed/ LinuxDistroTimeli ne.png Te veel om te onthouden En deze tot 2009 12

Misverstanden Misverstanden: Linux is altijd gratis: neen Linux is altijd open source: ja / neen Vrij is niet altijd gratis Het woord vrij of free betekent vooral dat het gebruik vrij is. Daarom wordt tegenwoordig vaker open gebruikt (als in open source) Waarom betalen voor linux? De moeite van het bij elkaar zoeken van de onderdelen (kwaliteit van de distributie ) Speciaal doel van de distributie Het kopen van ondersteuning Handleidingen Beheer-tools (Yast en Anaconda) 13

Belangrijk! Belangrijk om aan te wennen: ALLES is in Linux een bestand, onderdeel van het bestandsysteem Alle apparaten worden in het bestandsysteem opgenomen Ook (zelfs) het geheugen en de processen zijn als bestanden in het bestandsysteem terug te vinden. 14

Command-Line Interface (CLI) opensuse 13.1 1

Les 3: Kennismaking CLI Vandaag: Bijzondere kenmerken van Linux Command Line Interface (CLI) Standaard instellen van de CLI Elementaire commando s Help Directory navigatie Commando s 2

Kennismaking Linux (bijzondere kenmerken) Alles (écht alles) is een onderdeel van één bestandsysteem Het bestandsysteem begint bij de root / Alle gegevens staan erop in directory s Alle apparaten worden gekoppeld aan een directory (zelfs de processen in het geheugen) Extra partities worden aan een directory gekoppeld Linux is volledig multi-user 3

Command Line Interface Command Line Interface Er zijn verschillende interfaces Bourne-shell BASH (Bourne Again SHELL) Commando s moeten worden vertaald naar systeemopdrachten: Command interpreter = gelijk aan de functie van command.com onder DOS. De Shell bepaalt de mogelijkheden: Filename completion Redirecting en piping Gebruik van kleuren 4

Werken in de CLI Aandachtspunten: Hoofdlettergevoelig, ook in bestandsnamen Geen gebruik van extensies Alles kan als een programma worden uitgevoerd (afhankelijk van de rechten) Scheidingsteken tussen directory s is de / Met de [Tab] kun je de bestands- en directory namen afmaken (gebruik dat dan ook, om fouten te voorkomen) Spaties zijn verplicht na een commando Gebruik van wildcards? en * gelijk aan DOS? = één willekeurig teken * = een reeks aan willekeurige tekens 5

Commando s Syntax: commando [- --][woord] [- --][woord] etc. Het commando moet vooraan de opdrachtregel Er MOET een spatie achter de naam van het commando Extra informatie en/of parameters worden gescheiden door een spatie Extra informatie en/of parameters kunnen per commando verschillen 6 ls ls -l ls /etc -la

Voorbeelden commando s (cp) Syntax: cp Bron [Doel] [-Parameters] Voorbeeld 1: cp /etc/* kopieer alle bestanden uit de map /etc naar de actieve directory Voorbeeld 2: cp /etc /home/test -r kopieer de directory /etc naar de directory /home/test en neem alle subdirectory s mee Voorbeeld 3: cp. /home/test kopieer alle bestanden uit de huidige actieve directory naar de map /home/test 7

Veelgebruikte commando s Directory- en bestandsnavigatie ls of ls -l cp (copy) rm (remove) cd (change current directory) mkdir (make directory) rmdir (remove directory) mv (move / rename) pwd (print Working Directory) whoami (who am I) Touch 8

Veelgebruikte commando s Bestanden bekijken cat cat /map/bestand tac tac /map/bestand cat met more cat /map/bestand more cat met less cat /map/bestand less less less /map/bestand 9

Help opvragen en gebruiken Er is een aantal hulpsystemen ingebouwd: Man-pages (handleiding = manual) Voorbeeld: man grep (=manual van grep) Ingebouwde help in de commando s met -h of --h help man -h cp --h md --h HOWTO (uitgebreidere handleiding hoe iets werkt ook via internet beschikbaar) 10

Zoeken naar bestanden en directory s In Linux kunnen we op verschillende manieren zoeken naar bestanden en directories Zoeken naar bestanden en directories: locate [naam] Zoeken naar bestanden en directories met een deel van de naam Grep gebruiken om de output van een ls te filteren: ls la /etc grep init Zoeken in het bestandsysteem (ook in de bestanden) find 11

Vanaf nu: Vanaf nu gaan we standaard in de CLI werken. Tijdens de installatie hebben we al gekozen voor default runlevel 3 Overigens kunnen we daarna doorstarten naar de GUI. Eenvoudig aan te passen vanuit yast (System -> Services Manager) 12

Piping & Redirecting (CLI) opensuse 13.1 1

Les 4: Piping en Redirecting Vandaag: Redirecting informatie naar het filesysteem Piping informatie tussen processen Enkele voorbeelden 2 Pieter Moens

Piping en redirecting Twee totaal verschillende tools worden wel vaak gecombineerd Piping: de uitvoer van een programma (proces) doorsluizen naar een ander programma (om verder te bewerken ) Redirecting: de uitvoer omleiden naar een ander apparaat (plaats in het filesystem) 3

Piping procesdata Piping-symbool: (verticale streep boven \ ) Met piping kan de output van een proces worden omgeleid naar de input van een ander proces Piping kan worden herhaald (in één commando meerdere pipes na elkaar opgeven) Voorbeelden: ls /etc -l more cat /etc/bestand grep init ls -l sort -r ls -l /etc/init.d grep root sort less 4

Redirecting de standard output Redirect-symbool: > of < Append-symbool: >> Met > of >> kunnen we de output van een proces omleiden naar een bestand (dus in Linux ook naar een apparaat) Voorbeelden: ls -l > /home/user/bestandslijst ls *mp3 -la >> /home/user/bestandslijst cat /etc/configure > /home/user/copy_conf 5

Tekstmanipulatie (CLI), grep, su en sudo opensuse 13.1 1

2 Les 5: Tekstmanipulatie Vandaag: teksten aanpassen Verschillende manieren vi en vim Andere editors nano / pico Editor su en sudo 2

3 Werken met vi en vim Bestanden bewerken vi of vim (vi improved) Twee modi (command en insert) :w :q opslaan (write) afsluiten (quit) :q! afsluiten zonder opslaan :wq :x nano pico afsluiten met opslaan afsluiten met opslaan grep (zoeken en filteren) awk (programmeer- en scripttaal) Handige tools mc Midnight Commander = nagebouwde norton commander (nc) 3

Andere editors vi of vim is in bijna iedere distributie aanwezig Je zult moeten kunnen met vi en vim Sommige distributies kennen ook eenvoudiger editors: edit editor nano Pico Binnen opensuse gaan we later ook nano en pico installeren (hoofdstuk software installatie ) 4

Grep (1) Met het commando grep kunnen we in de command line filteren Grep laat de regels door, waarin het opgegeven patroon (tekst) voorkomt grep wordt meestal gebruikt in combinatie met piping Voorbeeld: ls l /etc grep init Grep kan ook zelfstandig werken, zie: man grep 5

Grep (2) Syntax: Grep [opties] patroon [Bestand] Voorbeeld: ls -l /etc/init.d/ grep rc Cat /etc/bestand grep directie Grep kan ook zelfstandig werken, zie: man grep Geef na grep en het patroon de bestandsnaam waarin je wilt filteren grep opleiding /home/data/sollicitatiebrief 6

Grep (3) Het filter PATROON in grep: letterlijke tekst Lijst van mogelijke karakters tussen [ en ]: [abcd] = òf een a, òf een b, etc [0123456789] een willekeurig cijfer Structuren in de tekst:. (punt). matches any single character.? (vraagteken) The preceding item is optional and will be matched at most once. * (asterisk) het voorgaande item 0 if meer keer herhalen. + (plus) het voorgaande item 1 if meer keer herhalen. {n} {n,} {,m} {n,m} Maar ook combinaties zijn mogelijk het voorgaande item precies n keer herhalen. het voorgaande item precies n of meer keer herhalen het voorgaande item maximaal m keer herhalen het voorgaande item minimaal n, maar maximaal m keer herhalen [123]{3} 3 keer een 1, een 2 of een 3 7

su en sudo (1) In linux werk je standaard met een beperkt account Zonder beheer-rechten, maak je ook geen dodelijke fouten Wil je een commando uitvoeren met root-rechten, dan type je sudo voor het commando Na het opgeven van het root-wachtwoord, wordt alleen dat commando uitgevoerd met root-rechten Voorbeeld (als eigen gebruiker ingelogd): > cat /etc/at.deny permission denied > sudo cat /etc/at.deny werkt wel 8

su en sudo (2) Met het commando sudo log je NIET uit als gewone gebruiker. Je blijft dezelfde gebryiker, alleen krijg je de extra rootrechten erbij Je ziet dus ook alleen de bestanden (en tools) die een gewone gebruiker mag zien. Je wordt dus geen root, maar krijgt alleen diens rechten Voorbeeld (als eigen gebruiker ingelogd): > init 6 init wordt niet gevonden > sudo init 6 init wordt niet gevonden 9

su en sudo (3) Met het commando su (superuser) log je NIET uit als gewone gebruiker, maar laadt je een extra shell, waarin je wel root wordt In de nieuwe sub-shell wordt je volledig root, inclusief de tools en rechten De gewone gebruiker logt niet uit, maar wordt even aan de kant geschoven Met exit sluit je de sub-shell weer af, en wordt je weer de gewone gebruiker die je al was Voorbeeld (als eigen gebruiker ingelogd): > init 6 > su init wordt niet gevonden gevolgd door het ww van de root > init 6 werkt nu wel 10

Linux user- en groupmanagement opensuse 13.1 1

Vandaag: Vandaag: Users aanmaken Vanuit de CLI Vanuit de GUI Groepen aanmaken Vanuit de CLI Vanuit de GUI Introductie Rechten in Linux 2

User- en Group beheer Userinformatie wordt bijgehouden in: /etc/passwd Groupinformatie wordt bijgehouden in: /etc/group Wachtwoordinformatie wordt bijgehouden in: /etc/shadow 3 Pieter Moens

/etc/passwd Opzet van /etc/passwd henk:x:1001:100:henk de Vries:/home/henk:/bin/bash Scheidingsteken is : 1: Usernaam 2: wachtwoord (hash) nu in /etc/shadow 3. UID (User ID) 4. GID (primary Group ID) 5. Volledige naam van de user 6. home-directory van de user 7. default shell (bash) 4 Pieter Moens

/etc/group Opzet van /etc/group testgroep:x:101 Scheidingsteken is : 1: Group-naam 2: wachtwoord (hash) nu in /etc/shadow 3. GID (primary Group ID) 5 Pieter Moens

/etc/shadow (1) Opzet van het bestand /etc/shadow henk:xcrsfr:31245:10:23:5:45:: Scheidingsteken is : 1: Usernaam: 2: Hash van het wachtwoord (normaal veel langer) 3: Aantal dagen sinds 1-1-1970 waarop het ww het laatst gewijzigd is 4: Aantal dagen tot u het ww MAG wijzigen 5: Aantal dagen tot u het ww MOET wijzigen 6: Aantal dagen voordat het ww verloopt wanneer de gebruiker een waarschuwing krijgt. 7: Aantal dagen nadat het ww is verlopen, wanneer het gebruikers-account wordt geblokkeerd 8: Aantal dagen sinds 1-1-1970 waarop het account is geblokkeerd 6 Pieter Moens

/etc/shadow (2) Let OP: In /etc/shadow kan op de plaats van de hashwaarden van het wachtwoord ook andere informatie staan: *,!,!!: Deze tekens houden in dat het account is gedisabled! 7 Pieter Moens

Mogelijkheden nieuwe users Mogelijkheden om nieuwe users aan te maken: Handmatig toevoegen aan de configuratie-file Gebruikmakend van de CLI-tools: useradd groupadd Gebruikmakend van de GUI-tools: In SUSE: Yast 8

Uitwerking handmatig user aanmaken (1) Handmatig de /etc/passwd-file aanpassen: Voeg extra regel toe in /etc/passwd Usernaam Wachtwoord (x daarna naar /etc/shadow) UID GID Full Name Home-directory (bestaat nog niet) Default shell Geef het wachtwoord op en verplaats dit naar /etc/shadow (passwd en pwconv) Maak daarna de home-directory met de juiste rechten handmatig aan (mkdir, chown en chmod). Vul de home-directory met standaardinhoud (kopieer /etc/skel naar de home-directory). 9

Uitwerking handmatig user aanmaken (2) Voeg de volgende regel toe aan /etc/passwd naam:x:1001:100:lange naam:/home/naam:bin/bash Geef (als root) het wachtwoord op: > passwd naam Verplaats de wachtwoord info naar /etc/shadow > pwconv Maak de home-directory > mkdir /home/naam Maak de user eigenaar van de home-directory > chown naam /home/naam 10

Uitwerking handmatig user aanmaken (3) Kopieer de inhoud van /etc/skel naar de home-directory: > cp /etc/skel/ /home/naam -r > chown naam /home/naam Zorg dat alleen de eigenaar in deze map kan komen: > chmod R go-rwx /home/naam Over deze rechten later meer Kortom: Lastiger kunnen we het niet maken, wel makkelijker: useradd (met één commando al deze handelingen automatisch) 11

Uitwerking handmatig groep aanmaken (1) Handmatig de /etc/group-file aanpassen: Voeg extra regel toe in /etc/group groupnaam Wachtwoord (x daarna naar /etc/shadow) GID Geef het wachtwoord op en verplaats dit naar /etc/shadow (passwd en pwconv) 12

Uitwerking handmatig groep aanmaken (2) Voeg de volgende regel toe aan /etc/group groepnaam:x:500 Geef (als root) het wachtwoord op: > passwd g groepnaam Verplaats de wachtwoord info naar /etc/shadow > grpconv Kortom: Lastiger kunnen we het niet maken, wel makkelijker: groupadd (geïntegreerde tool) 13

Gebruik de automatische tools Gebruik: useradd groupadd Doe alles in één opdracht. Inclusief aanmaken en inrichten van de home-directory Inclusief instellen van de wachtwoorden Gebruik de commando s: man useradd man groupadd om uit te zoeken hoe het moet 14

Useradd, userdel, usermod Useradd: -d (pad naar home-directory) -m home-directory aanmaken -c Commentaar en/of volledige naam -g Group-id -G Groupname -u User-id -p Password (onbeveiligd, gebruik liever het losse commando: passwd Userdel: Op basis van naam of user-id Usermod: Aanpassingen met behulp van bovenstaande opties 15

User- en Group management in de GUI De bestanden /etc/passwd, /etc/group en /etc/shadow kunnen ook vanuit de grafische schil beheerd worden: Start Yast (met het root-wachtwoord) Ga naar: Security and Users Klik op User Management of Group Management Dit zijn dezelfde tools Met een radio-button kies je voor users of Groups 16 Pieter Moens

17 Pieter Moens

18 Pieter Moens

19 Pieter Moens

20 Pieter Moens

21 Pieter Moens

22 Pieter Moens

Vandaag: Vandaag hebben we: 23 Pieter Moens Kennis gemaakt met de bestanden: /etc/passwd /etc/group /etc/shadow Kennis gemaakt met de tools: useradd groupadd yast chown chmod

Traditionele Rechten in Linux opensuse 13.1 1

Les 7: Traditionele rechten Vandaag: Welke rechten kent Linux? Welke objecten krijgen rechten? Verschillende notaties Hoe zien we de rechten? Welke tools hebben we hiervoor? 2

Welke rechten kent Linux? De rechten: r w x op een bestand Afko: betekenis r: read: lezen van de inhoud van het bestanden w: write: schrijven in het bestand (inhoud) x: execute: uitvoeren van programma of script. De rechten: r w x op een directory Afko: betekenis r: read: de bestanden in de directory zien w: write: bestanden aanmaken, wissen, hernoemen x: execute: de directory kunnen openen / activeren 3

Gebruik van de rechten (1) Een directory is een bestand!!! Een bijzonder bestand, met verwijzingen naar andere bestanden (en dus ook weer directory s) De rechten op een directory, hebben betrekking op de inhoud van het directory-bestand. Voorbeelden: Om een nieuw bestand in een directory te kunnen maken, moet je een nieuwe verwijzing in de directory aanmaken. Hiervoor heb je SCHRIJFrechten (w) op de directory nodig. Om een bestand uit een directory te kunnen wissen, moet je een verwijzing in de directory verwijderen. Hiervoor heb je SCHRIJFrechten (w) op de directory nodig. VRAAG: wat heb je nodig om een bestand te hernoemen? 4

Gebruik van de rechten (2) Linux kent geen overerving van rechten: Elk bestand (dus ook een directory) heeft zijn eigen rechten De rechten van de directory, gelden NIET voor de bestanden in de directory De rechten van een bovenliggende directory werken niet op onderliggende directories 5

Waarop kunnen we de rechten geven? We kunnen de rechten geven aan: De eigenaar (user) De eigenaar-groep (group) De rest van de wereld (other) Deze rechten kunnen dus alleen op eigenaren of iedereen gegund worden Elke van deze 3 eigenaren kunnen de 3 verschillende rechten hebben of juist niet 6

De notatie van de rechten: De notatie voor een map met: Eigenaar: henk Groep: tessie Een r, w of x geeft aan dat de rechten aan staan Een streepje geeft aan dat de rechten uit staan Voorbeeld 1: [rwxrwxrwx] De eerste 3 rechten gelden voor de owner De tweede 3 rechten gelden voor de group De laatste 3 rechten gelden voor de rest Voorbeeld 2: [rw-r--r--] De user/eigenaar heeft read en write De group heeft alleen read De other/rest van de wereld heeft alleen read 7

Instellen van de eigenaren (1) De user/eigenaar wordt ingesteld met: chown (change owner) Syntax: chown usernaam /dir/dir/file Meer info: man chown De group/eigenaar-groep wordt ingesteld met: chgrp (change group) OF chown :groepnaam (let op de : ) Syntax: chgrp groupnaam /dir/dir/file Meer info: man chgrp chown pieter:users /home/test Met chown zonder dubbele punt: usernaam Met chown met een dubbele punt: groepnaam 8

Toewijzen van de rechten (1) Rechten worden toegekend met: chmod per object (u, g, o) worden de rechten met + toegekend per object (u, g, o) worden de rechten met verwijderd Per object kan ook een - op de plaats van het recht dat niet wordt toegekend staan. rwxr-x--x 9

Toewijzen van de rechten (2) Rechten worden toegekend met: chmod Syntax: chmod [u g o][+ -][r w x] naam map/bestand Meer info: man chmod Rechten toevoegen: per object (u, g, o) worden de rechten met + toegekend Rechten verwijderen: per object (u, g, o) worden de rechten met - gewist 10

Toewijzen van de rechten (3) Voorbeelden: chmod u+rw /var/test Geef de gebruiker (owner) rw rechten op /var/test chmod g+rx /var/test Geef de ownergroup rx rechten op /var/test chmod o-rwx /var/test Haal de rechten rwx op /var/test weg voor de rest chmod u+rx-w /var/test Geef de gebruiker de rechten rx en haal het recht w op /var/test weg. chmod go-x /var/test -R Haal het x -recht weg bij de group en de other en doe dit ook voor alle subdirectories. 11

12 Andere notatie: Gebruik de rechten rwx alsof het 3 bits zijn: Geef de bits de gewone waarden 4, 2 en 1 4 = read, 2 = write 1 = execute Tel de waarden van de rechten bij elkaar op: 6 = read en Write 5 = read en execute 7 = read, write en execute 0 = geen rechten Geef de rechten voor alle objecten in één keer weer: Chmod 764 /var/testfile de eigenaar heeft rwx, de groep rw- en de rest alleen r--

Hoe kan ik zien welke rechten er zijn uitgedeeld? Hoe kan ik zien welke rechten er zijn uitgedeeld? Gebruik: ls l 13

Rechten Vooraan de regel staan 10 (!) codes Eerste is bijzonder zie volgende dias Daarna 3 rechten voor de user (rwx) Daarna 3 rechten voor de groep (rwx) Daarna 3 rechten voor de rest (rwx) - = het recht op die plaats staat UIT 14

Rechten in de GUI In de GUI is het allemaal wat makkelijker point and click (rechts > properties ). 15

Nog één ding Nog even wat speciale informatie: Sticky bit Wanneer het sticky-bit op een directory aanstaat kan een user alleen zijn eigen bestanden wissen. Het is dus niet langer voldoende om w(rite) te hebben om te kunnen wissen (de user moet ook owner zijn) Sticky-bit wordt een t op de plek van de x voor other Sticky-bit is niet altijd (meer) geïmplementeerd Probeer het uit en je weet of het werkt SUID (s) en GUID (S) Start een programma met root -rechten (ook als user) De s of S staat op de plaats van de x 16

Sticky Bit Sticky bit heeft de waarde 1 SGID (S) heeft de waarde 2 SUID (s) heeft de waarde 4 Voorbeeld: 6764 betekent: SUID en GUID staan aan Sticky bit staat uit User heeft rwx Group heeft rw- Other heeft r-- Andere notatie is: -rwsrwsr-t Voorbeeld 2: 7755 is -rwsr-sw-t 17

Vandaag Vandaag hebben we Kennis gemaakt met de rechten: read, write, execute user, group, other Kennis gemaakt met de tools: chown chmod chgrp Links naar bestanden Symbolic link Hard link Link-opdrachten link ln 18

Opdrachten Maak de volgende opdrachten 19

Rechten in Linux met ACL s opensuse 13.1 1 Copyright: Pieter

Les 8: Rechten en ACL Vandaag: Korte herhaling traditionele rechtensysteem Wat is een ACL? Welke ACL kent Linux? Welke tools hebben we hiervoor? 2

3 Traditionele Traditionele rechten (1): (1) Herhaling Traditionele rechten: 3 Objecten: Gebruiker die eigenaar is (user) Groep die eigenaar is (group) De rest van de wereld (other) Elk object kan 3 rechten krijgen? Read (r) Write (w) Execute (x) 3

4 Traditionele rechten (2) Nadelen Traditionele rechten: Er kan per bestand/directory maar aan 1 gebruiker rechten worden uitgedeeld Er kan per bestand/directory maar aan 1 groep rechten worden uitgedeeld Een gebruiker kan standaard maar van 1 groep lid zijn Kortom: niet flexibel genoeg 4

5 Traditionele rechten (3) Wat hebben we nodig om flexibeler te zijn Per bestand/directory meer dan 1 gebruiker rechten kunnen geven. Per bestand/directory meer dan 1 groep rechten kunnen geven. Een gebruiker moet van meerdere groepen lid kunnen zijn Hierna de oplossingen in Linux 5

6 ACL (1) Welke uitbreidingen kent Linux? Om Linux compatible te maken met Windows (voor clients) gebruiken we SAMBA. Binnen Linux kunnen we de POSIXcompatible ACL's gebruiken De POSIX-ACL's zijn beschikbaar vanaf Ext2, Ext3, Ext4 en Reiser. De POSIX-ACL-oplossing is compatible met zowel het traditionele systeem, alsook SAMBA 6

7 ACL (2) Hoe werken de ACL's? In aanvulling van de traditionele eigenaars kunnen we extra users en groepen op een directory of bestand extra rechten geven De traditionele rechten blijven bestaan. De ACL-rechten komen er extra bij 7

8 8 ACL (3) Hoe werken de ACL's? De extra user en groupen worden named genoemd: Named users: op basis van de naam van de gebruiker worden extra rechten toegekend. Named groups: op basis van de naam van de groep worden extra rechten toegekend. In een nieuw systeem worden deze named objecten en de oude rechten getoond

9 ACL (4) Type: Text Form: owner user::rwx named user1 user:name1:rwnamed user 2 user:name2:r-x owning group group::rwx named group1 group:name1:rwnamed group2 group:name2:r-x mask mask::rwx other other::rwx 9

10 ACL (5) De rechten van de user en other zijn altijd ook de effectieve rechten De rechten van de named-objecten worden gecombineerd met de instellingen van het mask Alleen de rechten die de named user heeft en die in het mask voorkomen, zijn de effectieve rechten Voorbeeld: 10

11 ACL (6) Entry Type Text Form Permissions named user user:jane:r-x r-x mask mask::rw- rw- Effective permissions: r-- 11

12 ACL (7) Welke tools gebruiken we met ACLrechten? getfacl voorbeelddir Vraag de ingestelde rechten op setfacl -m user:truus:rwx, group:secreten:rwx mydir Stel de rechten rwx in voor de named-user 'truus' en de rechten rwx voor de named-group 'secreten' 12

13 ACL (8) Tools: setfacl stelt automatisch het 'mask' in om de effectieve rechten mogelijk te maken Wil je het 'mask' niet automatisch laten uitbreiden moet je '-n' toevoegen. 13

14 ACL (9) Het standaard mask voor nieuwe bestanden kunnen we instellen met: umask Een default ACL kunnen we instellen met: setfacl -d -m group:test:r-x mydir stel de default waarden (-m = modify) 14

15 ACL (10) > getfacl voorbeelddir # file: voorbeelddir # owner: tux # group: test user::rwx user:jane:rwx group::r-x group:test2:rwx mask::rwx other::--- default:user::rwx default:group::r-x default:group:test3:r-x default:mask::r-x default:other::--- 15

16 16 ACL (11) De default rechten (en mask) worden automatisch meegenomen in de nieuwe sub-directory's (overerven) Nieuwe bestanden krijgen standaard de rechten 666 binnen de rechten van het bestaande mask (van touch). De nieuwe rechten worden de effectieve rechten van rw- op de user, group en other en wat er in het mask is ingesteld: Staat het masker op r-x dan wordt het nieuwe bestand r--

17 ACL (12) Kortom: Met ACL zijn we wel flexibel ACL's zijn niet erg eenvoudig en overzichtelijk Vaak: toch maar kiezen voor SAMBA 17

18 ACL (Vandaag) Kennis gemaakt met de noodzaak van ACL's De tools getfacl en setfacl leren gebruiken Het 'mask' leren gebruiken 18

Software installeren opensuse 13.1 1 Copyright: Pieter

2 Vandaag: Vandaag: Verschillende methoden Voorbeelden 2

3 Verschillende manieren van installeren Verschillende manieren van software installeren: Van de distributie-cd/dvd Van de website van de distributeur (update) Downloaden van de software fabrikant: Packages (rpm en deb) Compileren 3

4 Installatie vanaf de distributie-cd/dvd Plaats de cd of DVD in de drive en start Yast Kies software management Kies vervolgens voor search/patterns/modules 4

5 On-line updates Kies voor online updates Voeg een installation source toe! 5

6 Packages Meest gebruikte packages: rpm (Redhat Package Manager) Installeren met rpm of Yast rpm i [packagenaam.versienr] rpm e [applicatienaam] deb (Debian Packages) Installeren met dpkg of Yast dpkg apt-get [options] [command] [package...] Options: -m, -f, -d Commands: install, update, remove etc. Zie helpfiles en howto s 6

7 Compileren Software wordt meestal gedistibueerd als tarball (*.tar.gz) Tar-balls doen twee zaken: Inpakken in één file (tar) Comprimeren (gzip) Uitpakken in één commando: tar In de tarball zit vaak (controleer dit) Broncode (.c.h) Configuratie-file met informatie over afhankelijkheden Installatie-istructie 7

8 Installatie van een tar-ball 1. Na uitpakken, installeren met:./configure make make install 2. volg de installatie-instructie VOORWAARDEN voor dit soort installaties: Er moet een C-compiler zijn (bijv: gcc) De benodigde header-files (en veelgebruikte bronbestanden) moeten aanwezig zijn Houdt rekening met verschillen tussen distributies (paden) 8

9 Afronding: Software installatie in Linux is NIET gestandaardiseerd Bekijk bij het downloaden of er info bestaat over hoe het te installeren is Gewoon veel doen! 9

Devices in het Linux Filesystem opensuse 13.1 1 Copyright: Pieter

2 Vandaag: Vandaag: Naamgeving van devices? Hoe gebruiken we devices? Mounten van Devices CD/DVD USB netwerk 2

3 Devices Welke devices kennen we? 3 Opslagmedia Harddisks Floppy s CD/DVD-spelers Communicatie Netwerkkaarten Etc. Overige apparaten (alle) toetsenbord en beeldscherm tty1 t/m tty6 Geheugen Processor

4 Devices (2) Devices: Altijd een gestructureerde naam Altijd te vinden onder /dev/ 4

5 Naamgeving (1): Naamgeving van de devices: Harddisks: /dev/hda, /dev/hdb, etc (IDE) /dev/sda, /dev/sdb, etc (SATA) Partities /dev/hda1, /dev/sdb3, etc (Primaire partities nrs. 1 t/m 4) De Extended Partition is een bijzondere vorm van primaire partitie /dev/hda5, /dev/hdb7, /dev/sda5 (Logical drives nrs. >= 5) 5 Floppy: /dev/fd0 (eerste floppy)

6 Naamgeving (2): Netwerkkaart: /dev/eth0 (eerste netwerkkaart) /dev/wlan1 (tweede draadloze netwerkkaart) /dev/lo (Loopback per nic 127.0.0.1) Printers /dev/lp0 Alle apparaten hebben een naam. Zelfs het apparaat dat niet bestaat: null (alles wat naar null wordt verplaatst verdwijnt) 6

7 Mounten Mounten: Het koppelen van een apparaat of schijf/partitie aan het bestandsysteem Koppel het nieuwe apparaat aan een bestaande directory Geef in geval van twijfel de formattering (het gebruikte bestandsysteem) zie volgende dia's Mount naar een subdirectory van: /media (voor SUSE) /mnt (meer algemeen) 7

8 Bestandsindelingen (standaard) adfs hfs smbfs affs hpfs (ro) swap autofs iso9660 sysv btrfs jfs tmpfs cifs minix udf coda msdos ufs coherent ncpfs umsdos cramfs nfs usbfs devpts ntfs (ro) xenix efs proc vfat ext qnx4 Xfs ext2 ramfs Xiafs ext3 reiserfs Zfs 8 ext4 romfs

9 Bestandsindelingen (rood = meest gebruikt) adfs hfs smbfs affs hpfs (ro) swap autofs iso9660 sysv btrfs jfs tmpfs cifs minix udf coda msdos ufs coherent ncpfs umsdos cramfs nfs usbfs devpts ntfs (ro) xenix efs proc vfat ext qnx4 Xfs ext2 ramfs Xiafs ext3 reiserfs Zfs 9 ext4 romfs

10 De opdracht mount (1) Het commando Mount Syntax: mount [device] [directory] mount /dev/hda1 /media/c-schijf Let op: De directory waarnaar gemount wordt moet al bestaan, maar leeg zijn Voorbeeld 1: mounten van een CD/DVD Voorbeeld 2: mounten van een USB-stick 10 Voorbeeld 3: mounten van een samba share

11 Voorbeeld 1: Mounten van een CD/DVD Mounten van een CD/DVD apparaat: Stap 1: Achterhaal de devicenaam van het apparaat Stap 2: Maak een directory en koppel het device hieraan. CD Mounten: Achterhaal de devicenaam: dmesg grep hd dmesg grep sd mkdir /media/cdrom mount /dev/hdc /media/cdrom 11

12 Voorbeeld 1: Mounten van een CD/DVD 12

13 Voorbeeld 2: Mounten van een USB-stick Mounten van een USB-stick Maak een directory voor de mount mkdir /media/usbstick Zoek met dmesg naar de juiste devices dmesg grep sd Vraag een lijst van USB-devices op met lsusb Mount het volume sda1 aan de nieuwe dir: mount /dev/sda1 /media/usbstick 13

14 Voorbeeld 3: Mounten van een netwerkdrive (Samba) Mounten van een Samba of CIFS-share Stap 1: Achterhaal het netwerkpad Stap 2: Maak een directory Stap 3: Mount de share op de directory. Het netwerkpad moet met UNC-notatie: Met de computernaam Met het ip-nummer Evt. met usernaam mount -t cifs //computernaam/share /media/net 14 mount -t cifs -o user=pieter //192.168.1.1/share /media/net

15 Vandaag: Vandaag hebben we: Kennis gemaakt met naamgeving van devices en het mounten ervan Kennis gemaakt met de commando s? mount umount dmesg 15

Harddisk- en partitiebeheer opensuse 13.1 1

2 Vandaag: Vandaag: Beheer van mounts Beheer van harddisks en partities 2

3 Beheer van mounts Mount Een mount kan realtime worden aangemaakt, zonder herstart Een mount kan realtime worden verwijderd, zonder herstart umount 3

4 Beheer van mounts In /etc/fstab staan mounts die bij iedere boot gemaakt moeten worden: less /etc/fstab Als 'root' kun je het bestand aanpassen: Device, mountdir, bestandsindeling, rechten 4

5 Beheer van Partities in een Harddisk Nieuw onderwerp: Met Mount kunnen we alleen bestaande schijven / partities koppelen Een extra schijf moet ingebouwd worden Een extra schijf kunnen we indelen met het (sub)commando: fdisk LET OP: Een partitie moet daarna nog wel een bestandsindeling krijgen (filesystem) 5

6 Beheer partities Gebruik de tool fdisk fdisk /dev/sda fdisk opent een subshell met mogelijke acties: m help n new partition p print partition table d delete partition l list known partition types (82, 83) w write partition table q quit without save a toggle bootable flag (active part.) 6

7 Beheer bestandsysteem Maak een nieuw filesysteem (=formatteren) mkfs.[subsysteem] mkfs.ext2 of: mke2fs mkfs.ext3 of: mke3fs mkfs.vfat of: mkdosfs mkfs.reiser mkfs [ -t filesys ] [ fs-options ] filesys Voorbeeld: mkfs.ext3 /dev/sdb1 mkdosfs /dev/hdd2 7 Voorwaarden: De ondersteunende filesystems moeten in de kernel geladen zijn. Bij opensuse (nog) geen ondersteuning van ReiserFS

8 8 Voor de liefhebber: (Novell NSS-volumes onder Linux) (1) -t fstype Specifies the type of file system to be built, such as nsspool or nssvol. For example: -t nsspool -t nssvol fs-options File-system-specific options to be passed to the real file system builder. When creating an NSS pool, use this fs-option: -n poolname Replace poolname with the actual name of the pool you want to create. When creating an NSS volume, use this fs-option: -n volname Replace volname with the actual name of the volume you want to create. filesys for nsspool, this is device name ( devname such as /dev/hda1 or /dev/sdb2)

9 Harddisk beheer Yast (GUI en CLI) Start yast (GUI en CLI) Kies voor System en vervolgens voor Partitioner Ga akkoord met de waarschuwing dat dit alleen voor experts bedoeld is Dat zijn wij 9

10 10

11 11

12 12

13 13

14 14

Linux filesystems (ext) opensuse 13.1 1

2 Vandaag: Vandaag: File systemen onder Linux Geschiedenis Ext en Reiser Beheer van bestandsysteem ext3 Inode debugfs 2

3 EXT extended file system (1) Bestaat sinds 1992 ter vervanging van het minix-bestandsysteem: 16 bits adressen Bestandsnaam: maximaal 14 tekens Maximale adresseerruimte: 64 MB. Practische keuze van Linus Torvalds om makkelijk te kunnen werken met zijn nieuwe kernel Maximaal 255 tekens in de bestandsnaam Maximale omvang van het systeem: 2 Gb Door zijn beperkingen vervangen door Ext2 3

4 EXT extended file system (2) EXT maakt gebruik van inodes: Een inode is een verzameling informatie over een bestand en bevat onder meer: het bestandstype (directory, executable of niet, link, etc.), toegangsrechten (lezen, schrijven, execute - per gebruiker, groep en iedereen), eigenaars van het bestand, tijdstempel van laatste wijziging, bestandsgrootte adressen op de harddisk van de datablokken waarin het bestand opgeslagen ligt. 4

5 EXT extended file system (3) Inode adressen zijn 21 bits lang en een blok kan 1 kilobyte bevatten (= 2 10 dus interne adressen van 10 bits), waarmee een bestand dus een maximale grootte heeft van 2 21 + 10 = 2 31 = 2 GB. Één enkel bestand kan dus het hele bestandsysteem bezetten. 5

6 Directory onder ext (1) 6 Een directory is een speciaal bestand, met informatieparen: een LINK Een informatie-paar maakt een koppeling (link) tussen een naam en een inode In ext kunnen meerdere namen gekoppeld worden aan één inode Een bestand kan meerdere

7 Directory onder ext (2) Een bestandstructuur onder ext (of überhaupt in Linux) is een BOOM-structuur Dus: geen BOS-structuur zoals FAT en NTFS Alle paden beginnen op één punt de root van het systeem ofwel: / 7

8 Datablokken en superblok (1) Een bestandssysteem zoals ext is: een verzameling datablokken, onderling geordend in een aantal blokgroepen. Deze blokgroepen staan achter elkaar op de harddisk en bevatten ieder een lijst van inodes en een aantal stukken voor echte data (om bestanden in te schrijven dit zijn de datablokken). 8

9 Datablokken en superblok (2) Het eerste datablok (vooraan, de eerste blokgroep, vrijwel vooraan de harddisk direct na de bootsector) is bij ext speciaal > dit is het superblok. Dit blok bevat informatie over de andere datablokken (voornamelijk het aantal) en alle blokgroepen (aantallen, locaties, etc.), zoals adressen van die blokken. 9

10 Datablokken en superblok (3) Het superblok is gemarkeerd door een magic number een "magisch getal", afgesproken als herkenningsteken. Dit getal staat op een vaste positie ten opzichte van het begin van het superblok (vanaf bit nummer 143). In het geval van ext is dit getal BE5A941 (hexadecimaal). 10

11 EXT2 (1) second extended file system EXT2 second extended files system EXT 2 is het traditionele bestandssysteem voor Linux distributies EXT 2 kent de volgende kenmerken: Lange bestandsnamen (255 tekens) Hoofdlettergevoelig Maximale grootte 4 TeraByte (Linux: 2 TeraByte) Geen bestandsnamen maar inodes 11

12 EXT2 (2) Geen namen maar inodes (informatie over het bestand) bestandstype (directory, executable of niet, link, etc.), toegangsrechten (lezen, schrijven, per gebruiker, groep en iedereen), eigenaars van het bestand, tijdstempel van laatste wijziging, bestandsgrootte en adressen op de harddisk van de datablokken waarin het bestand opgeslagen ligt 12

13 EXT2 (3) De eerste 10 blokken staan in een lijst. Als een bestand langer is dan 10 blokken staat er een "eerste-niveau-i-node". Dit is een verwijzing naar een sector met 170 verwijzingen. Als een bestand langer is dan 10 + 170 blokken staat er een "tweede-niveau-i-node". Dit is een twee-dimensionale structuur die verwijst naar eerste-niveau-i-nodes. Als een bestand langer is dan 10 + 170 + (170 * 170) blokken staat er een "derde-niveau-i-node". En dit is een drie-dimensionale structuur die verwijst naar tweede-niveau-i-nodes. 13

14 EXT2 (4) Deze adressen zijn 21 bits lang en een blok kan 1 kilobyte bevatten (= 2 10 dus interne adressen van 10 bits), waarmee een bestand dus een maximale grootte heeft van 2 21 + 10 = 2 31 = 2 GB. Één enkel bestand kan dus het hele bestandsysteem bezetten. Tegenwoordig worden voor de adressen 32- bits gebruikt. De grootte is nu exponentieel 14

15 Filesystems Ext2 Groups Superblock Group descriptor Block bitmap Inode bitmap Inode table Datablocks Superblock: Info over gehele fs 15

16 EXT 3 / Reiser FS EXT3 = EXT 2 + Transacties + ReiserFS = EXT 2 + Transacties + ReiserFS is 30% sneller met veel kleine bestanden dan Ext 3 Met grote bestanden is er ReiserFS maximaal 10% sneller. ReiserFS: Met de meeste Europese Distributies, Ext3 met de meeste Amerikaanse Distri s. 16

17 Bitmaps: 1 = block in gebruik, 0 = block is niet in gebruik 1 bestand = 1 inode (vgl. MFT record) Data is niet opgeslagen in inodes In de inode kan een lijst van max. 15 pointers naar datablocks worden opgeslagen Created, modified, accessed Filesystems Timestamp Klok, tijdzone Eenvoudig aan te passen In several recent court cases, it has been alleged that the timeline cannot be established beyond reasonable doubt, since the time-source may be manipulated or time-stamps may be manipulated by computer programs. 17

18 EXT 3 / Reiser FS Transaction Method Schrijfacties worden gebufferd in gereserveerde ruimte. Alle handelingen worden vooraf in een log vastgelegd. Pas als alle handelingen succesvol zijn verlopen wordt de log opgeschoond. Na een crash (of niet geplande reboot) worden alle logs opnieuw afgespeeld Voordeel: nooit verlies van data ZONDER DAT JE HET MERKT Nadeel: lagere performance Ook: op NTFS, ReiserFS, en NSS 18

19 Vandaag: Vandaag gedaan: File systemen onder Linux Geschiedenis Ext en Reiser Volgende les: Beheer van bestandsysteem ext3 Inode debugfs 19

Inode Hard- en symbolic link opensuse 13.1 1

Les 13: Inodes, directory s en links Vandaag: Inode (tabel) Directory s Hard- en Symbolic links Andere file-systems met links 2

De inode (1) Iedere linux partitie bevat een inode-tabel In de inodetabel staat voor ieder bestand (en dus directory) één inode Eén inode-record bevat informatie OVER een bestand (en directory) in het systeem De inode wordt gebruikt om het bestand aan te duiden 3

De inode (2) Informatie in een inode-record: Inodenummer (uniek per bestand: ID) Aantal verwijzingen Grootte van het bestand Datums: Aanmaakdatum (create date) Wijzigingsdatum (change date) Laatste keer gebruikt (last access date) Wis datum (date deleted) Eigenaar/user (uid) Groep /group (gid) Rechten user / group / other [rwxrwxrwx] Extra s zoals attributen en Verwijzing naar de bestandsdata op de partitie (zie verderop) 4

INODE van een Ext2-filesystem: struct ext2_inode u16 i_mode; /* File mode */ u16 i_uid; /* Owner Uid */ u32 i_size; /* Size in bytes */ u32 i_atime; /* Access time */ u32 i_ctime; /* Creation time */ u32 i_mtime; /* Modification time */ u32 i_dtime; /* Deletion Time */ u16 i_gid; /* Group Id */ u16 i_links_count; /* Links count */ u32 i_blocks; /* Blocks count */ u32 i_flags; /* File flags */ union u32 i_block [EXT2_N_BLOCKS]; /* Pointers to blocks */ ZIE VOLGENDE DIA u32 i_version; /* File version (for NFS) */ u32 i_file_acl; /* File ACL */ u32 i_dir_acl; /* Directory ACL */ u32 i_faddr; /* Fragment address */ union Meer info en bron: Klik deze link 5

De inode (3) In iedere inode is ruimte voor 10 data-blokken voor het bestand. Is het bestand groter,. Dan worden deze blokken gebruikt, met verwijzingen naar extra datablokken (170 stuks per blok) Is dat nog niet genoeg direct: 10 indirect: 10 * 170 double indir. 10 * 170 * 170 triple indir. 10 * 170 3 Etc Etc, etc 6

Directory (1) Een directory is een BESTAND Met verwijzingen naar andere bestanden In een directory wordt de naam aan een bestand gegeven Een naam van het bestand wordt gekoppeld aan het unieke inode-nummer van het bestand Een bestand staat dus NIET echt IN een directory, maar ergens op de partitie 7

Directory (2) Een directory is NOODZAKELIJK om een bestand te kunnen vinden: In de directory is de naam opgegeven Via het gekoppelde inode-nummer wordt in de inodetabel de rest van de info opgezocht In de inode tabel staat de verwijzing naar de datablocks waar het bestand écht staat Linux: één directory verplicht / de rootdirectory Wordt aangemaakt met het bestandsysteem Elke linux partitie krijgt zo n root-directory. Bij het mounten wordt deze root gekoppeld aan een andere directory. (Zie vorige lessen over devices en mounten) 8

Directory (3) Wat is er te zien in een directory? In onderstaande afbeelding komt alleen de bestandsnaam uit de directory Uit de inode komt de rest van de info: Rechten (rwxrwxrwx) Aantal links User (via de UID) Group (via de GID) Omvang (in bytes) Mutatie datum (de 3 andere datums zijn niet zichtbaar) Of het een d, een l of file is 9

De link (1) een introductie Een bestand wordt dus in een directory gekoppeld aan een inode In linux kan je in meer directory s een koppeling maken naar dezelfde inode! In linux kun je meer namen (in één directory) aan hetzelfde inodenummer koppelen. Eén bestand kan dus in meerdere directory s en met verschillende namen in het bestandsysteem voorkomen. Dit zijn GEEN kopieën! Het blijft één bestand (1 x ruimte) 10

De link (2) De hardlink is de gewone verwijzing naar een bestand. Het eerste teken bij ls -l is bij een hardlink een - (min) Wanneer je een bestand (=hardlink) wist wordt alleen de verwijzing uit de directory verwijderd. Pas als de laatste hardlink wordt gewist, wordt de ruimte van het bestand vrij gegeven N.B.: een bestand wordt NOOIT gewist. De ruimte wordt vrijgegeven, zodat het kan worden overschreven. Zolang dit niet gebeurd is, kan het bestand teruggehaald worden 11

De link (3) Voorbeeld: Op de volgende dia een voorbeeld in het gebruik van de hardlink met twee bestandsnamen: Oefenbestand (origineel) Oefening2 (gelinkt bestand) Na wissen van het origineel blijft de 2 e link bestaan Werkt ook vanuit verschillende directory s 12

13

De symbolic link (1) Naast de hardlink bestaat in linux een symbolic link Deze herken je door een l vooraan de regel met ls l Een symbolic link verwijst naar een directory (-verwijzing) en niet naar de inode. 14

De symbolic link (2) Symbolic link Extra verwijzing naar een reeds bestaand bestand. De symbolic link werkt als een snelkoppeling De symbolic link is alleen de verwijzing Wanneer het bestand waarnaar verwezen wordt gewist wordt, verliest de symbolic link zijn functie: zie voorbeeld op volgende dia 15

Voorbeeld symbolic link 16

Hard- vs. symbolic link Een hardlink is veiliger dan een symbolic link (blijft bestaan) Een hardlink werkt alleen BINNEN één partitie. Een symbolic link kan ook naar andere partities en apparaten verwijzen. 17