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 - 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 |
|
|
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-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 - 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 |
|
|
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 -- 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: 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 |
|
|
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) |
|
|
|
ipsec config ausfüllen (bitte Hint benutzen) |
|
|
|
Wie funktioniert eine Certificate Authority? |
|
|