• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/62

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

62 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)
Was sind die Bestandteile eines Betriebssystems?

- Betriebssystemkern


- Grundlegende Bibliotheken


- Systemprogramme


- Oberfläche(n)

Was ist/macht der Betriebssystem Kern allgemein?

- Schnittstelle zur Hardware (Abstraktionsschicht)


-- Prozessor


-- Speicher


-- Geräte


- Speicherverwaltung


- Prozessverwaltung/Scheduler


- Geräteverwaltung


- Dateisysteme

Was sind die besonderen Eigenschaften des Linux Kernel?

- Modularer Monilithischer Kernel


- Module = Treiber


- Kernel Threads = Ansätze von Micro Kernel

Was ist der Unterschied zwischen Monolithisch und Microkernel?

Was ist ein Kernel Modul?

- kernel code der zur Laufzeit geladen werden kann


- Hauptnutzen: Treiber (Geräte, Dateisysteme, Netzwerkprotokolle)


- grund: wachsende Kernelgrösse, verteilte Entwicklung/Kapselung


- Mindestanforderung: init_module und cleanup_module Funktion

Was sind Kernel Threads?

- einzelne Kernelfunktionen, die in eigene Threads ausgelagert wurden, um den Hauptthread nicht zu belasten


- existieren trotz monolithischer Struktur


- Kernel memory highest priority


- "housekeeping"


- Abarbeitung von Aufgaben mit hoher Wartezeit(SWAP, IRQ)

Welche Oberflächen/Interfaces gibt es?

- Shell → Textinterface (klassische Konsole)


- X11 → grafische Oberfläche (Grafiktreiber)


-- Nutzbare Fensterelemente über WindowManager (KDE, Gnome ..)

Wie lauten die UNIX Grundsätze?

- Alles ist eine Datei


-- universell (universelles Interface)


-- leicht miteinander verknüpfbar


- POSIX Standard


- Alle Dateisysteme in einer Hierarchie (VFS)


- ELF binary Format

Was ist eine Distribution?

- vollständiges Linux Betriebssystem


- Kernel


- Programme


- GNU / gcc Environment


- POSIX Struktur


- SH basierte shells / X11

Wie läuft der Bootvorgang grundsätzlich ab?

Eigenschaften der Firmware Stage (Bootvorgang 1/4)

- Direkt architekturabhängig


- BIOS (für PC Architektur)


- Auswahl Bootmedium


- z.B BIOS Funktionen für Festplattenzugriff


- MBR wird ausgeführt (512 Byte vomBootmedium)


- Boatloader wird gestartet

Eigenschaften der Bootloader Stage (Bootvorgang 2/4)

- Aufgaben des Bootloaders:


-- Kernel laden


-- Kernel mit boot Informationen versorgen



- Verschiedene Bootloader


-- LILO


-- GRUB


-- Andere: loadlin,syslinux

Eigenschaften der Kernel Stage (Bootvorgang 3/4)

Initialisierungsaufgaben:


- CPU Geschwindigkeit und delay loop (Kalibrierung intern für Zeitmessung)


- Anzeige Hardware


- PCI Bus anbinden


- Virtual Memory Management


- Einkompilierte Treiber initialisieren

Was sind die Eigenschaften der initial Ramdisk?

- Zugriff auf ein RootFS vor eigentlichen Systemstart ermöglichen


-- ermöglicht laden von Treibern


- reservierter Bereich im Arbeitsspeicher


- enthält das Abbild eines Dateisystems mit den zum Start des Systems benötigten Dateien


- Kann Treiber laden die für den Zugriff auf das root filesystem notwendig sind


- Motivation: Treiber in den Kernel einbinden → Neu kompilieren



Vorgang:


- Komprimierte Initial Ramdisk wird in normale Ramdisk entpackt


- Unkomprimierte Ramdisk wird als root fs eingehängt


- /linuxrc aus ramdisk wird ausgeführt


- Module werden geladen


- "Normales" root fs wird eingehängt


- init wird ausgeführt

