UNIX Grundlagen

Werbung
UNIX Grundlagen
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Überblick
Ablauf - Überblick
• Geschichte von UNIX
• UNIX-Konzepte
• Grundlagen im Umgang mit UNIX
» Verwenden einer Shell
» einfache Befehle
» bewegen im Netzwerk
• Fragen, Antworten und noch mehr Beispiele
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Geschichte 1 von 3
Geschichte - Ein kurzer Abriss
Vor UNIX:
• Batchsysteme
• Operator-Betrieb
• Vielstufige „Pipeline“ bis zu Ergebnissen
• Ziel I: Computer effizient nutzen
• Ziel II: Schnelles Abarbeiten der „Jobs“
=> Nicht optimal
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Geschichte 2 von 3
Geschichte - Ein kurzer Abriss
1969 - nicht nur eine sexuelle Revolution:
Ken Thompson entwickelt erstes UNIX:
• Multi-User / Multi-Tasking
• Intelligente Speicherverwaltung
• Sicherheit auf Benutzerebene
• Benutzer arbeiten via Terminal
• Portierbarkeit eingeschränkt (PDP-7)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Geschichte 3 von 3
Geschichte - Ein kurzer Abriss
1971 - Der Beginn einer Erfolgsstory:
Dennis Ritchie entwickelt C:
• UNIX vollständig in C
• Portierung auf PDP-11
• User entwickeln Tools
» Open Source
» Community entsteht
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX Konzepte 1 von 4
Konzepte
Kriterien zur Einteilung von Betriebssystemen
• Management der Hardware
• Ressourcenverwaltung
• Dateisystem
• Verwaltung und Administration
• ...
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX Konzepte 2 von 4
Konzepte - Hardware
HAL - Hardware Abstraction Layer:
• Low-Level Treiber Hardware-spezifisch
• High-Level Management transparent
» Ladbare Kernelmodule (kext*)
» Gerätedateien (/dev)
=> Abstraktion und Transparenz
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX Konzepte 3 von 4
Konzepte - Ressourcenteilung
Hardware intelligent nutzbar machen
• Umgang mit Prozessen (Multitasking)
• Prioritäten bei der Ausführung
• Speichermanagement
• Benutzerverwaltung (Multiuser)
• Dämonen verwalten die Hardware (CUPS)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX Konzepte 4 von 4
Konzepte - Administration
Wartung von Betriebssystemen
• UNIX verlangt wenig Wartung
• Fehler sind rekonstruierbar (Lösung!)
• Diagnose mittels Log-Dateien und Tools
• Wartbar über Netzwerk (Secure Shell)
• Benutzer- und Netzwerkwartung:
» durch NetInfo und LDAP
» sowohl graphisch als auch CLI
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Dateisystem 1 von 4
Dateisystem
• Sicherheit und Zugriffskontrolle
» „drwxr-xr-x“ - Permissions
» Reflektiert Benutzer/Gruppensicherheit
» Gegensatz: Access Control Lists (M$)
• Organisation der Daten und Programme
» UNIX-spezifisches
» Applespezifisches
» Internationalisierung
• Spezielle Features (Journaling)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Dateisystem 2 von 4
Dateisystem - Sicherheit
„drwxr-xr-x“ - Permissions
Zerlegung: d rwx r-x r-x
• Typ der Datei:
» „d“ - Directory
» „-“ - normale Datei
» „b“/„c“- Block/Character Device
» „l“ - (Sym-)Link „Verknüpfung“
• Zugriffsberechtigungen für:
Besitzer, Gruppe und alle Anderen
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Dateisystem 3 von 4
Dateisystem - Struktur
• UNIX-Pfade: (vor Usern „versteckt“)
» usr, bin, etc, dev, opt, ...
• Apple-Pfade:
» Applications, Users, System, Library, ...
• Internationalisierung:
» Übersetzung von Verzeichnisnamen:
Users: Benutzer, Applications: Programme
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Dateisystem 4 von 4
Dateisystem - Features
• Vereinheitlichtes Schema: Alles unter „/“
» Mount-Points für alles (meist /Volumes)
» Auch über Netzwerk (/Network/Servers)
» Dateisysteme transparent (hfs, iso, afs,...)
• Einbinden mittels „mount“
• Journaling (ab 10.2.2)
Konsistenz des Dateisystems sicherstellen
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Shell 1 von 4
Die Shell
• Interaktiver Befehlsempfänger
• Terminal, das Fenster - Shell, das Programm
• „Netzwerkfähig“
• Eingabeaufforderung - Der „Prompt“:
Last login: Sat Mar
Welcome to Darwin
[equinox:~] adi%
7 15:02:03 on ttyp1
» Rechnername
» Pfad („~“ = Homeverzeichnis)
» Benutzername
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Shell 2 von 4
Die Shell - Navigation (ls)
• ls - Inhalt von Verzeichnissen:
[equinox:~] adi% ls
Desktop
Movies
Documents
Music
Library
Pictures
[equinox:~] adi%
Public
Send Registration
Sites
• Optionen zu ls:
» -l long; Langes Format:
drwx------ 4 adi users 136 Oct 4 2002 Desktop
» -a all; alle Dateien, auch versteckte (.)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Shell 3 von 4
Die Shell - Navigation (cd)
• cd - Verzeichnis wechseln:
[equinox:~] adi% cd /Users
[equinox:/Users] adi%
• Absolute Pfade: /Users
• Relative Pfade:
» „.“ = aktuelles Verzeichnis
» „..“ = nächsthöheres Verzeichnis:
[equinox:~] adi% cd ..
[equinox:/Users] adi%
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Shell 4 von 4
Die Shell - Hilfe!
• „apropos“ - Befehle finden:
[equinox:~] adi% apropos firewall
ipfirewall(4) - IP packet filter and ...
ipfw(8)
- IP firewall and traffic ...
[equinox:~] adi%
• „man“ - Hilfe zu Befehlen:
[equinox:~] adi% man ipfw
oder mit Angabe der Kategorie:
[equinox:~] adi% man 8 ipfw
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX und Apple
UNIX und Apple
• Unterschiedliche Ansätze:
UNIX ist schweigsam!
„Keine Nachrichten sind gute Nachrichten!“
Zuhören lernen!
Wegschmeißen ist keine Lösung...
• Unix-Community vs Apple-Community
Nutzen der vorhandenen Ressourcen
„Andere Sprache“
• „Gefühl“ für Unix entwickeln
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Fragen?
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Pause!
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX im Netzwerk 1 von 5
UNIX im Netzwerk
• Volle Netzwerkfähigkeit
• Serverdienste im Netzwerk (apache, sshd, ...)
• Diagnosetools: ping / traceroute
• Konfigurationstools: ifconfig / route
• Firewall: ipfw
• Anwendungen: Secure Shell (ssh), ftp, ...
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX im Netzwerk 2 von 5
UNIX im Netzwerk - Server
• Alle Dienste laufen als Daemon
• z.B: apache (httpd), sshd, cupsd, inetd, ...
• Konfiguration: (Textdateien)
» /etc/httpd/httpd.conf
» /etc/inetd.conf
» /etc/sshd_config
» /etc/cups/cupsd.conf
• Nach Änderungen Dienst neu starten!
=> Einfache Wartung
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX im Netzwerk 3 von 5
UNIX im Netzwerk - Diagnose
• Hat Computer Verbindung zum Netzwerk?
ping rechner / traceroute rechner
• Funktioniert Namensauflösung (DNS/hosts)?
» Rechner im internen Netzwerk in /etc/hosts
• Verbindungen zum eigenen Computer:
netstat (-n)
• IP Adresse und Gateway feststellen
ifconfig / route
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX im Netzwerk 4 von 5
UNIX im Netzwerk - Konfiguration
• Einfache Konfiguration:
» IP-Adresse mit ifconfig
» Gateway mit route
• ifconfig en0 192.168.1.2 netmask 255.255.255.0
Gibt „en0“ die Adresse 192.168.1.2
• route add default 192.168.1.1
Setzt das Gateway auf 192.168.1.1
• netstat -r (-n)
Zeigt die Routing-Tabellen
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX im Netzwerk 5 von 5
UNIX im Netzwerk - Advanced
IP-Firewalling mit ipfw
• Verwendung:
» ipfw list (Status anzeigen)
» ipfw add „rule“ (Regeln hinzufügen)
» ipfw del „nr“ (Regeln löschen)
• Beispiel: Sperren von Port 2222/UDP
ipfw add deny udp from me to any 2222
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - UNIX und Apple II
UNIX und Apple II
• Keine Angst vor vielen Zeilen Text!
• Informationsquellen:
» Befehle (netstat, ifconfig, ipfw, dmesg, ...)
» man/apropos!
» Log-Dateien /var/log/*
• Internet: BSD-Newsgroups
• Unix bietet Freiheit!
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Advanced UNIX 1 von 3
Advanced UNIX
• Pipelines - Befehle hintereinander
• Ausgabe in Datei umleiten
• Cron - Periodische Tasks automatisieren
• Suchen von Dateien (find/locate)
• In Dateien suchen (grep/cat)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Advanced UNIX 2 von 3
Advanced UNIX - Pipelines
• Ausgabe eines Befehls als Eingabe:
» cat /var/log/system.log
» davon nur alle Zeilen mit „sudo“:
| grep sudo
» dann noch die Ausgabe seitenweise:
| more
• stdin, stdout, stderr umleiten
• <, >, >>, 2> Ausgabe in Datei (bash!)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen - Advanced UNIX 3 von 3
Advanced UNIX - Crontab
• crontab -l (crontab anzeigen)
• crontab -e (crontab bearbeiten: Editor vi)
• Crontabeintrag:
* * * * *
/bin/Befehl
» Minute: 0-59
» Stunde: 0-23
» Tag: 0-31
» Monat: 1-12 (auch Namen möglich)
» Wochentag: 0-7 (auch Namen möglich)
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Fragen?
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen -
Themen
• Prozessmanagement (ps, kill, top)
• Netzwerktools (ssh, ftp, telnet, rsh)
• Dateisysteme einbinden (mount, umount)
• Links - Verknüpfungen (ln -s)
• Beispiele:
» Traffic-Zähler
» chmod/chown von Public-Verzeichnis
» Sperren von Ports; erweitertes Firewalling
» Shellscripts
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Fragen?
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Danke!
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Pause!
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
UNIX Grundlagen
Adi Kriegisch <[email protected]>
Adi Kriegisch <[email protected]>
Herunterladen