350 likes | 498 Views
UNIX Grundlagen. Adi Kriegisch <adi@vrvis.at>. 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.
E N D
UNIX Grundlagen Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen - UNIX Konzepte 1 von 4 Konzepte • Kriterien zur Einteilung von Betriebssystemen • Management der Hardware • Ressourcenverwaltung • Dateisystem • Verwaltung und Administration • ... Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 ttyp1 • Welcome to Darwin • [equinox:~] adi% • Rechnername • Pfad („~“ = Homeverzeichnis) • Benutzername Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen - Shell 2 von 4 Die Shell - Navigation (ls) • ls - Inhalt von Verzeichnissen: • [equinox:~] adi% ls • Desktop Movies Public • Documents Music Send Registration • Library 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 (.) Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Fragen? Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Pause! Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Fragen? Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
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 <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Fragen? Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Danke! Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Pause! Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>
UNIX Grundlagen Adi Kriegisch <adi@vrvis.at> Adi Kriegisch <adi@vrvis.at>