Eigenschaften der Init Stage (Bootvorgang 4/4)

- init hat Prozessnummer 1


- Der Systemstart nach dem Kernel wird vom init Prozess gesteuert


- Klassische Quelle für Konfiguration: /etc/inittab


- runlevel → Zustand eines Betriebssystems


- Systeminitialisierungskommando (/etc/rc.sysinit)


- Kommandos beim Eintreten und Verlassen von bestimmte runlevels



- systemd ersetzt init

Eigenschaften der Init Stage - rc.sysinit (Bootvorgang 4/4)

- Distributionsabhängig


- Mögliche Aufgaben


- Uhr nach Hardware stellen


- Tastaturmappings


- /proc einhängen


- swap einbinden


- lokale Dateisysteme einhängen


- Treiber laden

Eigenschaften der Init Stage - runlevel scripts (Bootvorgang 4/4)

- Hauptkontrolle durch das Programm rc
- Wird aufgerufen mit "neuer" runlevel Nummer


- Jedem runlevel entspricht ein Verzeichnis /etc/rc.d/rc?.d


- Symbolische Links auf die Startscripte in /etc/init.d/


-- lrwxrwxrwx 1 root root 18 Sep 30 2005 S06cpuspeed -> ../init.d/cpuspeed


-- lrwxrwxrwx 1 root root 17 Sep 30 2005 S10network -> ../init.d/network


- S für Start, K für Kill, Zahl bestimmt Reihenfolge


- Init scripte : Systemdienste starten


- Letzter service local

Was sind die Eigenschaften von systemd?

- Wird als PID 1 gestartet, ersetzt init


- Starten, Überwachen und Beenden weiterer Prozesse


- (k)dbus zur Interprozesskommunikation


-- auch puffern


- Paralleles Hochfahren, Nachrichten an nicht gestartete Dienste werden gepuffert


- Starten von Diensten basierend auf Ereigenissen


- Bedienung durch „systemctl“


- Entwicklung führte zu gewisser Spaltung in der LinuxCommunity

Was sind die Eigenschaften von /dev bzw. device files?

- UNIX Philosophie: "Alles ist eine Datei"


- Spezielles Verzeichnis zur Ansteuerung von Hardware


- Treiber Interface entspricht "device file" (z.B ttyS0, sda, zero)


- Muss nicht reale Hardware sein


- Drei Informationen sind für jedes Device relevant:


-- Art des Zugriffs (Block [Festplatte] oder Zeichenorientiert [Tastatur, Maus])


-- Hauptgerätenummer (major device number) → identifiziert Treiber


-- Nebengerätenummer (minor device number) → identifiziert Instanz


- »/usr/src/linux/Documentation/devices.txt«


- Beispiel:


brw-r----- 1 root disk 3, 0 Apr 10 11:29 hda


crw-rw---- 1 root uucp 4, 64 Apr 10 11:29 ttyS0

Was sind die Eigenschaften des sysfs?

- /dev ist veraltet: unstrukturiert, zu viele files


- Zwischenlösung devfs


- 2.6 Kernel : sysfs


- Virtuelles Dateisystem (mount)


- Baum gibt Struktur, Blätter les/schreibbare Pseudodateien


- vom Kernel erzeugt (on the fly)


- Dateien nirgendwo fest abgelegt

Was sind die Eigenschaften von udev?

- Brücke zwischen /dev und /sys


- legt in /dev Dateien an, wenn sich in /sys etwas ändert


- erzeugt im Betrieb device files


- Läuft komplett im userspace


- /sbin/hotplug


- Definition über Regeln, Beispiel:


KERNEL=="tty[0-9][0-9]*", GROUP="tty", MODE="0660", OPTIONS="last_rule"


- Eigene Regeln möglich


/etc/udev/rules.d/10-visor.rules


BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB[13579]", SYMLINK="pilot"

Was sind die Eigenschaften von /proc?

- Schnittstelle zwischen User(space) und Kernel


- Virtuelles Filesystem


- Dateien im ASCII Format


