124
1 Karibu Linuxkurs Wintersemester 09/10 SIB09 Hannes Kasparick hannes @ kasparick . com

Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

1

KaribuLinuxkurs Wintersemester 09/10

SIB09

Hannes Kasparickhannes @ kasparick . com

Page 2: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

2

Page 3: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

3

Über mich

■ 2003 bis 2006: Computer- und Mediensicherheit■ 2006 bis 2008: Sichere Informationssysteme■ Diplomarbeit: Data Leakage Prevention (DLP)

■ Seit September 2008: Leiter IT-Services Abteilung Firma Count IT Group / WURM und Partner

■ Leidenschaft:

Page 4: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

4

Agenda

■ Geschichtliches■ Basics■ Installation von Debian Linux■ Remotemangement - SSH ■ Grundlagen Paketmanagement ■ Umgang mit der Konsole – Bash■ Grundlegende Rechteverwaltung■ vi – ein Editor■ Wichtige Tools■ Netzwerkkonfiguration

Page 5: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

5

Buchempfehlung

■ Michael Kofler: Ubuntu Server

■ O'Reilly - LPI Linux Certification in a Nutshell 2nd Edition

■ O'Reilly – Linux System Administration

■ http://www.galileocomputing.de/openbook/linux/ OpenBook frei verfügbar

Page 6: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

6

Was ist Linux?

■ Linux ist nur der Kernel = Betriebssystem■ Außen herum GNU Tools

Viele kleine Tools die wenige Aufgaben beherrschen „eierlegende Wollmilchsau“ eher selten

■ Distributionen traditionell:

➔ RedHat➔ SUSE (Novell)➔ Slackware➔ Debian – mit diesem System werden wir arbeiten

jünger:➔ Gentoo➔ Ubuntu

Page 7: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

7

Distributionen – Was ist das?

■ GNU / Linux kann komplett frei aus dem Internet bezogen werden mühsames kompilieren der Programme „Linux from Scratch“

■ Distributionen stellen lauffähiges System zur Verfügung reduzieren Aufwand stellen Konfigurationstools bereit (z.B. YAST) bringen große Menge Programme mit

Page 8: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

8

Warum Linux?

■ Weite Verbreitung – große Community■ Bester Hardwaresupport der freien Systeme■ Frei im Sinne von Freiheit – nicht von Freibier

Quelltexte verfügbar Support kostet natürlich auch hier (Enterprise

Distributionen)■ Benutzerfreundlich im Vergleich zu traditionellen

Unixen■ Stabil, performant■ Kostengünstig■ Keine Virenproblematik

Page 9: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

9

Warum Linux nicht?

■ Linux ist nicht besser als...■ TCO nicht unbedingt geringer als bei...■ Linux ist nicht sicherer als...■ Linux hat nicht das „coolste“ Maskottchen ;-)

■ es gibt einige Gründe gegen Linux, aber das soll nicht Thema dieser Lehrveranstaltung sein

Page 10: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

10

Geschichte von Linux

■ 1983: GNU Projekt Richard Stallmanmit Ziel eines Unix ähnlichem PosixKompatiblen OS

■ Anfang 1990er noch nicht vollständig■ 1991: Linus Torvalds beginnt mit

Entwicklung von Linux■ 1993: Linux wird von Torvalds unter

GPL Lizenz gestellt■ 1994: Version 1.0 frei gegeben■ 1996: Pinguin als Maskottchen■ 2001: 2.4er Kernel■ 2003: 2.6er Kernel

Heute: 2.6.30 (www.kernel.org) ■ http://nixedblog.thenixedreport.com/__oneclick_uploads/2007/11/gldt76.png

Richard Stallman

Linus Torwalds

Page 11: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

11

Weitere freie Unix Systeme

■ BSD Derivate FreeBSD OpenBSD NetBSD Dragonfly, PC BSD usw.

■ BSD Lizenz freier als GPL

■ GNU / Hurd Kernel des GNU-Projekts Wird zusammen mit „Duke-Nukem forever“ erscheinen

■ Open Solaris Mit starkem Einfluss von

Sun Microsystems

Page 12: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

12

Fragen

Page 13: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

13

Basics / Grundlegendes

Page 14: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

14

Dateiorganisation

■ Hierarchisch (wie jedes Moderne OS)■ keine Laufwerksbuchstaben■ „everything is a file“

Dateien & Ordner Hardware-Geräte (/dev/...)

■ gemeinsames Wurzelverzeichnis / engl: „Rootverzeichnis“

■ Groß- / Kleinschreibung ist relevant!■ Character Set wichtig, da nicht durchgehend UTF-

8 verwendet wird (Gegensatz zu Windows)

Page 15: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

15

Demo „Everything is a file“

■ Festplatten lassen sich z.B. direkt mit einem Hexeditor öffnen und bearbeiten:

Page 16: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

16

Verzeichnisse/ Wurzelverzeichnis, Root

