Upload
mitzi-eckler
View
133
Download
2
Embed Size (px)
Citation preview
UNIX Grundlagen
Adi Kriegisch <[email protected]>
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
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 7 15:02:03 on ttyp1Welcome to Darwin[equinox:~] adi%
» 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% 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 (.)
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 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
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 - 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 feststellenifconfig / 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.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
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
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 -
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