- Funktionen:


- Informationen auslesen (über Prozesse, Treiber ..)


- Kernelparamter ändern

Was sind man pages?

- manual pages


- Hilfeseiten zu Befehlen


- Kommando: man [section] command


-- Sections


--- 1 Commands available to users


--- 2 Unix and C system calls


--- 3 C library routines for C programs


--- 4 Special le names


--- 5 File formats and conventions for les used by Unix


--- 6 Games


--- 7 Word processing packages


--- 8 System administration commands and procedures

Was sind die Grundlagen der Shell/BASH?

- BASH=SHELL


- #!/bin/bash ... Interpreter (Angabe wie Datei ausgeführt wird)


- Spezielle files: STDIN, STDOUT, STDERR


- Redirection: | (Pipe), < (Eingabe), > (Ausgabe), 2> (STDERR umleiten) ..


- builtin vs. programs

Was sind die Eigenschaften von Environment Variablen?

- $HOME: Home directory des Benutzers


- set/export


- .profile, .bashrc ...


- $PATH (Liste von Suchpfaden für Kommandos)


- enthält aus Sicherheitsgründen nicht das aktuelle Verzeichnis, damit keine Dateien ausversehen ausgeführt werden können
- $TERM

Was ist ein VFS?

- Abstraktionsschicht oberhalb konkreter Dateisysteme
- VFS unterhält für jede geöffnete Datei einen Eintrag (v-node)
    - I-Node (lokaler Dateidescriptor)oder
    - R-Node (globaler NFS-Descripto)
-

	
		
		
	
	
		
			
				
	...

- Abstraktionsschicht oberhalb konkreter Dateisysteme


- VFS unterhält für jede geöffnete Datei einen Eintrag (v-node)


-- I-Node (lokaler Dateidescriptor) oder


-- R-Node (globaler NFS-Descriptor)


- Für Benutzer nur VFS sichtbar


- "Wirkliche" Dateisysteme werden eingehängt durch mount


Was sind die Eigenschaften von Dateirechten?

- Jede Datei hat owner und group


- Rechte für owner, group und „andere“


- Grundlegende Rechte: read, write, execute (rwx)


- Shell Befehle: chmod, chown, chgrp


- chmod g+rwx file(für Gruppe alle Rechte setzen)


- chmod 644 file


- chown [user] [file]


- Rechte auf Verzeichnis nötig, damit Dateien erstellt oder gelöscht werden können

Welche besonderen Dateien gibt es?

- Symbolic Links: ln -s


-- Verweis auf Namen



- Hard Links: ln


-- Verweis auf „inode“


-- folgt Dateiverschiebung


-- Datei wird nur gelöscht, wenn alle HL gelöscht wurden


- Device files (Kommunikation zw. Userspace & kernel)


- Socket files (Interprozesskommunikation)

Welche Shell Befehle gibt es für Prozesse?

- top: „Task Manager“, semi-live Ansichtnach CPU oder RAM Verbrauch


- ps: Liste der Prozesse, viele Ausgabe undSortiermöglichkeiten


- kill: senden von Signalen an Prozesse


- man 7 signal


- strace: Verfolgung von system calls

Was ist der/das Exit Status/Signal?

- Endzustand des letzten Prozess (nach Beendigung)


- Umgebungsvariable: $?


- 0 bedeutet success


- "exit" Funktion mit Argument [0-255]


- keine richtige Standardisierung für Zuweisung

Was versteht man unter Source Code Distribution?

- (Ursprüngliche) Softwareverteilung


- download/compile/install


- gunziptar (-tf, -xf, -xzf)


- make (install)


- gcc → GNU C Compiler


- .h → C-Header files, devel Pakete

Was sind die Eigenschaften eines Paketmanager?

- ermöglicht Softwareverteilung


- File-Archiv + META


-- Name, date, architecture ...


-- Dependencies


-- Information (changelog, description)


- Package GPG signing


- List of files / type of files


- Schlüssel des Repository wird benötigt