/bin Systemprogramme/boot zum Booten Benötigtes (z.B. Kernel)/dev Gerätedateien/etc Konfigurationsdateien/home Daten der Benutzer/lib System- / Programmbibliotheken/proc Informationen von / für Kernel/root Daten des Superusers root/sbin Programme/tmp temporäre Daten/usr Unified System Ressources

/share/doc Anleitungen, Hilfedateien/src Ablage für Quellcode

/var veränderliche Daten /log Logfiles/spool Druckaufträge, Mails...

Page 17: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

17

Dateinamen

■ Länge von Dateinamen: 255 Zeichen■ Erlaubte Zeichen: alle außer „/“

Vermeide Sonderzeichen!

■ Unterschied zwischen Groß/Kleinschreibung

■ Bedeutung eines Punkt im Namen: am Anfang: „versteckte“ Datei

➔ .htaccess Teil des Namens für bessere Lesbarkeit

➔ praesentation.asict.2009 zeigt Dateityp an, Dateiendung wie in Windows

➔ .txt .pdf usw.

Page 18: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

18

Dateinamen

■ Programme enden nicht auf .exe■ Endungen prinzipiell nebensächlich

Verknüpfung zu Anwendung wird anhand der ersten Bytes bestimmt (magic number)

z.B: jgp-Bilder: 0xFFD8FF

Page 19: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

19

Das /proc Pseudodateisystem

■ Informationen über laufende Prozesse /proc/PID/cmdline - Kommandozeile

■ Informationen über den Kernel /proc/version - Versionsnummer

■ Informationen über das System /proc/cpuinfo /proc/meminfo

■ Einstellungen für den Kernel /proc/sys/net/ipv4/tcp_syncookies - Syncookies

