Update to r42938:

This patch does the following:

makes 4.2 clearer and tightens some of the headings
removed reference to learn more about single-user mode as it didn't say anything more; instead, summarized single-user mode here
made intro to permissions clearer, the next patch will work on the rest of this section

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D4752
This commit is contained in:
Bjoern Heidotting 2016-01-02 12:19:28 +00:00
parent b32284514c
commit 337c4d0b0e
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47944

View file

@ -5,10 +5,11 @@
$FreeBSD$
$FreeBSDde$
basiert auf: r42604
basiert auf: r42938
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
<info><title>Grundlagen des UNIX Betriebssystems</title>
<title>Grundlagen des UNIX Betriebssystems</title>
<!--
<authorgroup>
<author><personname><firstname>Chris</firstname><surname>Shumway</surname></personname><contrib>Umgeschrieben von </contrib></author>
</authorgroup>
@ -16,7 +17,7 @@
<authorgroup>
<author><personname><firstname>Uwe</firstname><surname>Pierau</surname></personname><contrib>Übersetzt von </contrib></author>
</authorgroup>
</info>
-->
<sect1 xml:id="basics-synopsis">
<title>Übersicht</title>
@ -71,17 +72,7 @@
<title>Virtuelle Konsolen und Terminals</title>
<indexterm><primary>virtuelle Konsole</primary></indexterm>
<indexterm><primary>Terminals</primary></indexterm>
<para>&os; kann mit einem Terminal benutzt werden, der nur Text
darstellen kann. Wird &os; auf diese Weise benutzt, so steht
einem ein großer Teil der Flexibilität und Leistungsfähigkeit
eines &unix; Betriebssystems zur Verfügung. Dieser Abschnitt
beschreibt was Terminals und Konsolen sind und wie sie unter
&os; eingesetzt werden.</para>
<sect2 xml:id="consoles-intro">
<title>Die Konsole</title>
<indexterm><primary>Konsole</primary></indexterm>
<indexterm><primary>Konsole</primary></indexterm>
<para>Wenn das &os;-System so konfiguriert wurde, dass es ohne
eine grafische Benutzeroberfläche startet, wird das System
@ -98,42 +89,20 @@ login:</screen>
läuft. Der Hostname ist
<systemitem>pc3.example.org</systemitem> und
<filename>ttyv0</filename> gibt an, dass dies die
Systemkonsole ist.</para>
<quote>Systemkonsole</quote> ist. Die zweite Zeile zeigt den
Anmeldeprompt.</para>
<para>Die zweite Zeile zeigt den Anmeldeprompt. Im nächsten
Abschnitt wird beschrieben, wie Sie sich an diesem Prompt
anmelden.</para>
</sect2>
<para>Da &os; ein Mehrbenutzersystem ist, muss es die
verschiedenen Benutzer voneinander unterscheiden können. Dies
wird dadurch erreicht, dass sich jeder Benutzer zuerst am
System anmelden muss, um Zugriff auf die Programme zu
bekommen. Jeder Benutzer hat einen eindeutigen
<quote>Benutzernamen</quote> und ein persönliches
<quote>Kennwort</quote>.</para>
<sect2 xml:id="consoles-login">
<title>Der Anmeldevorgang</title>
<para>&os; ist ein Mehrbenutzersystem, das Multitasking
unterstützt. Das heißt mehrere Benutzer können
gleichzeitig viele Programme auf einem System laufen lassen.</para>
<para>Jedes Mehrbenutzersystem muss die Benutzer voneinander
unterscheiden können. Bei &os; und allen anderen
&unix;-artigen
Betriebssystemen wird dies dadurch erreicht, dass sich die
Benutzer anmelden müssen, bevor sie Programme laufen lassen
können. Jeder Benutzer besitzt einen eindeutigen Namen (den
Account) und ein dazugehörendes Passwort. &os; wird beides
abfragen, bevor es dem Benutzer ermöglicht Programme laufen zu
lassen.</para>
<indexterm><primary>Startskripten</primary></indexterm>
<para>Wenn ein &os;-System startet, werden automatisch
Startskripte ausgeführt, um das System vorzubereiten und
entsprechend konfigurierte Dienste zu starten. Nachdem das
System die Startskripte abgearbeitet hat, wird es einen
Anmeldeprompt präsentieren:</para>
<screen>login:</screen>
<para>Geben Sie den Benutzernamen ein, der während der
Systeminstallation, wie in <link
linkend="bsdinstall-addusers"/> beschrieben,
<para>Um sich auf der Systemkonsole anzumelden, geben Sie den
Benutzernamen ein, der während der Systeminstallation, wie in
<link linkend="bsdinstall-addusers"/> beschrieben,
konfiguriert wurde und drücken Sie <keycap>Enter</keycap>.
Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein
und drücken <keycap>Enter</keycap>. Das Passwort wird aus
@ -142,58 +111,63 @@ login:</screen>
<para>Sobald das richtige Passwort eingegeben wird, wird die
Nachricht des Tages (<acronym>MOTD</acronym>) gefolgt von
einer Eingabeaufforderung (dem Zeichen <literal>#</literal>,
<literal>$</literal> oder <literal>%</literal>) angezeigt.
Sie sind nun an der &os;-Systemkonsole angemeldet und bereit,
alle verfügbaren Kommandos zu probieren.</para>
</sect2>
einer Eingabeaufforderung ausgegeben. In Abhängigkeit der
verwendeten Shell des Benutzers wird der Prompt mit dem
Zeichen <literal>#</literal>, <literal>$</literal> oder
<literal>%</literal> dargestellt. Der Prompt zeigt an, dass
der Benutzer jetzt an der &os; Systemkonsole angemeldet ist
und nun alle verfügbaren Befehle probieren kann.</para>
<sect2 xml:id="consoles-virtual">
<title>Virtuelle Konsolen</title>
<para>&os; kann so konfiguriert werden, dass viele virtuelle
Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede
virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und
Ausgabekanal, und &os; kümmert sich um die ordnungsgemäße
Umleitung von Tastatureingaben und Monitorausgaben, wenn
zwischen den virtuellen Konsolen umgeschaltet wird.</para>
<para>Obwohl die Systemkonsole dazu verwendet werden kann, um
mit dem System zu interagieren, wird sich ein Benutzer in der
Regel an einer virtuellen Konsole im &os;-System anmelden.
Das liegt daran, dass die Systemmeldungen standardmäßig auf
der Systemkonsole angezeigt werden und somit die Meldungen des
Befehls oder einer Datei, die der Benutzer gerade bearbeitet,
überschrieben werden.</para>
<para>Zum Umschalten der Konsolen stellt &os; spezielle
Tastenkombinationen bereit<footnote>
<para>Lesen Sie &man.syscons.4;, &man.atkbd.4;,
&man.vidcontrol.1; und &man.kbdcontrol.1; für eine recht
technische Beschreibung der &os;-Konsole und der
Tastatur-Treiber.</para></footnote>. Benutzen Sie
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
<para>In der Voreinstellung ist &os; so konfiguriert, dass viele
virtuelle Konsolen zur Eingabe von Befehlen zur Verfügung
stehen. Jede virtuelle Konsole verfügt über einen eigenen
Anmeldeprompt und eine Shell. Sie können ganz einfach
zwischen den virtuellen Konsolen umschalten. Dies ist
vergleichbar mit mehreren geöffneten Fenstern in einer
graphischen Umgebung.</para>
<para>Die Tastenkombinationen
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
bis
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>,
um zwischen den verschiedenen virtuellen Konsolen
umzuschalten.</para>
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>
sind in &os; zum Umschalten zwischen virtuellen Konsolen
reserviert. Verwenden Sie
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
um auf die Systemkonsole (<filename>ttyv0</filename>) zu
wechseln,
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
für die erste virtuelle Konsole (<filename>ttyv1</filename>,
<keycombo><keycap>Alt</keycap><keycap>F3</keycap></keycombo>
für die zweite virtuelle Konsole (<filename>ttyv2</filename>,
und so weiter.</para>
<para>Wird von einer Konsole zur nächsten gewechselt, sichert
&os; den Bildschirminhalt und gibt den Bildschirminhalt der
neuen Konsole aus. Dies erzeugt die Illusion mehrerer
Bildschirme und Tastaturen, an denen Kommandos abgesetzt
werden können. Wenn eine Konsole nicht sichtbar ist, weil
ein Benutzer auf eine andere Konsole gewechselt hat, laufen
die dort abgesetzten Kommandos trotzdem weiter.</para>
</sect2>
<para>Beim Wechsel von einer Konsole zur nächsten wird die
Bildschirmausgabe von &os; verwaltet. Dies erzeugt die
Illusion mehrerer Bildschirme und Tastaturen, an denen
Kommandos abgesetzt werden können. Die Programme, die in
einer virtuellen Konsole gestartet werden, laufen auch dann
weiter, wenn der Benutzer auf eine andere virtuelle Konsole
wechselt.</para>
<sect2 xml:id="consoles-ttys">
<title><filename>/etc/ttys</filename></title>
<para>Lesen Sie &man.syscons.4;, &man.atkbd.4;,
&man.vidcontrol.1; und &man.kbdcontrol.1; für eine recht
technische Beschreibung der &os;-Konsole und der
Tastatur-Treiber.</para>
<para>In der Voreinstellung startet &os; acht virtuelle
Konsolen, deren Anzahl Sie leicht erhöhen
oder verringern können. Die Anzahl und Art der Konsolen wird
in <filename>/etc/ttys</filename> eingestellt.</para>
<para>Jede Zeile in <filename>/etc/ttys</filename>, die nicht
mit <literal>#</literal> anfängt, konfiguriert einen Terminal
oder eine virtuelle Konsole. In der Voreinstellung werden
neun virtuelle Konsolen definiert, von denen acht aktiviert
sind. Die Zeilen, die mit <literal>ttyv</literal> beginnen,
kennzeichnen die Konsolen:</para>
<para>In &os; wird die Anzahl der verfügbaren virtuellen
Konsolen in diesem Abschnitt von
<filename>/etc/ttys</filename> konfiguriert:</para>
<programlisting># name getty type status comments
#
@ -208,20 +182,49 @@ ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
<para>Die Manualpage &man.ttys.5; enthält eine ausführliche
<para>Um eine virtuelle Konsole zu deaktivieren, setzen Sie ein
Kommentarzeichen (<literal>#</literal> an den Anfang der Zeile
für die entsprechende Konsole. Um bspw. die Anzahl der
verfügbaren virtuellen Konsolen von acht auf vier zu
reduzieren, setzen Sie ein <literal>#</literal> an den Anfang
der letzten vier Zeilen, den virtuellen Konsolen
<filename>ttyv5</filename> bis <filename>ttyv8</filename>.
Kommentieren Sie nicht die Zeile für die Systemkonsole
<filename>ttyv0</filename> aus! Beachten Sie, dass die
letzte virtuelle Konsole (<filename>ttyv8</filename>) zum
Wechsel auf die graphische Oberfläche gedacht ist, wenn
&xorg; wie im <xref linkend="x11"/> installiert und
konfiguriert ist.</para>
<para>&man.ttys.5; enthält eine ausführliche
Beschreibung der Spalten dieser Datei und der verfügbaren
Optionen für virtuelle Konsolen.</para>
</sect2>
<sect2 xml:id="consoles-singleuser">
<title>Die Konsole im Single-User-Modus</title>
<title>Single-User-Modus</title>
<para>Eine eingehende Beschreibung des
<quote>Single-User-Modus</quote> findet sich in
<xref linkend="boot-singleuser"/>. Im Single-User-Modus steht
nur <emphasis>eine</emphasis> Konsole zur Verfügung.
Die Einstellungen dieser Konsole befinden sich in diesem
Abschnitt von <filename>/etc/ttys</filename>:</para>
<para>Das &os; Boot-Menü verfügt über eine Option
<quote>Boot Single User</quote>. Wird diese Option
gewählt, bootet das System in einen speziellen Modus, der als
<quote>Single-User-Modus</quote> bekannt ist. Dieser Modus
wird normalerweise zur Reparatur des Systems verwendet,
bspw. wenn das System nicht mehr startet, oder das
<systemitem class="username">root</systemitem>-Passwort
zurückgesetzt werden muss. Im Single-User-Modus haben Sie
keinen Zugriff auf das Netzwerk und es stehen Ihnen keine
weiteren virtuellen Konsolen zur Verfügung. Allerdings
haben Sie vollen Zugriff auf das System und in der
Voreinstellung wird das <systemitem
class="username">root</systemitem>-Passwort nicht
benötigt. Aus diesem Grund wird ein physischer Zugriff
auf die Tastatur benötigt, um in diesem Modus zu booten.
Zur Absicherung eines &os;-Systems sollte ermittelt werden,
welche Personen physischen Zugriff auf die Tastatur bekommen
sollen.</para>
<para>Die Einstellungen für den Single-User-Modus befinden sich
diesem Abschnitt von <filename>/etc/ttys</filename>:</para>
<programlisting># name getty type status comments
#
@ -229,18 +232,20 @@ ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
# when going to single-user mode.
console none unknown off secure</programlisting>
<note>
<para>In der Zeile, die mit <literal>console</literal>
beginnt, kann <literal>secure</literal> durch
<literal>insecure</literal> ersetzt werden. Wenn danach in
den Single-User-Modus gebootet wird, verlangt das System die
Eingabe des <systemitem
class="username">root</systemitem>-Passworts. In der
Standardeinstellung wird beim Betreten des Single-User-Modus
kein Passwort verlangt.</para>
<para>In der Voreinstellung ist der Status auf
<literal>secure</literal> eingestellt. Das setzt voraus, dass
der physische Zugriff auf die Tastatur entweder unwichtig ist,
oder über eine Sicherheitsrichtlinie geregelt wird. Wenn der
Status auf <literal>insecure</literal> eingestellt wird, wird
davon ausgegangen, dass die Umgebung selbst unsicher ist, da
jeder Zugriff auf die Tastatur hat. &os; wird dann nach dem
<systemitem class="username">root</systemitem>-Passwort
fragen, wenn ein Benutzer versucht in den Single-User-Modus zu
booten.</para>
<note>
<para><emphasis>Setzen Sie <literal>insecure</literal> nicht
leichtfertig ein.</emphasis> Wenn das
leichtfertig ein</emphasis>! Wenn das
<systemitem class="username">root</systemitem>-Passwort
vergessen wird, wird es schwierig in den
Single-User-Modus zu gelangen, wenn man den Bootprozess von
@ -286,48 +291,48 @@ console none unknown off secure</programlisting>
<title>Zugriffsrechte</title>
<indexterm><primary>UNIX</primary></indexterm>
<para>&os;, das ein direkter Abkömmling von BSD &unix; ist,
stützt sich auf mehrere Grundkonzepte von &unix; Systemen.
Das erste und ausgeprägteste: &os; ist
ein Mehrbenutzer-Betriebssystem, das es ermöglicht,
dass mehrere Benutzer gleichzeitig an völlig verschiedenen
und unabhängigen Aufgaben arbeiten können. Es ist
verantwortlich für eine gerechte Auf- und Zuteilung von
Anfragen nach Hardware- und Peripheriegeräten, Speicher
und CPU-Zeit unter den Benutzern.</para>
<para>In &os; besitzt jede Datei und jedes Verzeichnis einen Satz
von Zugriffsrechten. Es stehen mehrere Programme zum Anzeigen
und Bearbeiten dieser Rechte zur Verfügung. Ein Verständnis für
die Funktionsweise von Zugriffsrechten ist notwendig, um
sicherzustellen, dass Benutzer nur auf die von ihnen benötigten
Dateien zugreifen können und nicht auf die Dateien des
Betriebssystems oder von anderen Benutzern.</para>
<para>Weitere Informationen über Benutzerkonten finden Sie im
Kapitel <link linkend="users">Benutzer und grundlegende
Account-Verwaltung</link>. Es ist wichtig zu verstehen, dass
jeder Person (Benutzer) die den Computer verwendet, ein eigener
Benutzername und Passwort zugewiesen wird. Das System erkennt
die Personen auf Grundlage dieser Benutzernamen. Da es häufig
vorkommt, dass mehrere Personen am gleichen Projekt arbeiten,
stellt &unix; auch Gruppen zur Verfügung. Mehrere Benutzer
können der gleichen Gruppe zugewiesen werden.</para>
<para>In diesem Abschnitt werden die traditionellen
Zugriffsrechte von &unix; beschrieben. Informationen
zu feingranularen Zugriffsrechten für Dateisysteme finden
Sie im <xref linkend="fs-acl"/>.</para>
<para>Da das System mehrere Benutzer unterstützt, hat alles,
was das System verwaltet, einen Satz von Rechten, die bestimmen,
wer die jeweilige Ressource lesen, schreiben oder ausführen
darf. Diese Zugriffsrechte stehen in drei Achtergruppen, die in
drei Teile unterteilt sind: einen für den Besitzer der
Datei, einen für die Gruppe, zu der die Datei gehört
und einen für alle anderen. Die numerische Darstellung
sieht wie folgt aus:</para>
<para>In &unix; werden die grundlegenden Zugriffsrechte in
drei Typen unterteilt: Lesen, Scheiben und Ausführen.
Diese Zugriffstypen werden verwendet, um den Dateizugriff
für den Besitzer der Datei, die Gruppe und alle anderen zu
bestimmen. Die Lese-, Schreib- und Ausführungsberechtigungen
werden mit den Buchstaben <literal>r</literal>,
<literal>w</literal> und <literal>x</literal> dargestellt.
Alternativ können die Berechtigungen als binäre Zahlen
dargestellt werden, da jede Berechtigung entweder aktiviert
oder deaktiviert (<literal>0</literal>) ist. Wenn die
Berechtigung als Zahl dargestellt wird, ist die Reihenfolge
immer als <literal>rwx</literal> zu lesen, wobei
<literal>r</literal> den Wert <literal>4</literal> hat,
<literal>w</literal> den Wert <literal>2</literal> und
<literal>x</literal> den Wert <literal>1</literal>.</para>
<note>
<para>In diesem Abschnitt werden die traditionellen
Zugriffsrechte von &unix; beschrieben. Informationen
zu fein granulierten Zugriffsrechten für Dateisysteme finden
Sie in <link linkend="fs-acl">Zugriffskontrolllisten
für Dateisysteme</link>.</para>
</note>
<para>In Tabelle 4.1 sind die einzelnen nummerischen und
alphabetischen Möglichkeiten zusammengefasst. Das Zeichen
<literal>-</literal> in der Spalte
<quote>Auflistung im Verzeichnis</quote> besagt, dass eine
eine Berechtigung deaktiviert ist.</para>
<indexterm><primary>Zugriffsrechte</primary></indexterm>
<indexterm>
<primary>Dateizugriffsrechte</primary>
</indexterm>
<informaltable frame="none" pgwide="1">
<table frame="none" pgwide="1">
<title>&unix; Zugriffsrechte</title>
<tgroup cols="3">
<thead>
<row>
@ -387,7 +392,8 @@ console none unknown off secure</programlisting>
</row>
</tbody>
</tgroup>
</informaltable>
</table>
<indexterm>
<primary>&man.ls.1;</primary>
</indexterm>