- Beispiel RPM (Redhat Package Manager)

Welche Programme gibt es für Textstream/Stream processing?

- cat/tail/head/less (Gesteurte Ausgabe)


- grep (Suchen im Text)


- Sort (Sortieren)


- Aw k (gawk) (Pattern Processing)


- sed (Stream Editor)

Wie kann man Dateien finden?

- find → Live Suche im Dateisystem


-- Langsam


- locate → Suche in Datenbank über DB, Aktualisierung über cron/updatedb


-- Schnell


-- nicht aktuell


- lsof → Informationen über offene Dateien (Sockets) auflisten

Was macht syslog?

- Abstraktion der Logfiles von den Prozessen
    - weniger Komplexität in Programmen
- Einheitliches logging für alle Prozesse
- syslogd/klogd
- syslog vs. rsyslog
- Konfiguration /etc/(r)syslog.conf und
/etc/syscon g/(r)syslog
- Unterteilu...

- Abstraktion der Logfiles von den Prozessen


- weniger Komplexität in Programmen


- Einheitliches logging für alle Prozesse


- syslogd/klogd


- syslog vs. rsyslog


- Konfiguration /etc/(r)syslog.conf und/etc/syscon g/(r)syslog


- Unterteilung nach facility und level (z.Bkernel und critical)


- Meldung erzeugen: logger

Was kann man mit cron machen?

- zeitgesteuerte Jobs


- /etc/crontab (eigene Tabelle für Benutzer anlegen)


- /etc/cron.d


- /etc/cron.daily ...


- /var/spool/cron

Grundlegendes zu Dateisystemen

- hat immer eine Blocksize- Definition in 

	
		
		
	
	
		
			
				
					
						/etc/fstab- Dateisysteme    - ext2    - ext3    - ext4    - reiserfs- /proc- /dev
- hat immer eine Blocksize
- Definition in "/etc/fstab"
- Dateisysteme
-- ext2
-- ext3
-- ext4
-- reiserfs
- /proc
- /dev

Was sind die Eigenschaften von ext2?

- Standard Linux Dateisystem


- Unix File Typen: Reguläre Dateien, Verzeichnisse, "specialdevice files" , symbolische Links und hard Links


- Unterstützt große Partitionen (im Moment bis 4TB)


- Lange Dateinamen, Limit 255 characters


- Reserviert block für den "root" user (5%)


- Block size ist variabel


- UNIX Dateiberechtigungen: user, group, others

Aufbau der ext2 Struktur

- Daten werden in data-blocks gehalten
- Fixe Grösse (z.B 1024 byte)
- Organisiert in "block groups"
- Block group 0 : Superblock / Filesystem info
- Superblock/Groupdescriptors werden repliziert

- Daten werden in data-blocks gehalten


- Fixe Grösse (z.B 1024 byte)


- Organisiert in "block groups"


- Block group 0 : Superblock / Filesystem info


- Superblock/Groupdescriptors werden repliziert


-- eigentlicher Superblock kann repariert werden

Aufbau der ext2 inode

- basic building block:
pro datei/verzeichnis
mind. eine inode
- Verweise auf Datenblöcke der Datei
    - 

	
		
		
	
	
		
			
				
					
						Bei grossen Dateien:
Bis zu dreistufige
Verlinkung der Blöcke
    - Nachteil: D...

- basic building block: pro datei/verzeichnis mind. eine inode


- Verweise auf Datenblöcke der Datei


-- Bei grossen Dateien: Bis zu dreistufige Verlinkung der Blöcke


-- Nachteil: Dateigröße begrenzt

Was sind die Eigenschaften des FS Journaling?

-Motivation:


-- lange fsck Zeiten


-- Filesystem Inkosistenz


- Prozedur


-- Log (Journal) wird geschrieben


-- Warten bis Daten sicher geschrieben sind


-- Änderung ins Dateisystem übertragen


- Ähnlich wie Transaktionen bei Datenbanken


- Bei System-crash überprüft fsck nur das journal und stellt einen konsistenten Zustand des FS her