■ Vergleich Anzahl Prozesse aus /proc mit „ps“ ls -d /proc/* | grep [0-9] | wc -l; ps ax | wc -l

Page 20: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

20

mounten

■ Einhängen von Devices in den Dateibaum■ mount /quelle /ziel

mount /dev/sda1 /mnt/sda1 ■ Mounten eines Verzeichnisses an mehreren

Stellen mount --bind /mnt/ftp_public /home/ftp/public

■ Windows Freigabe mounten mount -t cifs -o username=abc,password=abc

//ip.adresse/freigabe /ziel/pfad■ unmounten

umount /mountpoint umount -l /mountpoint (für in Verwendung

befindliche MPs)

Page 21: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

21

Linux ist ein Mehrbenutzersystem

■ Mehrere Benutzer können gleichzeitig angemeldet sein

■ Rechteverwaltung Strenge Trennung zwischen Benutzern und Gruppen Ein Superuser

➔ root➔ Hat alle Rechte (wie „system“ unter Windows)

■ Unterstützt Access Control Lists(ACLs)

Page 22: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

22

Wissenswertes

■ Linux / Unix ursprünglich für Entwickler gedacht, Endbenutzer erst seit kurzem Ziel

■ Keine Rückmeldung ist meist positiv■ Fehlermeldungen lesen – oft ergeben sie Sinn

Wenn nicht, Suchmaschinen helfen weiter■ Kaum „Selbstschutz“ des Betriebssystem vor

falscher Bedienung■ Programme fragen selten

erwarten Parameter■ Extreme Konfigurierbarkeit

„Gefrickel“

Page 23: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

23

Wissenswertes

■ Keine Registry Konfiguration in Textdateien (oft /etc) Dadurch diverse Vor- und Nachteile

■ GUI nicht bestandteil des OS GUIs sind normale Programme Windows 2008 Core Server am ehesten vergleichbar,

aber auch hier mehr grafische Elemente

Page 24: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

24

Wissensquellen

■ http://www.debiananwenderhandbuch.de■ http://wiki.debian.org ■ http://wiki.debianforum.de

■ http://www.tldp.org

Page 25: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

25

Abkürzungen

■ ~/ Homeverzeichnis■ [optional] Optionale Parameter■ * beliebig viele Zeichen■ | oder■ & und■ ^ Strg-Taste

In diesen Folien grün = Konsolenbefehl z.B. date

Page 26: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

26

Fragen

Page 27: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

27

Kurzeinfühung VMware

VMware Bedienung zeigen

Page 28: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

28

Installation

■ Freies System seit 15 Jahren■ Gute Dokumentation■ Wird in kritischen Infrastrukturen verwendet

Große Verbreitung, große Community■ Lange Historie■ Keine Firma im Hintergrund■ Textbasierte & grafische Installation■ Warum genau Debian?

Paketmanagement Ich habe die meiste Erfahrung mit Debian

http://www.debian.org

Page 29: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

29

Installation Debian

installation_debian.pdf

Page 30: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

30

Fragen

Page 31: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

31

Debian Grundlagen

Page 32: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

32

Neue Programme installieren

Paketverwaltung■ aptitude – wichtigstes Tool■ dpkg – antik, aber unverzichtbar■ apt-get – ähnlich wie aptitude, keine gui

veraltet, Einstatz nicht mehr empfohlen!

■ http://www.debiananwenderhandbuch.de/paketmanagement.html

Page 33: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

33

Aptitude

■ Grafische Oberfläche: einfach aptitude in der Konsole eingeben

■ Bedienung praktisch selbsterklärend, auf Hinweise im oberen Bildschimbereich achten

■ aptitude install packetname■ aptitude remove packetname■ aptitude reinstall packetname

Spezialbefehl zum reinstall inkl. Configs:

■ aptitude -oDPkg::Options::="--force-confmiss" reinstall PAKETNAME

■ Paketübersicht: http://packages.debian.org

Page 34: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

34

Aptitude Oberfläche

Page 35: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

35

Verwendung des Paketmanagers

■ Konfiguration passiert in /etc/apt/sources.list■ Beispiel:

deb http://ftp.debian.de/debian/ etch main contrib non-freedeb http://security.debian.org/ etch/updates main contrib non-free

■ Paketliste aktualisieren: aptitude update

■ Pakete updaten (wenn updates vorhanden) aptitude safe-upgrade veraltet: aptitude upgrade

Page 36: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

36

Remotelogin

■ Arbeiten in VMware Konsole unkomfortabel Langsam Kein Copy & Paste Mausbewegungen eingeschränkt

■ Lösung: Remotezugriff per SSH

(Secure Shell)■ Womit unter Windows?

Putty Alternativen: gibt’s

sicher auch...

Page 37: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

37

Putty

■ Putty original http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

■ Portaputty http://socialistsushi.com/2005/11/17/portaputty

Page 38: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

38

Putty

Page 39: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

39

Fragen

Page 40: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

40

Übung 2

putty.pdf

Page 41: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

41

Crashkurs Konsole – Die Bash

■ Die wichtigsten Kürzel Befehl / Pfad vervollständigen: Tab letzte Befehle: Pfeiltasten (auf / ab) „hängende“ Konsole wieder holen: STRG+c An den Anfang springen: Pos1 oder STRG+a An das Ende springen: ENDE oder STRG+e

■ Erweiterte Features Befehlshistory durchsuchen: STRG+r <befehl> !$ : nimmt Parameter des letzen Befehls

➔ ls -al /etc/network/interfaces➔ vi !$

- öffnet /etc/network/interfaces Programm in den Hintergrund schicken: Strg+z

➔ Mit fg wieder in den Vordergrund holen

Page 42: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

42

Wichtige Befehle

■ ls zeigt Verzeichnisinhalt an (wie „dir“ in Windows) nützliche Optionen

➔ -l detaillierte Ausgabe➔ -a auch versteckte Dateien anzeigen➔ -h human readable, Größen in Mbyte usw.

■ cd – Verzeichnis Wechseln cd .. Überverzeichnis cd /home/thorben absoluter Pfad cd thorben relativer Pfad cd - zurück zum letzen Verz. cd ins Homeverzeichnis cd ../../var/log zwei Ebenen hoch...

Page 43: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

43

Wichtige Befehle■ pwd gegenwärtiges Verzeichnis■ mkdir Verzeichnis erstellen■ rmdir (leeres) Verzeichnis löschen■ cp kopieren■ mv verschieben / umbenennen■ rm löschen (es gibt keinen Papierkorb!)

rm -rf bei Verzeichnissen■ cat Datei ausgeben■ ln -s symbolischen Link erstellen■ whoami wer bin ich?■ df -h freien Speicherplatz anzeigen■ who wer ist gerade eingeloggt■ passwd - Passwort setzen■ exit verlassen / logout (STRG+d)■ touch Datei anlegen / Zeitstempel setzen

Page 44: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

44

Befehls- und Ausgabeumleitung

■ manchmal will man die Ausgabe eines Befehls in eine Datei oder wo anders hin umleiten

■ manchmal will man die Eingabeeines Befehls aus einer Dateilesen

■ manchmal will man die Ausgabeeines Befehls an einen Anderenfüttern

■ Mit Linux geht das ganz leicht... (mehr oder weniger auch in Windows...)

Page 45: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

45

Ein paar Unix-Internals

■ 3 Standard-Filedescriptoren Standardeingabe: stdin

➔ meist Tastatur Standardausgabe: stdout

➔ meist Bildschirm Standardfehlerausgabe: stderr

➔ meist ebenfalls Bildschirm➔ Trennung im Hinblick auf Umleitung sinnvoll

■ sind durchnummeriert STDIN 0 STDOUT 1 STDERR 2

Page 46: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

46

Standardfiledescriptoren

■ sind automatisch offen / vorhanden■ viele Funktionen greifen automatisch auf

diese zu■ Filedescriptoren können fast beliebig

umgeleitet werden in Dateien an andere Programme Vorteil:

➔ Kommandos potentiell einfacher, da sie nur von stdin lesen können müssen und nur an stdout ausgeben müssen

Page 47: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

47

Ausgabeumleitung

■ Ergebnis wird in Datei geschrieben, nicht auf Terminal

■ Umleitung erfolgt durch „>“ bzw. „>>“ „>“ fängt neue Datei an „>>“ hängt an Bestehendes an

■ kommando > dateiname cat /etc/fstab > /tmp/fstab.kopie

Page 48: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

48

Eingabeumleitung

■ Programm liest aus Datei, nicht von der Tastatur■ Umleitung erfolgt durch „<“■ kommando < dateiname

more < /etc/fstab

Page 49: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

49

Umleitung der Fehlerausgabe

■ Fehlermeldungen in Datei schreiben■ Umleitung erfolgt durch „2>“■ kommando 2> dateiname

■ Kombinationen kommando < eingabedatei > ausgabedatei 2>

fehlerdatei kommando > datei 2>&1

➔ Standard- und Standardfehlerausgabe in datei

Page 50: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

50

Spezialziele

■ Wiederholung: Everything is a File■ Spezialziele:

/dev/null - schwarzes Lochfür arme Bits

/dev/zero - lauter Null-Bytes (0x00) /dev/random - Zufallsbytes /dev/urandom - weniger zufällig

■ diverse andere Gerätedateien Umleitung direkt auf Geräte möglich

➔ cat /dev/zero > /dev/sdb1

Page 51: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

51

Pipes

■ Pipes verbinden Ausgabe eines Programms mit Eingabe eines anderen Programms über temporären Puffer

■ mehrere Befehle können so hintereinander geschaltet werden

■ befehl | befehl2 | befehl3 ls -la /etc/ | more

Page 52: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

52

Beispiel echo kitten > meow echo "feline" >> meow cat >> meow

tomcat^D (bedeutet STRG+D)

cat < meowkittenfelinetomcat

grep cat < meow > cats cat cats

tomcat cat < meow |grep feline >> cats grep kitten meow >> cats < meow cat

kittenfelinetomcat

quelle nostromo: http://nostromo.joeh.org/content/fhs/kwm06/cor3/cor3_linux_003__flowcontrol_and_redirects.pdf

Page 53: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

53

Manpages■ Dokumentation zu Programmen

Linux Programme im Vergleich zu *BSD Programmen oft schlecht dokumentiert

■ Aufruf: man begriff■ Unterteilt in Sektionen

man man man sektion begriff (z.B. man 7 man)

■ Meist sinnvoller im Internet zu suchen als Manpage zu lesen

Page 54: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

54

Programme ausführen

■ Einfach Programmnamen eintippen Dazu muss Verzeichnis, in dem das Programm liegt in

$PATH sein➔ Spezielle Umgebungsvariable➔ Analog zu Windows➔ lässt sich mit mit „echo $PATH“ anzeigen

Gegensatz Windows: es werden keine Programme im aktuellen Pfad einfach ausgeführt (Security Feature!)

■ Programm mit vollständiger Pfadangabe starten /usr/bin/less – absoluter Pfad bin/less – relativer Pfad (man muss sich in /usr

befinden) ./programmname - Programm im aktuellen Pfad

ausführen

Page 55: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

55

Fragen

Page 56: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

56

Übung 3

navigieren.pdf

Page 57: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

57

vi / vim

■ Texteditor aus den 70ern■ ist überall vorhanden■ Nach wie vor populär – emacs vs. vi vs. nano■ Gewöhnungsbedürftig (Problemsituationen...)■ Zwei Hauptmodi

Kommandomodus Editiermodus

■ Wichtigste Befehle: ESC (in den Kommandomodus wechseln) :q! (ohne Änderungen verlassen) i (in den Eingabemodus wechseln) :w (Datei speichern) :wq (speichern und verlassen) – alternativ :x

Page 58: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

58

vi – nützliche Kommandos

■ x yy – x zeilen kopieren■ x dd – x zeilen ausschneiden■ p – unter aktueller Zeile einfügen■ /begriff – nach begriff suchen

n – zum nächsten Ergebnis springen■ u – rückgängig (undo)■ STRG+r – letzen undo rückgängig (redo)■ SHIFT+g - ans Ende der Datei springen■ :x,y s/suchmuster/ersetze/g – ab Zeile x bis

Zeile y suchmuster durch ersetzen (%-Zeichen anstelle x,y = ganze Datei)

■ http://linuxwiki.de/Vim

Page 59: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

59

vimrc

■ nette Parameter für /etc/vimrc bzw. ~/.vimrc(auch direkt im vim anwendbar)

set ignore case nützlich bei Suche➔ im vi mit :set ic

set backup erstellt Backupdatei mit Tilde (~) am Ende

syntax on Syntax Highlighting

colorscheme evening gut lesbares Syntax Highlighting für Putty

set number Zeilennummern anzeigen

Page 60: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

60

Fragen

Page 61: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

61

Übung 3

vi.pdf

Page 62: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

62

Zugriffsrechte

■ Schutz privater Dateien vor Zugriff anderer Systembenutzer

■ Durchsetzung der Rechte wird vom Betriebssystem garantiert

■ sind wirkungslos, wenn von extern (z.B. Live-CD) zugegriffen wird (hier würde Verschlüsselung helfen)

■ Standardmäßig sehr einfach, aber auch ACLs (vergleichbar mit denen bei NTFS) möglich

Page 63: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

63

Benutzer – Gruppenzuordnung

■ Jeder Benutzer gehört mindestens einer Gruppe an

■ Kann mehreren Nebengruppenzugeordnet werden

■ Eigentümer kann Rechte für eineGruppe oder für andere vergeben

■ „id“ – zeigt Gruppenzugehörigkeit id benutzer1 id

■ „Benutzerdatenbank“ aus: /etc/passwd /etc/shadow /etc/groups

Page 64: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

64

Granularität der Rechte

■ Granularität der Rechte Eigentümer (user) Benutzergruppe (group) Andere (others)

■ Reihenfolge Auswertung der Rechte1. Prüfen der Eigentümerschaft2. Prüfen der Gruppenzugehörigkeit3. sonst Zugehörigkeit zu anderen Anwendern

Page 65: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

65

Benutzerrestriktionen / Limits

■ /etc/security/limits.conf Datei ist selbsterklärend Zuordnung einer Ressource zu

Benutzer

■ Einschränkung von: max. geöffnete Dateien max. CPU Zeit max. Anzahl an Prozessen max. gleichzeitige Logins standard Priorität mit der Prozesse ausgeführt werden ...

■ anzeigen mit „ulimit -a“ in der bash zsh und tcsh bieten intern den „limit“

Page 66: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

66

nice

■ Priorität für CPU Zeit■ -20 bis 19■ je weniger "nice" desto höher die priorität■ Anzeige mit „top“■ nice --10 vi /etc/apt/sources.list■ nice -n -10 vi /etc/apt/sources.list

■ htop: grafisches einstellen des nice-Wert

Page 67: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

67

Fragen

Page 68: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

68

Übung 4

benutzer.pdf

Page 69: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

69

Rechteübersicht

Recht Datei Verzeichnis

r (read)

w (write)

x (execute)

Datei kanngelesen werden

Verzeichnisinhaltkann angezeigtwerden

Datei kanngeschrieben werden

Verzeichniseintragkann erstellt und gelöscht werden

Datei kannausgeführt werden

In Verzeichnis kanngewechselt werden

Page 70: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

70

Rechte anzeigen

■ ls -la

Page 71: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

71

Dateirechte

Quelle: http://nostromo.joeh.org/content/fhs/kwm06/cor3/cor3_linux_003__flowcontrol_and_redirects.pdf

Page 72: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

72

Rechtevergabe symbolisch

■ chmod [Bereich] Operand Berechtigung datei

r Readw Writex eXecute

Berechtigung

+ Recht hinzufügen- Recht wegnehmen= Recht absolut setzen

Operand

u Eigentümer (user)g Gruppe (group)o Übrige Benutzer (others)Keine Angabe = ugo

Bereich

Page 73: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

73

Rechtevergabe symbolisch

Schreib- und Leserecht für Benutzerchmod u=rw d

Benutzer Schreibrecht entziehen und Gruppe Execute-Recht zuweisen

chmod u-r,g+x d

Alle Rechte für alle entziehenchmod ugo-rwx d

Alle Rechte für die Gruppechmod g+rwx d

Gruppe und Anderen Schreibrecht entziehenchmod go-w datei

Execute-Recht für Benutzer, Gruppe, Anderechmod +x datei

Page 74: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

74

Rechtevergabe direkt

■ chmod Modus Dateiname■ Modus sind 3 Oktalzahlen

jede steht für Bereich1. User2. Group3. Others

● zugeteiltes Recht ergibt sich aus Summe der Einzelrechte● rwx = read + write + execute => 4+2+1=7

● chmod 750 dateiname

1execute2write4read

ZahlRecht

Page 75: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

75

Rechtevergabe direkt

■ Zugriffstabelle 0 = 0+0+0 = --- 1 = 0+0+1 = --x 2 = 0+2+0 = -w- 3 = 0+2+1 = -wx 4 = 4+0+0 = r-- 5 = 4+0+1 = r-x 6 = 4+2+0 = rw- 7 = 4+2+1 = rwx

■ chmod 742 file1 ; chmod a=rw,u+x,g-w,o-rx file2■ ls -la file*

-rwxr---w- 1 thorben thorben 0 Nov 11 10:18 file1 -rwxr---w- 1 thorben thorben 0 Nov 11 10:18 file2

Page 76: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

76

Besitzrechte

■ Eigentümer Benutzer wird neuer Eigentümer, alter Eigentümer

verliert Rechte an Datei chown username Datei Befehl kann nur von root

ausgeführt werden

■ Gruppenzugehörigkeit chgrp gruppenname Datei Befehl kann nur von root

oder vom Eigentümer ausgeführt werden, sofern dieser auch Mitglied der neuen Gruppe ist

Page 77: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

77

Erweitertes Rechtemanagement■ umask

default Rechte einer Datei sind 666 default Rechte eines Verzeichnisses sind 777 thorben@karl:~$ umask 0022 Einstellung in /etc/profile

➔ umask 022 durch Subtraktion des umask

Wertes von den default Rechten ergibt sich für Dateien 644 und Verzeichnisse 755

■ Hinweis: Änderungen an /etc/profile können mit „source /etc/profile“ übernommen werden

Page 78: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

78

Erweiteres Rechtemanagement

■ „lsattr“ zeigt zusätzlich Attribute■ Immutable Bit

Datei wird unveränderbar (auch für root!) chattr +i datei *BSD kennen hier mehr und bessere Optionen

➔ Z.B. Datei darf nur größer werden (gut für Logfiles)➔ Änderungen mit „chattr“ auch für root nicht möglich wenn

kern.securitylevel hoch genug schützt effektiv vor übereifrigem root Benutzer ;-)

Page 79: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

79

Erweitertes Rechtemangement■ Sticky Bit - 1

Verzeichnis: nur Besitzer einer Datei darf sie löschen➔ drwxrwxrwt 5 root root 4096 Sep 24 21:05 tmp

■ SGID Bit - 2 Verzeichnis: alle neu erstellten Dateien gehören nicht

der Gruppe des Erstellers, sondern der Gruppe, die das Verzeichnis besitzt

■ SUID Bit - 4 Dateien: Prozess läuft unter Identität der besitzenden

Gruppe➔ rwsr-xr-x 1 root root 27132 /usr/bin/passwd

■ chmod 1755 verzeichnis

Page 80: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

80

Fragen

Page 81: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

81

Übung 5

rechte-umgang.pdf

Page 82: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

82

Thema Netzwerk...

Page 83: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

83

Netzwerkkonfiguration■ ifconfig

gibt Auskunft über aktuelle Netzwerkeinstellungen ifconfig -a alle Netzwerkkarten, auch inaktive

■ ifconfig eth0 10.17.1.36 netmask 255.255.255.0 setzt IP und mit gewünschter Netzmaske

■ route add default gw 10.17.1.1 setzt Standard Gateway route Routingtabelle anzeigen

■ DNS-Server festlegen, eintragen in /etc/resolv.conf

■ Netzwerkkonfiguration auch über den Befehl „ip“ möglich

Page 84: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

84

Netzwerkkonfiguration■ /etc/network/interfaces

auto eth1iface eth1 inet static address 10.17.1.36 netmask 255.255.255.0 network 10.17.1.0 broadcast 10.17.1.255 gateway 10.17.1.1

■ diese Datei gibt es vermutlich nur bei Debianderivaten!

■ /etc/init.d/networking restart – Netzwerk neu starten

■ dhclient ethX DHCP-Adresse an ethX beziehen

Page 85: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

85

Fragen

Page 86: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

86

netzwerk.pdf

Page 87: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

87

Wichtige Tools

Kleine und große Helferlein...

Page 88: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

88

Admintools

■ top - zeigt Auslastung / Prozesse an htop: mehr features, sehr empfehlenswert!

■ ps - zeigt Prozesse (ps aux)■ uptime - zeigt uptime und load an■ du / df - belegter Speicherplatz (df -h)■ watch Befehl - Befehl alle x Sekunden ■ lspci / lsusb - listet Hardware■ lsof - ls open files

lsof -Pni |grep LISTEN - Netzwerkprogramme■ kill PID - Prozesse beenden

killall Prozessname - beendet alle Prozesse kill -9 PID - hartnäckigen Prozess beenden

■ netstat - belegte Ports (netstat -tanup)

Page 89: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

89

Admintools

■ passwd - Passwort setzen■ shutdown - herunterfahren / neustarten■ nc - Netcat Netzwerktool

nc -l -p 1337■ telnet - TCP Ports prüfen

telnet ip-address 1337■ ncftp - FTP Konsolenclient■ wget - Dateidownload

Page 90: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

90

Wichtige Befehle

■ head Anfang einer Datei anzeigen■ tail -f Ende Datei anzeigen (-f = autoscroll)■ tools zum (Ent)packen

tar ➔ tar -xfvz datei.tar.gz tar.gz Archiv mit Ausgabe entpacken➔ tar -xfj datei.bzip2 bzip2 Archiv ohne Ausgabe entpacken➔ tar -jcf archiv.bzip2 datei1 datei2 erstellt bzip2 aus datei1&2

bzip2 unzip gunzip

■ file gibt Dateityp aus■ stat gibt Dateistatusinformationen aus■ grep suchen nach Begriffen in Dateien

grep -ir suchbegriff /etc/ Case-insensitive Suche in /etc

Page 91: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

91

Suchen

■ find sucht nach Dateien / Verzeichnissen find /root -name "unterlagen.*" find /root | grep unterlagen find /root -size +500k find . ! -name '*.tex'

http://www.galileocomputing.de/openbook/linux/linux_kap05_005.htm#t2t31 ■ locate sucht in locate-Datenbank (schnell)

Indizierung des Dateisystems vorher nötig -> updatedb slocate sichere Variante von locate

■ updatedb indiziert Komplettes Dateisystem Achtung: hohe I/O-Last zu erwarten!oft cronjobs!

Page 92: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

92

Fragen

Page 93: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

93

SSH – Secure Shell■ verbreitetste Remote Shell■ baut Verbindung verschlüsselt auf

sehr sicher ausschließlich Version 2 verwenden!

■ SSH Suite sehr mächtig tunneling „Fenster“ eines entfernten Rechners darstellen seit SSH 4.3 vollständige VPN Funktionalität

■ ssh benutzername@zielrechner [befehl] führt Befehl auf Zielrechner aus

Page 94: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

94

SSH – Secure Shell

■ Schlüsselbasierte Authentisierung basiert auf Public Key Verfahren (bekannt?) ist bequemer, erspart ständige Passworteingabe privater Schlüssel muss geschützt sein

■ ssh-keygen -t rsa – erzeugt RSA Schlüssel wer bequem ist, vergibt hier kein Passwort

■ Public Key muss in ~/.ssh/authorized_keys auf Zielrechner kopiert werden

Page 95: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

95

Public Key Verschlüsselung

Page 96: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

96

SSH – Secure Shell

■ X ist netzwerkfähig Programme auf entfernten Rechner leiten Ausgabe auf

lokalem Schirm benötigt X-Server auf Empfängerseite Verbindung ungesichert

■ SSH ermöglicht sichere Weiterleitung der GUI Ausgabe Authentisierung Verschlüsselung

■ ssh -X benutzer@zielrechner programm

Page 97: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

97

SCP – Secure Copy

■ scp - Teil des SSH Pakets■ ermöglicht sichere Dateitransfers■ funktioniert bidirektional

■ scp [user@quelle:]/pfad [user@ziel:]/pfad

alternativ wenn Berechtigungen wichtig sind:

■ tar cpf – quellpfad/ | ssh root@rechner “(cd /zielpfad; tar xpf - )“ der „p“ Parameter ist für Berechtigungen

Page 98: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

98

Fragen

Page 99: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

99

Übung 6

ssh.pdf

Page 100: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

100

Kompilieren von Programmen

■ in Binärdistributionen eher selten nötig■ Sourcecodebasierende Distributionen (Gentoo...)

meist automatisch■ vermeide Kompilierorgien

Sicherheitsupdates? Wartung? Versionskonflikte? Deinstallation?

■ hin und wieder braucht man es einfach :-(

Page 101: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

101

Dreisatz

■ In Debian: das Paket „build-essential“ installieren■ Saubere Lösung: Paket bauen

■ Quick & Dirty: ./configure --prefix=/installations/pfad make make install make uninstall

■ INSTALL bzw. README lesen – oft wichtige Hinweise

Page 102: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

102

Dreisatz

■ configure zur Konfiguration von Einstellungen configure --help / configure -h immer mit „--prefix“ damit Dateien nicht über

Dateisystem verstreut werden Fehler die angezeigt werden möglichst beheben

■ make eigentlicher Kompiliervorgang sollte nach fehlerlosem configure gehen

■ make install kopiert kompilierte Daten in „--prefix“ Pfad

■ make uninstall – selbsterklärend

Page 103: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

103

Fragen

Page 104: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

104

Übung 7

kompilieren.pdf

Page 105: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

105

Wichtige Dienste

Page 106: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

106

Syslog

■ /var/log messages generelles Log, erste Anlaufstelle syslog Systemlog, sollte aufgeräumt sein auth.log Authentisierung mail.log Mail kern.log Kernel apache / samba / mysql

usw. :➔ Logdateien der Dienste

■ tail -f logfile Logfile live mitlesen

■ auf Größe der Logfiles achten, sollten rotiert werden (z.B. durch „logrotate“)

Page 107: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

107

Syslog■ Standarddienst auf meisten *nix Systemen■ syslog-ng als Nachfolger■ Alternativen bieten Verschlüsselung, SQL...:

rsyslog Modular Syslog

■ /etc/syslog.conf relativ selbsterkärend Facility.Level Action „-“ Zeichen am Anfang steht für asynchrones

Schreiben auf die Festplatte und trägt zur Performanceverbesserung bei

■ Syslog ist netzwerkfähig hört auf UDP Port 514 zentrales Logging / Logüberwachung möglich

Page 108: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

108

Syslog

■ Facilities (Quellen) zeigt wer Log gesendet hat

■ Kategorien authpriv cron daemon kern lpr mail mark news syslog ...

Page 109: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

109

Syslog

■ Severity (Log Level / Schweregrad): debug info notice warning (or warn) err (or error) crit alert emerg (or panic)

■ warn, error, und panic sind veraltet, können einem aber begegnen

Page 110: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

110

Der Cron Daemon

■ Zeitgesteuertes Ausführen von Programmen■ verschiedene cron-Dienste

anacron, vixie-cron usw.■ Zeitpunkte der Ausführung

in crontabs■ /etc/crontab

crontab für das System nur für root schreibbar cron sollte Änderungen

selbsständig bemerken,manchmal muss man „crontab /etc/crontab“ ausführen (zur Not cron restarten)

■ crontabs für jeden Benutzer /var/spool/cron/crontabs crontab -e editieren der eigenen crontab

Page 111: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

111

Der Cron Daemon

■ Aufbau relativ sebsterklärend wann soll wer etwas tun

[email protected] 4 * * * root ntpdate ntp1.fau.de ptbtime1.ptb.de*/30 * * * * root /usr/bin/webalizer

