35
UNIX Grundlagen Adi Kriegisch <[email protected]>

UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Embed Size (px)

Citation preview

Page 1: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

UNIX Grundlagen

Adi Kriegisch <[email protected]>

Page 2: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

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

Page 3: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 4: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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)

Page 5: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 6: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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• ...

Page 7: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 8: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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)

Page 9: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 10: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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)

Page 11: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 12: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 13: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 14: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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 7 15:02:03 on ttyp1Welcome to Darwin[equinox:~] adi%

» Rechnername» Pfad („~“ = Homeverzeichnis)» Benutzername

Page 15: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen - Shell 2 von 4

Die Shell - Navigation (ls)• ls - Inhalt von Verzeichnissen:[equinox:~] adi% lsDesktop Movies PublicDocuments Music Send RegistrationLibrary Pictures Sites[equinox:~] adi%

• Optionen zu ls:» -l long; Langes Format:

drwx------ 4 adi users 136 Oct 4 2002 Desktop

» -a all; alle Dateien, auch versteckte (.)

Page 16: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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%

Page 17: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen - Shell 4 von 4

Die Shell - Hilfe!• „apropos“ - Befehle finden:[equinox:~] adi% apropos firewallipfirewall(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

Page 18: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 19: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Fragen?

Page 20: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Pause!

Page 21: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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, ...

Page 22: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 23: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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 feststellenifconfig / route

Page 24: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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.0Gibt „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

Page 25: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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/UDPipfw add deny udp from me to any 2222

Page 26: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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!

Page 27: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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)

Page 28: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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!)

Page 29: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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)

Page 30: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Fragen?

Page 31: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

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

Page 32: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Fragen?

Page 33: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Danke!

Page 34: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen

Pause!

Page 35: UNIX Grundlagen Adi Kriegisch. UNIX Grundlagen - Überblick Ablauf - Überblick Geschichte von UNIX UNIX-Konzepte Grundlagen im Umgang mit UNIX » Verwenden

Adi Kriegisch <[email protected]>

Adi Kriegisch <[email protected]>

UNIX Grundlagen