- FS Konsiszenz != Datenkonsistenz


- separater Speicherbereich


- Änderungsoperationen werden geloggt



Was sind die Eigenschaften von ext3?

- 3 verschiedene journaling Modi


-- Slow and safe: Loggt alle fs daten und metadaten Änderungen


-- Ordered: Loggt nur Änderungen an den Metadaten, flusht aber alle Datenupdates vor Änderung an zugehörigen Metadaten.(default)


-- Writeback: Loggt nur Änderungen an den Metadaten.


- Online Resizing

Was sind die Eigenschaften von ext4?

- Extents


-- Bei grossen Dateien keine mehrstufige Verlinkung einzelner Blöcke, sondern block Bereiche


- Online Defragmentierung


- Verbesserte Zeitstempel (ns), file createdtimestamp


- Performance (pre-allocation, delayed allocation)

Block based storage

Wie kann man ein Filesystem anlegen?

- Datei mit dd erstellen


-- dd if=/dev/zero of=/testfs bs=1M count=50


- Datei in Blockdevice konvertieren


-- losetup /dev/loop0 /testfs


- Blockdevice formatieren/Dateisystem erstellen


-- mkfs.ext2


- mkdir, mount, df, umount


- tune2fs

Eigenschaften und Erstellung eines Software RAID

- Block device RAID Treiber im Kernel


- RAID levels: 0,1,10,5,6


- Verwaltung: mdadm, /etc/mdadm.conf


- losetup [file] block device aus Datei


- RAID anlegen


-- mdadm --create /dev/md0 --level=1--raid-devices=2 /dev/loop0 /dev/loop1


- Chunksize bestimmen


-- mdadm -D /dev/md0


-- Datenmenge, die in einem einzelnen Schreibvorgang geschrieben wird

Eigenschaften und Erstellung von Logical Volumes

- Logische Schicht zwischen Filesystem und Hardware / Software RAID block devices


- Phsyical Volume, Formatierung zur Verwendung (Partitionstyp)


- Volume Group - Speichergruppe


-- Verwaltungsstruktur


- Logical Volume - Zugreifbares Block Device


-- es können Dateisysteme angelegt werden


- Erhöhte Flexibilität, einfaches Vergrössern/Verkleinern(resize2fs)


-Kommandos:


-- pvcreate (physical volume anlegen)


-- vgcreate (volume group anlegen)


-- lvcreate (logical volume anlegen)


-- lvchange (Attribute des lv ändern)

Was sind die Eigenschaften des Cache?

- block level buffer cache


- siehe /proc/meminfo


- Agressive RAM Nutzung typisch

Was sind die Netzwerkbausteine und wo lassen sich diese im ISO/OSI Modell einordnen?

- link: Netzwerkschnittstellen
- address: (protokollabhängige) Adressen
- neighbour: ARP Cache
- route: Routen
- rule: Routing Regeln

- link: Netzwerkschnittstellen


- address: (protokollabhängige) Adressen


- neighbour: ARP Cache


- route: Routen


- rule: Routing Regeln

Was sind links/Interfaces?

- Existieren sobald Treiber geladen


- Typen: Loopback, Ethernet, PPP, GRE,..


- Flags


-- NOARP, POINTTOPOINT, UP


--- PTP beinhaltet NOARP


- MTU


-- Maximum Transmission Unit (maximale Paketgröße eines Protokolls der Vermittlungsschicht)


-- Layer 1: Ethernet Frame Größe


- ifup/ifdown (BASH)Programme als frontend



BG-Info:


- ARP (Address Resolution Protocol)


-- ermittelt physikalische Adresse (mac) zu einer Netzwerkadresse (IP)

Womit geht die Administration via Netzwerk?

- SSH: Secure Shell


-- Kommando: ssh [IP|hostname]



- SCP: Secure Copy


-- Kommando:


--- scp [files] [ip|hostname:directory]


--- scp [ip|hostname:directory/files] [localdir]

Welche Arten von Firewalls gibt es?