■ teilweise Leerzeile am Ende nötig■ /etc/cron*

zur besseren Übersicht sind Aufgaben in verschiedenen Verzeichnissen zu finden

■ cron.allow / cron.deny zur Einschränkung möglich

■ Beispiel:# run myprogram at 6:15am and 6:15pm on the 1st and 15th15 6,18 1,15 * * myprogram

Page 112: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

112

ntpd■ Korrekte Uhrzeit wichtig

Nachvollziehbarkeit von Logdaten Timestamps von Dateizugriffen Netzwerkdienste verlangen teilweise synchrone Zeit Zeit darf nie rückwärts laufen „timestamp in future“ prob.

■ Zeit läuft „nie“ korrekt■ Virtuelle Maschinen weit

problemematischer■ Lösung

ntpd (ntp Daemon) ntpdate <server>

■ www.ntp.org Serverpools at.pool.ntp.org europe.pool.ntp.org de.pool.ntp.org

Page 113: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

113

ntpd■ /etc/ntp.conf

server de.pool.ntp.org iburstserver 2.europe.pool.ntp.org iburstserver at.pool.ntp.org iburstserver de.pool.ntp.org iburst

Page 114: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

114

Fragen

Page 115: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

115

Der Bootloader■ sehr klein, da Bootsektor beschränkte Kapazität

