Betriebssysteme Studiengang Betriebsinformatik Wintersemester 2008/09 (2. Semester) Vorlesung : 5 Veranst. á 2 DS Praktikum : 3 Veranst. 3 / 4 / 3 DS = 20 Unterrichtsstunden = 20 Unterrichtsstunden Inhalt 1. Einführung 2. Grundlagen (Windows 2000/XP) 3. Anpassung der Arbeitsumgebung 4. Dienste & Dienste verwalten (MMC) 5. Verteilte Betriebssysteme 6. Mehrnutzerbetrieb und Benutzerverwaltung 7. Kommandointerpretation und Batch-Dateien 8. Datensicherung Literatur Windows 2000 Professional, Eine Einführung in die PC-Benutzung Regionales Rechenzentrum für Niedersachsen / Universität Hannover http://www.rrzn.uni-hannover.de, 1. Auflage, Februar 2000 Windows 2000 Professional, Systembetreuer: Workstation Regionales Rechenzentrum für Niedersachsen / Universität Hannover http://www.rrzn.uni-hannover.de, 1. Auflage, November 2000 S. Tanenbaum Moderne Betriebssysteme. Carl Hanser u. Prentice-Hall, 1994 M. Kuppinger Microsoft Windows 2000 Server – Das Handbuch Microsoft Press Deutschland, 2000, ISBN 3-86063-133-0 U. Brünning, J. Krause Windows 2000 im professionellen Einsatz Carl Hanser Verlag, 2000 P. Mandl Grundkurs Betriebssysteme Vieweg-Verlag, 2008 1. Einführung 1.1 Was ist ein Betriebssystem? Anwendungsprogramme Software Systemprogramme Rechnersystem (RS) = Rechenanlage (RA) + Betriebssystem (BS) Der Nutzer muss von der Komplexität der Hardware abgeschirmt werden. Dem Nutzer wird eine virtuelle Maschine (= BS) angeboten, die einfacher zu verstehen und zu programmieren ist Sichten Top-down : Nutzung der virtuellen Maschine durch Benutzer Bottom-up : untersuchen, wie ein BS eine virtuelle Maschine realisiert Betriebsmittelverwaltung Zuteilung von Prozessoren (CPU), Speichern, I/O-Geräten für konkurrierende Programme Benutzer kommunizieren mit einem BS über eine grafische Benutzeroberfläche (GUI) Kommandos in einer einfachen Programmiersprache (Shell, Command-Tool) eine programmiersprachliche Schnittstelle: Systemaufrufe in C, BS ist selbst in C programmiert 1.2 Konzepte, Strukturen und Klassifizierung von BS 1. Generation ( vor 1955) : kein BS ! 2. Generation (1955 – 65) : jeweils 1 Programm zur Abarbeitung im HS, CPU wartet die meiste Zeit auf E/A 3. Generation (1965 – 80) : HS in Partitionen geteilt, in jeder Partition kann ein Programm abgearbeitet werden (Multiprogramming) Spooling-Technik Timesharing, Prozesskonzept, schneller online-Zugang für Terminale + „Stapeljobs“ im Hintergrund 4. Generation (1980 -90) : Netzwerk-BS, verteilte BS Netzwerkbetriebssystem: auf jedem Rechner läuft ein eigenes Betriebssystem, die Nutzer sind sich der Existenz vieler Rechner bewusst, sie können - Zugang auf entfernte Rechner haben - Dateien von einem Rechner zu anderem kopieren „Echte“ Verteilte (Betriebs-) Systeme Das BS sieht für den Benutzer aus wie ein traditionelles Einprozessorsystem, es besteht aber aus vielen Prozessoren. Nutzer haben keine Kenntnis, wo Programme ausgeführt werden. Architektur (Aufbau, Struktur) von BS Monolithische Systeme Prozeduren können sich gegenseitig aufrufen (Vermittlung von Parametern und Ergebnissen). Systemaufrufe (Supervisor call, Trap-Befehl) sind vorhanden. Umschalten von Benutzermodus in Kernmodus unterstützt. Schichtenmodell Trennung der Funktionalität in Schichten und Module, die unabhängig voneinander arbeiten. Soviel Funktionalität wie möglich in höhere Schichten verlagern, übrig bleibt der Kern (kernel) . Client-Server-Modell → Windows ist eine Kombination aus Schichtenmodell und Client-Server-Modell Das Client-Server-Modell Das Client-Server-Modell in einem verteilten System 2. Grundlagen (Windows 2000/XP) 2.1 Architektur 2.2 Dateiverwaltung 2.3 Programme und Prozesse 2.4 Kommunikation zwischen Prozessen 2.5 Hauptspeicherverwaltung 2.6 Netzwerkbetrieb/Netzwerkprotokolle Typischerweise bestehen BS aus Komponenten für Prozessverwaltung Prozessmanager Speicherverwaltung Speicherverwaltung Dateiverwaltung Objekt-Manager Verwaltung der I/O-Geräte I/O-Manager Bei Windows NT 4.0 gab es im Benutzermodus ein Win32-Subsystem Der Modul wurde aufgespalten und Teile davon in den Kernel verschoben. Über das Grafical Device Interface greift der Windows Manager auf grafische Geräte zu. 2.2 Dateiverwaltung Dateien a) eine Folge von Bytes (Beispiel UNIX) b) eine Folge von Datensätzen (Beispiel CP/M) c) ein Baum Mit dem Konzept der Verzeichnisse (directories) bieten BS die Möglichkeit, Dateien zu gruppieren. Metapher: Verzeichnisse sind Behälter für Dateinamen Hierarchie von Dateien: eine Datei ist eine gewöhnliche Datei oder ein Verzeichnis (oder eine Gerätedatei) ein Verzeichnis enthält Dateien Jede Datei innerhalb einer Verzeichnishierarchie kann durch Angabe eines Pfadnamens benannt werden. Ein absoluter Pfadname besteht aus einer Liste von Verzeichnissen, die Ausgehend vom Wurzelverzeichnis durchlaufen werden müssen, um auf die Datei zuzugreifen. Die einzelnen Bezeichnungen werden durch ein Separatorzeichen getrennt Benennung von Dateien: .bin .bat .c .com .class .doc .exe .hlp .java .lib .obj .pas .sys .txt .xls ausführbares Binärprogramm Batch-Datei (Kommandoprozedur) C-Quellprogramm kleines ausführbares Programm übersetzte Java-Datei Dokumentationsdatei ausführbares Programm Hilfe-Datei Java-Quellprogramm Bibliothek von Objekt-Code-Dateien, vom Linker benutzt Objekt-Datei Pascal-Quellprogramm Gerätetreiber ASCII-Textdatei EXCEL-Datei Dateien werden auf Datenträgern in Dateisystemen organisiert. Über Bereitstellungspunkt Verzeichnis eines NTFS-Datenträgers direkt mit anderem Datenträger verbinden Im Bereich der Microsoft-BS werden mehrere Arten von Dateisystemen unterstützt: Dateisystem FAT 16 VFAT FAT 32 NTFS Urspung MS-DOS Windows 95 Windows 95b Windows NT Maximale Dateigröße 2 GByte 4 GByte 2 Terabyte 16 Exabyte Maximale Partitionsgröße 2 GByte 4 Gbyte 2 Terabyte 16 Exabyte (2 Gigabyte) Maxim. Länge der Datei- und Verzeichnisnam en 8 255 255 255 Datei- und Verzeichnisattribute 3 3 3 erweitert Attribute von NTFS-Dateien sind: ● Attribut „schreibgeschützt“ ● Attribut „versteckt“ ● Archivattribut ● Indexattribut ● Komprimierungsattribut ● Verschlüsselungsattribut Verarbeitung von Dateien: ► Lesen, Schreiben, ► Ausführen, ► Navigieren (ein Verzeichnis zum aktuellen Verzeichnis machen) Dokument D Benutzer A Benutzer B Benutzer: Subjekt Dokument: Objekt Zugriffskontrollmatrix S1 S2 S3 O1 rwx rx O2 w - O3 x Access Control List (ACL) In einer ACL sind ACE‘s enthalten, die einzelne Berechtigungen erteilen oder entziehen. Auswertung der ACL einer Datei: 1) negative ACE‘s (welche Berechtigungen sind entzogen?) 2) positive ACE‘s: (welche Berechtigungen sind zugelassen?) → unlogische Kombinationen werden verhindert! NTFS-Berechtigungen: Verzeichnisberechtigung Zugriffsmöglichkeiten Lesen Unterverzeichnisse auflisten Dateien lesen Berechtigungen, Besitzrechte, Attribute einsehen Schreiben Unterverzeichnisse, Dateien erstellen Berechtigungen, Besitzrechte einsehen Attribute ändern Ordnerinhalt auflisten Unterverzeichnisse und Dateien auflisten und lesen Lesen, Ausführen Lesen + Ordnerinhalt auflisten + Navigieren im Verzeichnis Ändern Lesen, Ausführen + Schreiben + Verzeichnis löschen Vollzugriff übrige Berechtigungen + Besitz übernehmen + Berechtigungen ändern Dateiberechtigung Zugriffsmöglichkeiten Lesen Datei lesen Berechtigungen, Besitzrechte, Attribute einsehen Schreiben Datei überschreiben Berechtigungen, Besitzrechte einsehen Attribute ändern Lesen, Ausführen Lesen + Anwendungen ausführen Ändern Schreiben + Lesen, Ausführen Datei ändern u. löschen Vollzugriff übrige Berechtigungen + Besitz übernehmen + Berechtigungen ändern Regeln: ► Beim Anlegen einer Datei bekommt diese dieselben Rechte wie der Ordner, in dem sie angelegt wird (Vererbung). ► Kopieren: Berechtigungen des Zielverzeichnisses werden angenommen ► Verschieben: Berechtigungen werden mit übertragen. aber zwischen unterschiedlichen Datenträgern: wie Kopieren. ► Besitzrechte: Besitzer eines Objektes ist der Benutzer, der das Objekt erstellt hat. Besitzrechte können nicht übertragen, sondern nur übernommen werden. 2.3 Programme und Prozesse Prozessdefinition: Wird ein Programm aufgerufen (Benutzerprogr., Kommando), wird der Programmcode in den HS geladen u. abgearbeitet. Das ablaufende Programm heißt Prozess (Task). ► In einem Multitasking-BS entscheidet das BS periodisch, einen laufenden Prozess zu unterbrechen und einen anderen Prozess zu starten (wenn die dem Prozess zustehende CPU-Zeit verbraucht ist). -> Prozessscheduling ► Wenn ein Prozess suspendiert wurde, muss er später in genau diesem Zustand wieder gestartet werden. Prozesskenndaten ( sind in einer Prozesstabelle gespeichert ) ● Prozessnummer (PID) ● Prozessnummer des Elternprozesses (PPID) ● Benutzerkennung (UID) und Gruppenkennung (GID) ● Prozesspriorität (PRI) ● Prozesszustand (STAT) ● Kontrollterminal (TTY) ● zugeordnete Datenbereiche (Programm + Daten) ● aktuelles Verzeichnis ● die geöffneten Dateien ● Environment (Variablen und Werte) ● der Stack ● der Befehlszähler ● Register … Anzeige von Prozessen: bzgl. Prozessverwaltung bzgl. Speicherverwaltung bzgl. Dateiverwaltung Mit Hilfe des Taskmanagers können 1) Die Systemleistung überwacht werden - Auslastung des Prozessors - Speicherauslastung 2) laufende Systemprozesse gesteuert werden 3) aktive Anwendungen beendet werden Prozesshierarchie: Ein Prozess kann von sich aus einen neuen Prozess erzeugen und starten. Kindprozess (child process) Elternprozess (parent process) Beim Erzeugen eines Prozesses wird mittels des Systemaufrufs fork eine Kopie des erzeugenden Prozesses erzeugt 0 1 19 128 20 129 21 130 Entstehung und Ende von Prozessen Prozess-Scheduling Es gibt viele Algorithmen für konkurrierende Forderungen nach Effizienz und Fairness gegenüber einzelnen Prozessen Ob einem Prozess CPU-Zeit zugeteilt wird, hängt ab von • Priorität des Prozesses • Platzbedarf des Prozesses • verstrichene Wartezeit des Prozesses Regeln: • Jeder Prozess in der Systemphase hat höhere Priorität als alle Prozesse in der Benutzerphase • die Priorität eines Prozesses in der Benutzerphase ist um so größer je kleiner das Verhältnis verbrauchte CPU-Zeit insgesamt verbrauchte Zeit ist. Round-Robin-Scheduling B F D Aktueller Prozess F D G A Nächster Prozess G A B Wenn ein Prozess blockiert oder seine Ausführung beendet ist, bevor das Quantum abgelaufen ist, wird ihm der Prozessor entzogen. 2.4 Kommunikation zwischen Prozessen • temporäre Dateien • Pipes • Signale (Unterbrechungssystem) • Shared Memory (gemeinsam genutzter Speicher) • Semaphore • Messages • Sockets IPC = Inter Process Communication Kommunikation mittels Shared Memory : Zeitkritische Abläufe (race conditions) Kritische Bereiche Wechselseitiger Ausschluss Schlafen und Aufwecken Semaphore Monitore Zeitkritische Abläufe: Probleme bei gemeinsam genutztem Speicher (HS oder Dateien) Mehrere Prozesse lesen/schreiben gemeinsam genutzte Daten, Ergebnisse hängen Von zeitlicher Reihenfolge der Les-/Schreiboperationen ab. Beispiel: Drucker-Warteschlange Kritische Bereiche: Die Teile von Programmen, in denen auf gemeinsam benutzten Speicher zugegriffen wird. Finden eines Verfahrens, um zu verhindern, dass zu einem Zeitpunkt mehr als ein Prozess gemeinsame Daten liest oder schreibt. Programm A Programm B Daten Kritischer Bereich Wechselseitiger Ausschluss: ● Sperren aller Unterbrechungen vor Eintritt in kritischen Bereich ● Aktives Warten mittels Sperrvariablen (0 – kein P. im KB., 1 – P. im KB. ) ● Schlafen und Aufwecken Aktives Warten verschwendet Prozessorzeit (Warteschleife, falls Eintritt in den kritischen Bereich nicht möglich ist). „Blockieren“, wenn ein Prozess nicht in den Kritischen Bereich eintreten kann: Der Aufrufer wird suspendiert, bis er von einem anderen Prozess aufgeweckt wird. → Ereigniszählung erforderlich Das Erzeuger-Verbraucher-Problem Puffer n=6 Erzeuger count Verbraucher - im Zustand count=0 liest der Verbraucher count. - Verbraucher startet den Erzeuger und will sich schlafen legen. - bevor der Verbraucher sich schlafen legen kann, wird der Verbraucher-Prozess unterbrochen. - der Erzeuger wird geweckt, erhöht count (count++) und weckt den Verbraucher. der Verbraucher schläft noch nicht, das Wecksignal bleibt wirkungslos. der Verbraucherprozess wird fortgesetzt, der Verbraucher legt sich schlafen. der Erzeuger füllt den Puffer und legt sich schlafen. beide Prozesse schlafen für immer → Deadlock Messages: Nachrichtenaustausch über eine im BS-Kern verwaltete Datenstruktur. Messages werden vom Sender-Prozess in eine Message-Queue geschrieben und vom Empfänger-Prozess dort abgeholt. Falls keine Nachricht verfügbar ist, kann der Empfänger blockieren, bis eine Nachricht eintrifft. 2.5 Hauptspeicherverwaltung Swapping : Ist nicht genügend HS zum Einlagern eines ausgewählten Prozesses vorhanden, werden andere Prozesse ausgelagert. Paging : Virtueller Speicher: Der Speicher wird in Seiten (pages) eingeteilt, es werden nur noch benötigte Teile von Prozessen ein-/ausgelagert. Der Seitenwechsel wird als Paging bezeichnet. → es können Programme ausgeführt werden, die größer sind als der HS. Dynamisches Binden (Linken): übersetzen x.c vebinden (linken) HS x.o a.Out Bibliotheksprogramme Quellprogramme Objektprogramme (Zielprogramme) Ausführbares Programm (Lademodul, Executable) Flexible Methode ist das Binden jeder Prozedur zum Zeitpunkt ihres ersten Aufrufs: = Dynamisches Binden Alle Versionen von Windows unterstützen das dynamische Binden durch ein spezielles Dateiformat : DLL (Dynamic Link Library) 2.6 Netzwerkbetrieb/Netzwerkprotokolle IP-Adressen: (IPv4) 4 Zahlen zwischen 0 und 255, jeweils durch Punkt getrennt, weltweit eindeutig vergeben. Beispiel: 192.168.24.105 192.168.24 Netzadresse Rechneradresse Subnetzmaske 105 255.255.255.0 Klasse W-Werte Netzwerk-ID Host-Id max Netzwerke max Hosts A 1-126 w x.y.z 126 16.777.214 B 128-191 w.x y.z 16384 65.534 C 192-223 w.x.y z 2.097.151 254 127 für Loop-back-Tests (127.0.0.1) Komm. zwischen Prozessen auf lokalem Rechner Von den 255 theoretisch verfügbaren Adressen eines Klasse C-Netzwerkes wird → 255 als Broadcast-Adresse verwendet → 0 als Adresse für das Netzwerk verwendet (als Hostadresse unzulässig). Adressvergabe: Jede IP-Adresse ist weltweit eindeutig und wird von der IANA an die Organisationen APNIC, ARIN und RIPE vergeben, die diese dann wiederum verteilen. IANA (Internet Assigned Numbers Authority) : organisatorisch Unterabteilung der ICANN (Internet Corporation for Assigned Names and Numbers) APNIC (Asia-Pacific Network Information Center) ARIN (American Registry for Internet Numbers) RIPE NCC (Reseaux IP Europeens) LACNIC AfriNIC Für jede der Klassen (A,B,C) gibt es Bereiche, die nicht zentral vergeben werden, frei verfügbar (z.B. 192.168.0.0 – 192.168.255.0) . Computername und Domäne ermitteln Start –> Einstellungen –> Netzwerkverbindungen Automatische Vergabe von IP-Nummern: 1) Autokonfiguration – die Rechner im Netzwerk legen IP-Adressen und Subnetzmasken selbst fest. Protokolle: BOOTP, DHCP (für kleine Netze, in denen keine statischen Adressen gebraucht werden) 2) Dynamisches IP mit DHCP-Servern (Dynamic Host Configuration Protocol) Der Computer ersucht beim Starten einen speziellen Server um die Zuweisung einer Adresse zu seinem Namen für eine gewisse Dauer. → Zentrale Verwaltung der IP-Adressen Arbeitsgruppen und Domänen Arbeitsgruppe: mehrere Computer im Netzwerk als gleichwertige Partner Peer-to-Peer-Netzwerke alle Verwaltungsarbeiten müssen lokal an jedem Rechner vorgenommen werden Domäne: ► Verband von Computern, die hierarchisch strukturiert zusammenarbeiten ► Client: Windows 2000 Professional Server: Domänencontroller (Server- BS) ► Es muss nicht jeder Benutzer auf jedem Computer ein Benutzerkonto besitzen. Der Benutzer verfügt über ein Konto auf dem Domänencontroller Client-Server-Systeme: File-Server stellt Daten im Netz zur Verfügung Bandsicherungen können an zentraler Stelle vorgenommen werden Print-Server zentralisiert die Druckerverwaltung Proxy-Server stellt den Clients eines Netzwerkes Internet-Seiten bereit. Die Seiten müssen nicht jedes mal aus dem Internet bezogen werden, wenn sie benötigt werden. Terminal-Server stellt Clients Rechenkapazität zur Verfügung, die über keine Rechenkapazität verfügen. Die nachgebildeten Terminale werden auf den Bildschirmen von meist entfernten PCs dargestellt und von dort aus gesteuert. Adressübersetzung ► Um Datenpakete aus Netzwerken weiterleiten zu können, werden Router eingesetzt. ► Routing ist das Weiterleiten von Datenpaketen aus einem Netzwerk in ein anderes. LAN 192.168.0.0 myPC 192.168.0.104 Internet Router Home-win 192.168.0.101 karlsPC 192.168.0.102 ISDN 195.234.113.11 NAT (Network Address Translation) : Das gesamte LAN ist nur als 195.234.113.11 ansprechbar. Neu in Windows 2000/XP sind zwei Protokolle, die Übertragungswege und Anmeldeprozesse schützen: IPSec und Kerberos IPSec beschreibt Datenformate - zur Verschlüsselung (ESP) - zur Authentifizierung (AH,ESP) - zum Schlüsselmanagement (IKE) Namensauswertung in Windows-Netzwerken ► Konfiguration mit TCP/IP setzt IP-Adressen und Computernamen voraus (zwei eindeutige Bezeichner) ► Dienst: Namensauswertung/Namensauflösung, stellt Beziehung zwischen beiden Bezeichnern her NetBIOS - Konventionen für Windows DNS (Domain Name System) → Computernamen bestehen aus 2 Komponenten Hostname + Domänenname → erfordert statische Zuordnung Computername – IP-Adr. ► DNS ist eine verteilte Datenbank, die ein hierarchisches Namenssystem für die Ansprache von Hosts im Internet bereitstellt. Freigaben: können eingerichtet werden für: - Ordner - Drucker - Netzwerkressourcen Im Netz zur Verfügung gestellte Verzeichnisse (sog. „Freigaben“) können mit einem lokalen Laufwerksbuchstaben verbunden werden. \\Servername\Freigabe = UNC (Universal Naming Convention) \\samba.htw-dresden.de\fritzsch Samba kann Funktionen eines Windows-Servers übernehmen. Macht das MessageServerBlock-Protokoll (auch NetBIOS) für UNIX-Systeme verfügbar. 3. Anpassung der Arbeitsumgebung Systemstart: ► Power-on-self-Test ► BIOS → Finden und starten eines BS (Festlegungen im BIOS-setup) Benutzeranmeldung: ► ► ► ► Objekte: ► Programm-Objekte (Metapher: Werkzeug) ► Dokument-Objekte (Metapher: Zeug) Zwischenablage: ► Druck (ganzer Bildschirm) ► Alt+Druck (aktuelles Fenster) Strg+Alt+Entf Identifikation Authentifizierung Starten Desktop Benutzung der Zwischenablage, um Ausschnitte von Oberflächen zu selektieren: Die Einstellungen des Desktops sind benutzerspezifisch. Sie werden im Benutzerprofil gespeichert. Beispiel: Umgebungsvariablen Start –> Einstellungen –> Systemsteuerung => System -> R: Erweitert Beispiel: Hauptspeicherverwaltung Start –> Einstellungen –> Systemsteuerung => System R-> Erweitert -> Systemleistung:Einstellungen 4. 4.1 Dienste Dienste verwalten 4.1 Dienste verwalten 4.2 Microsoft Management Console (MMC) 4.3 Drucken 4.4 System überwachen 4.1 Dienste verwalten Dienste sind Komponenten des BS, die in der Regel im Hintergrund arbeiten (oberste Schicht im geschützten Kernel-Modus) . Beispiele: Ereignisprotokolldienst Anmeldedienst Arbeitsstationsdienst ... C:\WINDOWS\system32\services.exe C:\WINDOWS\System32\lsass.exe C:\WINDOWS\System32\svchost.exe Dienste können gestartet, gestoppt, fortgesetzt, neu gestartet, beendet werden. Diensteverwaltung : Start –> Einstellungen –> Systemsteuerung => Verwaltung => Dienste Eigenschaften von Diensten anzeigen: Dienste => Dienst Dienste können voneinander abhängig sein, Abhängigkeiten können eingesehen werden. ... Dienste => Dienst R-> Abhängigkeiten 4.2 Die Microsoft Management Console (MMC) Hilfsmittel zur Erstellung individuell angepasster Werkzeuge („Konsolen“) zur Unterstützung der Verwaltungsarbeit bietet einheitliche Oberfläche, stellt selbst keine Funktionen bereit Anwendungen als „snap-ins“ hinzufügen, Konsole kann als Datei gespeichert werden. Arbeit im Benutzermodus oder im Autorenmodus Start -> Ausführen ... Eingabe mmc -> OK Hinzufügen Snap-in: 1 2 3 5 4 2 Kategorien von Snap-ins: Eigenständige Snap-ins: werden direkt einer Konsole hinzugefügt Snap-in-Erweiterungen MMCs können gespeichert werden ( .msc) Zugriffsmodi für MMC: mmc -> Menü „Konsole“ (oder „Datei“ bei XP) -> Menüpunkt „Optionen“ Autorenmodus: Snap-ins dürfen hinzugefügt/entfernt werden Benutzermodus: Benutzer kann keine Snap-ins hinzufügen/entfernen 3 Stufen: - Vollzugriff - beschränkter Zugriff/mehrere Fenster - beschränkter Zugriff/Einzelfenster 4.3 Drucken Drucker Lokale Drucker Drucker im Netzwerk (parallele Schnittstelle USB, serielle Schn., Fire-Wire) Netzwerkfähige Drucker (eingebaute Netzwerkkarte) Druckserver (Computer im Netz, an den lokale oder netzwerkfähige Drucker angeschlossen sind) LPR - Drucker (Line-Printer-Remote, wie lokale Drucker, die Ausgabe wird aber auf zentralen Druckserver (UNIX) weitergeleitet) 4.4 Systemüberwachung Es können Ereignisse überwacht werden: ► ► ► ► Anmelden und Abmelden Herunterfahren des Systems Dateizugriff (nur NTFS) Druckerzugriff ► usw. Ergebnisse der Überwachung werden in Protokollen festgehalten: Anwendungsprotokoll: Meldungen, die von Anwendungen ausgegeben werden Sicherheitsprotokoll: Betreffen Zugang zum System u. Umgang mit Ressourcen Systemprotokoll: von Windows-Systemkomponenten aufgezeichnete Ereignisse Ereignisanzeige ist der Ort, an dem Protokolle eingesehen werden können. Start -> Einstellungen -> Systemsteuerung => Verwaltung => Ereignisanzeige Meldungsarten: ► Informationen: erfolgreiche Ausführung einer Anwendung ► Warnungen nicht schwerwiegend, möglicherweise können künftig Probleme auftreten (z.B. Speicherplatz auf Datenträger wird knapp) ► Fehler schwerwiegendes Problem (z.B. ein Dienst wird während des Systemstarts nicht geladen) Erfolgsüberwachung vs. Fehlerüberwachung Inhalt und Bedeutung der Ereigniseinträge Überwachungsrichtlinien bearbeiten: Bei Doppelklick auf einen Richtlinieneintrag: 5. 5. Verteilte Betriebssysteme 5.1 Kommunikation in verteilten Systemen (siehe Abschnitt 2.4) 5.2 Netzwerkkomponenten und Einstellungen 5.1 Kommunikation in verteilten Systemen TCP: Jede Nachricht enthält das 4-Tupel (Quell-IP-Adresse,Quellport, Ziel-IP-Adresse, Zielport) Sockets: IP-Adresse + Portnummer Portnummern: ftp-data ftp telnet smtp domain finger www-http pop3 netbios-ns UNIX: /etc/services 20 21 23 25 53 79 80 110 137 5.2 Netzwerkkomponenten und -einstellungen Netzwerkkomponenten: ► Client-Programme ► Dienste ► Protokolle Komponentenklasse Komponente Client Client für MS-Netzwerke Funktion Dienst Ermöglicht den Zugriff auf NetBIOSRessourcen im Netzwerk Client Services für NetWare Ermöglicht den Zugriff auf NetWareRessourcen Druckdienste für UNIX Ermöglicht UNIX-Clients den Zugriff auf Drucker, die an Windows 2000-Rechner angeschlossen sind und umgekehrt Datei- und Druckerfreigaben für Ermöglicht anderen Microsoft-Rechnern den Micosoft-Netzwerke Zugriff auf Ressourcen des Rechners SAP-Agent Stellt SAP-Dienste im Netzwerk zur Verfügung Protokoll Apple-Talk-Protokoll Protokoll DLC-Protokoll Protokoll für die Kommunikation mit MacintoshRechnern und Apple-Talk-Druckern Protokoll für die Kommunikation mit Druckern Protokoll Internetprotokoll (TCP/IP) Standardprotokoll im Internet Protokoll Netzwerkmonitortreiber Protokoll für den Netzwerkmonitor Protokoll NWLink IPX/SPX/NetBIOSkompatibles Transportprotokoll Protokoll für die Kommunikation mit NovellNetware-Rechnern Client Dienst Dienst XP: Netzwerkumgebung auf dem Desktop, KM -> Eigenschaften W2K: Netzwerkumgebung auf dem Desktop, KM -> Eigenschaften => LAN-Verbindung Es können Eigenschaften von Komponenten eingesehen und geändert werden. Kommandozeilentools für TCP/IP finger - liefert Informationen zu Nutzern ftp - File Transfer hostname - zeigt Computernamen an ipconfig - liefert Informationen zur aktuellen IP-Adresskonfiguration netstat - zeigt Protokolldaten an nslookup - zeigt Informationen von DNS-Nameservern an ping - überprüft die Netzwerkverbindung zu entfernten Computern route - dient der Konfiguration lokaler Routen tracert - Diagnosewerkzeug für routing 6. Mehrnutzerbetrieb & Benutzerverwaltung 6.1 Das Konzept der Benutzerverwaltung 6.2 Authentifizierung und Sicherheit 6.3 Benutzer und Gruppen verwalten 6.4 Richtlinien und das Active Directory Das Konzept der Benutzerverwaltung ► user account für jeden Benutzer (Basis für Sicherheitskonzept) Benutzerprofile enthalten die Einstellungen der Arbeitsumgebung der Benutzer ► Gruppen: Einzelne Benutzer werden zu Gruppen zusammengefasst Benutzer können Mitglied mehrerer Gruppen werden ► Benutzerrechte können einzelnen Benutzern oder Gruppen zugeordnet werden Beispiele für Benutzerrechte: ► Benutzerkonten /Gruppen : - Ändern der Systemzeit - Anheben von Quoten - Herunterfahren des Systems - Laden und Entfernen von Gerätetreibern - usw. lokal auf einem Computer vs. in einer Domäne Benutzerprofile Benutzerprofil lokales Benutzerprofil Auf lokaler Festplatte gespeichert, auf anderen Computern nicht verfügbar. serverbasiertes Benutzerprofil Wird vom Server auf den Client geladen, wenn sich der Nutzer anmeldet, beim Abmelden wird es auf dem Server aktualisiert. verbindliches Profil Wird vom Server auf den Client geladen, kann vom Nutzer nicht verändert werden. Benutzer und Gruppen ► voreingestellte Benutzerkonten: Administrator Gast (kein Kennwort in der Voreinstellung!) Gruppen Lokale Gruppen Globale Gruppen ► voreingestellte Gruppen: Domänen-Admins Domänen-Benutzer Domänen-Gäste Enterprise-Admins Interne Gruppen Administratoren Benutzer Gäste Hauptbenutzer Replikations-Operatoren Sicherungs-Operatoren Interne Gruppen ► interne Verwendung in Windows ► es können keine Mitglieder zugeordnet werden. ► interne Gruppen sind: Jeder Interaktiv Netzwerk Ersteller-Besitzer Authentifizierte Benutzer Anonymous-Anmeldung Dialup (Vorsicht bei Zuweisung von Rechten!) (lokal angemeldete Nutzer) (Nutzer, die über Netzwerk zugreifen) (Ersteller von Objekten) (Benutzer mit gültigem Konto lokal oder im AD) (jedes nicht authentisierte Konto) (jeder Nutzer, der aktuell eine Wählverbindung unterhält) 6.2 Authentifizierung und Sicherheit • SID (Security Identifier) wird bei Erstellung eines Kontos generiert und einem user account eindeutig zugeordnet. Der Benutzername ist ein Anhängsel an einen SID. • SAM (Security Account Manager) -> „Sicherheitskontenverwaltung“ zuständig für die Verwaltung der Datenbank, in der sich die Informationen über alle Benutzer und Gruppen befinden. • Bei der Anmeldung eines Benutzers wird ein Sicherheitsausweis (Zugriffsticket) erstellt. • Anhand des Sicherheitsausweises wird überprüft, ob ein Benutzer die Berechtigung hat, auf ein bestimmtes Objekt zuzugreifen. Es findet ein Vergleich mit den Angaben in der ACL (Access Control List) statt. Schlüsselaustausch nach Diffie/Hellman Die Kommunikationspartner A und B können jeder einen gemeinsamen Schlüssel K erzeugen, ohne geheime Informationen austauschen zu müssen. Beispiel: A B A und B vereinbaren zwei Zahlen g = 4 und p = 11 A wählt seinen privaten Schlüssel XA = 3 B wählt seinen privaten Schlüssel XB=4 A berechnet seinen öffentlichen Schlüssel B berechnet seinen öffentlichen Schlüssel YA = g XA mod p YB = 4 3 mod 11 = 64 mod 11 = 9 = g XB mod p = 4 4 mod 11 = 256 mod 11 =3 A sendet YA an B B sendet YB an A A berechnet den Sitzungsschlüssel K: B berechnet den Sitzungsschlüssel K: K = YBXA = 33 mod 11 = 27 mod 11 = 5 K = YAXB = 94 mod 11 = 6561 mod 11 = 5 6.3 Benutzer und Gruppen verwalten Werkzeuge: • Systemsteuerung -> „Benutzer und Kennwörter“ • Snap-in „Lokale Benutzer und Gruppen“ in der MMC Benutzerumgebung umfasst folgende Elemente • Desktop, Bildschirmmuster, Hintergrundbild • Zugriffsrechte auf Dateien und Verzeichnisse • Möglichkeit der Anpassung des Startmenüs und der Taskleiste • Möglichkeit, Dateien auf Netzwerkdruckern auszudrucken • Automatische Herstellung von Verbindungen zu Netzwerklaufwerken und freigegebenen • Möglichkeit des automatischen Starts von Anwendungen nach der Anmeldung • Stammverzeichnis zur Ablage persönlicher Daten des Benutzers Verwaltung von Benutzerumgebungen ist mit folgenden Werkzeugen möglich • Benutzerprofile konfigurierbare Einstellungen des Computers • Systemrichtlinien Festlegung, welche Einstellungen Benutzer verändern dürfen und welche nicht. Bestimmte Konfigurationen können vordefiniert bzw. erzwungen werden. • Anmeldescripts .bat Dateien oder .exe-Dateien, die einem Nutzer zugeordnet sind und jedes mal ausgeführt werden, wenn sich der Nutzer anmeldet • Umgebungsvariablen Systemsteuerung -> System R-> erweitert DK auf den Benutzer im Benutzermanager: 6.4 Richtlinien und das Active Directory Richtlinien ► Werkzeuge ► dienen dazu, Rechte von Benutzern u. Einstellungen des Systems zu regulieren ► können im Geltungsbereich festgelegt werden und bewirken Änderungen in der Registrierungsdatenbank („Registry“) → Registrierungseditor ► es gibt (typabhängig) verschiedene Einstellmöglichkeiten für Richtlinienoptionen: Option Funktion Deaktiviert/Aktiviert steuert Einstellungen zur Verfügbarkeit von Optionen Wert Einstellungen haben möglichen Wert, der angepasst werden kann Nicht konfiguriert/Deaktiv./Aktiv. Verbieten/Erlauben flexibel handhaben Speziell: Gruppenrichtlinien Anpassungen und Einschränkungen für den Umgang mit dem BS Beispiel: Aktivieren und Konfigurieren des Sicherheitsprotokolls: In der Registrierungsdatenbank werden alle wesentlichen Konfigurationsinformationen gespeichert. Sie besteht aus einer Anzahl von Datenbankdateien. Die Registrierungsdatenbank kann mit Hilfe eines Registrierungseditors (regedt32) manuell bearbeitet werden (Vorsicht!). Die Registrierungsdatenbank besteht (logisch) aus 5 Teilen: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG Die Dateien der Registrierungsdatenbank sind im Verzeichnis %Systemroot%\System32\Config abgelegt. Es sind die Dateien software , system, sam, default und security. Verzeichnisdienst: ► Hierarchische Datenstruktur (Datenbank) + Darstellung komplexer Daten über im Netzwerk verfügbare Ressourcen - Anwendungsprogramme Drucker Benutzer Dateien etc. ► Benennung, Speicherung, Suchen, Administrieren von Ressourcen → zentraler Informationspool im Netzwerk → eng mit Sicherheitsfunktionen des BS verbunden → Single Sign On-Konzept (1 x authentifizieren, Zugriff auf alle zugeordneten Systeme) X.500 – Standard (1988) Grundstein, geringe Verbreitung, hohe Kosten LDAP (RFC 1487) Lightweight Directory Access Protocol schlanker Standard, „kleinster gemeinsamer Nenner“ Proprietäre Lösungen NDS, eDirectory (Novell), DirX (Siemens) Active Directory MS Windows 2000 Active Directory (AD) Active Directory Service (ADs) ► für die Zusammenarbeit mit anderen Verzeichnisdiensten („Verzeichnissen“) entwickelt ► unterstützt Standard-Namensformate (z.B. DNS) ► bietet Programmierschnittstellen (APIs) zur Unterstützung der Kommunikation mit anderen Verzeichnisdiensten (LDAP) und Anwendungen (HTTP) Objekt: Objekte repräsentieren Netzwerkressourcen (Benutzer, Computer, …) als Instanzen von Objektklassen, Objektattribute charakterisieren Objekte einer Klasse. Spezielle Arten von Objekten sind Container für Objekte. Organisatorische Einheit (OU): willkürlich festgelegte Gruppe von Objekten (Container) entsprechend logischer Zusammenhänge. Jede OU kann weitere OUs enthalten. Domäne: Grundbereich innerhalb AD, Definition von Objekten, Domänengrenzen als Sicherheitsgrenzen, eigener Domänen-Administrator Domänenbaum: Verbindung mehrerer Domänen mit einem gemeinsamen Schema durch Vertrauensbeziehungen (trusts) Gesamtstruktur, Wald (forest): Gesamtstruktur eines AD, Zusammenfassung mehrerer Domänenbäume mit einem gemeinsamen Schema, die keine vollständige Baumstruktur bilden. Alle Domänen greifen auf einen globalen Katalog zu. Physikalische Abbildung der logischen Struktur Standorte (sites): Einheiten der physikalischen Struktur, nicht explizit im Namensraum des AD verwaltet, ein LAN-Netzwerk oder mehrere zusammenhängende Subnetze, eine Domäne kann mehrere Standorte umfassen. Replikation: AD auf einem Domänencontroller gespeichert Jedes lokale Netz enthält eigenen Domänencontroller → Permanente Synchronisation der verteilten Datenbank (Replik = Kopie des AD) Alle Kopien des AD sind administrierbar AD richtet einen Ring aus Domänencontrollern ein (Ausfall eines Domänencontrollers führt nicht zur Unterbrechung) Neue Konzepte in AD: ► Schema Formale Definition des Inhalts und der Struktur des AD bei Installation von AD auf einem Domänencontroller wird Default-Schema erzeugt. Schema-Manager zur Erweiterung des Schemas ► Globaler Katalog Dienst zur Abwicklung von Suchvorgängen im Verzeichnis ► Namensraum zur Auflösung von Namen (Übersetzung eines Namens in ein Objekt oder eine Information) ► Namenskonventionen AD verwendet verschiedene Konventionen: • distinguished names (qualifizierte Namen) • relative distinguished names • globally unique identifiers (globale eindeutige Identifikationsnummern) • user principal names (Benutzerhauptnamen) 7. Kommandointerpretation & Batch-Dateien Beispiel: Batch-Datei runjava.bat javac %1.java -verbose if errorlevel 1 ( echo Programm wird nicht ausgeführt! ) else ( java %1 %2 %3 %4 ) Es gibt zur Zeit der Übersetzung noch keine .class-Dateien: C:\Workstation\VWA\JArbeitsverzeichnis>runjava UseP1 C:\Workstation\VWA\JArbeitsverzeichnis>echo off [parsing started UseP1.java] [parsing completed 60ms] [loading .\P1\P2\C1.java] [parsing started .\P1\P2\C1.java] [parsing completed 0ms] [loading .\P1\P3\C5.java] [parsing started .\P1\P3\C5.java] [parsing completed 0ms] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/Object.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/String.class)] [checking UseP1] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/System.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/PrintStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/FilterOutputStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/OutputStream.class)] [wrote UseP1.class] [checking P1.P2.C1] [wrote .\P1\P2\C1.class] [checking P1.P3.C5] [wrote .\P1\P3\C5.class] [total 270ms] Demonstration Packages Methode mc5 aufgerufen Methode mc5 aufgerufen C:\Workstation\VWA\JArbeitsverzeichnis> Es existieren z.Z. der Übersetzung bereits .class-Dateien: C:\Workstation\VWA\JArbeitsverzeichnis>runjava UseP1 C:\Workstation\VWA\JArbeitsverzeichnis>echo off [parsing started UseP1.java] [parsing completed 50ms] [loading .\P1\P2\C1.class] [loading .\P1\P3\C5.class] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/Object.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/String.class)] [checking UseP1] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/System.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/PrintStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/FilterOutputStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/OutputStream.class)] [wrote UseP1.class] [total 271ms] Demonstration Packages Methode mc5 aufgerufen Methode mc5 aufgerufen C:\Workstation\VWA\JArbeitsverzeichnis> Syntaxfehler beim Übersetzen: C:\Workstation\VWA\JArbeitsverzeichnis>runjava UseP1 C:\Workstation\VWA\JArbeitsverzeichnis>echo off [parsing started UseP1.java] [parsing completed 50ms] [loading .\P1\P2\C1.java] [parsing started .\P1\P2\C1.java] [parsing completed 0ms] [loading .\P1\P3\C5.class] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/Object.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/String.class)] [checking UseP1] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/lang/System.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/PrintStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/FilterOutputStream.class)] [loading c:\Programme\j2sdk1.4.1_06\jre\lib\rt.jar(java/io/OutputStream.class)] [wrote UseP1.class] [checking P1.P2.C1] .\P1\P2\C1.java:9: cannot resolve symbol symbol : method mc4 () location: class P1.P3.C5 c5.mc4(); ^ [total 260ms] 1 error Programm wird nicht ausgef³hrt!!! C:\Workstation\VWA\JArbeitsverzeichnis> Volltextsuche mit find : Beispiel: Suchen des Wortes „Volltextsuche“ in der Datei Betriebssysteme.ppt C:\Workstation\VWA>find "Volltextsuche" vwabs\Betriebssysteme.ppt ---------- VWABS\BETRIEBSSYSTEME.PPT Volltextsuche mit find : C:\Workstation\VWA> Beispiel: Batch-Datei findd zum Suchen einer beliebigen Zeichenkette in allen Dateien eines Verzeichnisses echo off FOR /F "usebackq" %%a IN (`dir /b %1`) DO find %2 %%a /F /b %2 `... ` %%a Dateiensatz besteht aus einem oder mehreren Dateinamen keine Kopfdaten, keine Zusammenfassung die zu suchende Zeichenkette muss im Aufruf gequotet sein eingeschlossene Zeichenkette wird als Befehl ausgeführt Variablenbezeichnung ( doppelte %-Zeichen in FOR vorgeschrieben) Beispiel für Aufruf der Batchdatei: C:\Workstation\VWA\VwaBS>findd . "DHCP" 8. Datensicherung Standard-Backup-Programm zur Datensicherung unter Windows 2000: Start -> Programme -> Zubehör -> Systemprogramme -> Sicherung „Sicherungs- oder Wiederherstellungsassistent“ in den „Erweiterten Modus“ schalten Funktionen: • Sicherungskopien erstellen von Dateien • Vergleich zwischen Originaldatei und gesicherter Datei • Gesicherte Dateien wiederherstellen Komplettsicherung: Speicherkapazität > Backup Speicherplatz zu sichernder Festplatte Medien: Bandlaufwerke, ZIP, CD-ROM Sicherungsarten: Normale Sicherung Jede ausgewählte Datei wird gesichert und als gesichert markiert Kopiesicherung Jede ausgewählte Datei wird gesichert, aber nicht als gesichert markiert Inkrementelle Sicherung Nur veränderte oder ungesicherte Dateien werden gesichert und als gesichert markiert Differenzielle Sicherung Nur veränderte oder ungesicherte Dateien werden gesichert, aber nicht als gesichert markiert Tägliche Sicherung Nur veränderte oder ungesicherte Dateien des aktuellen Tages werden gesichert, aber nicht als gesichert markiert Sicherungsprogramm -> Extras -> Optionen Bedeutung des Archivattributs: • Dateiattribut, das eine Datei als gesichert kennzeichnet • wird aktiviert, wenn - neue Datei erstellt wird - existierende Datei verändert wird • wird deaktiviert bei - normaler Sicherung - inkrementeller Sicherung • bei anschließender differenzieller, täglicher oder Kopie-Sicherung werden Dateien ohne Archivattribut nicht berücksichtigt. Das Verschieben einer Datei hat keinen Einfluss auf das Archivattribut 8.2 Manuelle und regelmäßige Datensicherung Schritte bei der manuellen Sicherung 1. Sicherungsprogramm starten 2. Zu sichernde Daten auswählen 3. Dateiauswahl speichern 4. Optionen überprüfen 5. Sicherung starten 1. 2. 2. Das Attribut A ist nach dem Sichern gelöscht (Ausschnitt Windows Commander) Nach dem Editieren der Datei: 8.3 Wiederherstellen von Sicherungen • jede Backup-Datei .BKF wird im Sicherungsprogramm als ein Medium betrachtet Schritte: 1. wiederherzustellende Dateien auswählen 2. Wiederherstellungsort auswählen 3. Wiederherstellungsoptionen einstellen 4. Wiederherstellung starten • Wurde die Datei zwischenzeitlich gelöscht, wurde sie wieder hergestellt • Wurde die Datei nur verändert, wurde sie durch die Sicherung nicht überschrieben Sicherungsprogramm -> Register:Aufträge planen Der Taskplaner Adresse: %SystemRoot%\explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\ ::{21EC2020-3AEA-1069-A2DD-08002B30309D}\ ::{D6277990-4C6A-11CF-8D87-00AA0060F5BF} Verteilte Dateisysteme Konzepte Dateidienste Dateiserver (Beschreibung verfügbarer „Primitiven“) (Prozess, der Implementationen des Dienstes realisiert) Beispiel: NFS (Network File Sharing, Fa. Sun) • NFS-Server exportiert ein oder mehrere Verzeichnisse • NFS-Clients importieren Verzeichnisse (NFS-Clients „hängen Dateisysteme von Servern mit mount ein“) NFS definiert zwei Protokolle: 1. zum Importieren 2. Behandlung der Zugriffe auf Dateien u. Verzeichnisse Replikation: Dienst, der von verteilten Dateisystemen zur Verfügung gestellt wird. • Verwaltung mehrerer Kopien ausgewählter Dateien. Jede Kopie befindet sich auf einem anderen Dateiserver. • Gründe: Sicherheit, Verfügbarkeit Wege der Replikation: 1. Der Programmierer steuert den Vorgang = explizite Replikation (Verwaltung von Netzwerkadressen erforderlich) 2. „Langsame“ Replikation = träge Replikation (Der Server erzeugt später selbst automatisch Replikationen) 3. Mittels einer Gruppe (write – Systemrufe werden gleichzeitig an alle Server übertragen)