- Paketfilter


-- nutzen TCP/IP informationen


- NAT (Network Address Translation)


-- DNAT


-- SNAT


- Proxy Server – Application Gateways


-- auf Applikationsebene


- Next Generation Firewalls

Welche Arten von Paketfilter gibt es?

- Stateless inspection (ACL, L2 Switches oder L3 Router, bestehende Geräte)


-- Analyse basierend auf Header Feldern


-- Quell / Ziel Interfaces


-- Keine history / vorherige Pakete


-- Begrenzte Möglichkeiten bei Anwendungen auf mehreren / dynamischen ports (z.B FTP)


-- Hohe Performance („in Hardware“)


-- Rückkanal statisch offen (port scanning)


-- Bsp. Allow all but SYN


- Stateful Inspection


-- Connection tracking (Datenbank der Verbindungen)


--- Länge der Verbindung


--- TCP Status


-- Unterstützung von komplexen Protokollen (z.BFTP)


-- NAT möglich


-- Zusatznutzen: Kontrolle auf Performance Parameter (DoS) und Protokoll Konformität


-- Deutlich aufwändiger (CPU/Speicher)


-- Bsp. Alllow correctly established

Welche Arten von Proxy Server gibt es?

- Circuit Level Proxies


-- Meist auf TCP Ebene (SOCKS)


-- Authentisierung


-- Kein Eingriff in Nutzprotokoll Daten


- Application Level Proxies


-- Abhängig von Protokoll


-- Detaillierte Protokollierung


-- Anwendungsabhängige Filterung („deepinspection“)


-- vermittelt auf Applikationsebene

Wie ist der Netfilter aufgebaut?

- Paketfilter ist Funktion im Kernel -> Module


- Tables (filter, nat, mangle): Funktionsgruppen


-- filter: standard


-- nat: NAT oder Port Forwarding


-- mangle: gewünschte Paketmanipulation


- Chains pro table (INPUT, FORWARD, ...): Regelliste


-- legt fest wann ein Paket geprüft wird


- Target: Funktion (ACCEPT, DROP, ...)


-- was soll mit einem Paket gemacht werden


- Steuerungsprogramm iptables


- Bsp: iptables -A INPUT -s 0.0.0.0/0 -jACCEPT



http://www.iptables.info/en/iptables-targets-and-jumps.html

Wie sieht die Netfilter Struktur aus?

Was kann man mit dem Programm iptables machen?

- Benutzersteuerung der netfilter Kernelfunktion


- Einfügen/Löschen von Chains


- Einfügen/Löschen von Regeln


- Abfragen von Countern


- - Optionen, -- abhängige Optionen

Welche weiteren Tagets gibt es bei einem Netfiler?

- ACCEPT: akzeptieren


- DROP/REJECT: verwerfen ohne/mit antwort


- DNAT/SNAT/MASQUERADE


-- SNAT nur bei static IP


-- MASQUERADE bei dynamic IP


- LOG/ULOG


-- loggen von detaillierten informationen


- MARK


-- nur in mangle nutzbar, Netfilter mark values setzen


- NOTRACK


-- ausschalten des connection tracking



- TARPIT


-- Verbindungen akzeptieren und persistierend schalten, schließen der Verbindung nicht möglich bis timeout (nach ca. 12-24 Minuten)

Was versteht man unter einem IP Tunnel/VPN?

- IP Traffic wird in neuen IP Paketen enkapsuliert


-- erzeugt Overhead


- üblicherweise: Verbinden von privaten Netzwerken über öffentliche Netzwerke


- IP Verkehr wird über ein Transportnetzwerk transportiert


-- Transportnetzwerk ist dabei transparent für das transportierte Netzwerk

OpenVPN Config ausfüllen (bitte Hint benutzen)

OpenVPN Config ausfüllen (bitte Hint benutzen)

ipsec config ausfüllen (bitte Hint benutzen)

ipsec config ausfüllen (bitte Hint benutzen)

Wie funktioniert eine Certificate Authority?