hat■ läd den Kernel

kann spezielle Optionen mitgeben Auswahl verschiedener Kernel

■ muss Dateisystem verstehen■ heutzutage meist grub, lilo eher selten■ grub liest Informationen von Festplatte■ lilo speichert alles in MasterBootRecord

■ Security: setzen eines Bootloader-Passworts um booten in den single-Modus zu verhindern

Page 116: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

116

Page 117: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

117

Der Bootloader

■ zusätzliche Kernelparameter möglich■ kernel /vmlinuz-2.6.9-1.667 ro root=/dev/hda2 clock=pit

■ Beispiele für Parameter clock=pit (für Uhrzeit in VMWare) nosmp (kein Multiprozessorsupport) noapic (kein APIC) noacpi (kein ACPI Powermanagement) init=/bin/bash (alternativer INIT-Prozess) single (in den Single-Modus booten)

Page 118: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

118

Fragen

Page 119: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

119

boot.pdf

Page 120: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

120

Warum nicht als root arbeiten?

■ Bedienungsfehler■ kein Logging■ Sicherheitskritisch

z.B.: bugs in tar führen dazu, dassnicht in richtigen Pfadentpackt wird, wodurch beliebige Dateien überschrieben werden können

Ausführung unbekannter Programme

Page 121: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

121

sudo

■ führt Befehle mit root-Rechten aus ■ Ubuntu nutzt dies sehr konsequent, indem

man normal nicht als root arbeitenkann root hat kein Passwort, damit ist

keine Anmeldung als root möglich■ sudo logt alle Aktivitäten in /var/log/auth.log

bei anderen Distributionen evtl. anders■ Nachvollziehbarkeit bei mehreren Admins■ User braucht kein root-Passwort■ Definition der Rechte in /etc/sudoers

bearbeiten mit visudo (hat Syntaxcheck) normaler Editor tuts auch

Page 122: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

122

sudo■ Ubuntu: alle Mitglieder der

Gruppe admin bekommen alle Rechte mittels sudo

■ /etc/sudoersroot ALL=(ALL) ALLthorben ALL=(ALL) ALLkarl ALL=(ALL) NOPASSWD :/etc/userscripts/create_email.sh,/bin/passwdkatrin server1=(ALL) /sbin/cfdisk

Cmnd_Alias SHUTDOWN = /sbin/shutdownskx ALL = SHUTDOWN

■ man sudoers sehr ausführliche Anleitung

■ http://www.debian-administration.org/articles/33

Page 123: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

123

su■ su = switch user■ lässt normalen Benutzer zu root werden■ root kann als beliebiger User agieren

su thorben User muss gültige Shell haben

■ su kann jeder Benutzer ausführen■ Benutzer muss root-Passwort kennen■ mit „su -“ werden Umgebungsvariablen des Users

übernommen, in den man sich wandelt■ kein Logging der Aktivitäten

■ Befehle als anderer User ausführensu -c “id“ thorbenuid=1003(thorben) gid=1003(thorben) groups=1002(thorben1),1003(thorben)

Page 124: Karibu Linuxkurs Wintersemester 09/10 SIB09kasparick.com/download/linuxkurs_kasparick_sib09.pdfvimrc nette Parameter für /etc/vimrc bzw. ~/.vimrc (auch direkt im vim anwendbar) set

124

Fragen