Page MenuHomeFreeBSD

D5326.diff
No OneTemporary

D5326.diff

Index: head/de_DE.ISO8859-1/books/handbook/Makefile
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/Makefile
+++ head/de_DE.ISO8859-1/books/handbook/Makefile
@@ -1,7 +1,7 @@
#
# $FreeBSD$
# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $
-# basiert auf: r42118
+# basiert auf: r42953
#
# Build the FreeBSD Handbook in its German translation.
#
@@ -256,7 +256,6 @@
SRCS+= printing/chapter.xml
SRCS+= security/chapter.xml
SRCS+= serialcomms/chapter.xml
-SRCS+= users/chapter.xml
SRCS+= virtualization/chapter.xml
SRCS+= x11/chapter.xml
Index: head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde$
- basiert auf: r42938
+ basiert auf: r42953
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
<title>Grundlagen des UNIX Betriebssystems</title>
@@ -35,6 +35,10 @@
<para>virtuelle Konsolen,</para>
</listitem>
<listitem>
+ <para>Erstellung und Verwaltung von Benutzern und Gruppen in
+ &os;,</para>
+ </listitem>
+ <listitem>
<para>Zugriffsrechte unter &unix; sowie Datei-Flags unter &os;,</para>
</listitem>
<listitem>
@@ -287,6 +291,1150 @@
</sect2>
</sect1>
+ <!--
+ <chapterinfo>
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Neil</firstname>
+ <surname>Blakey-Milner</surname>
+ </personname>
+ <contrib>Beigetragen von </contrib>
+ </author>
+ <author>
+ <personname>
+ <firstname>Robert</firstname>
+ <surname>Drehmel</surname>
+ </personname>
+ <contrib>Übersetzt von </contrib>
+ </author>
+ </authorgroup>
+ </chapterinfo>
+ -->
+ <sect1 xml:id="users-synopsis">
+ <title>Benutzer und grundlegende Account-Verwaltung</title>
+
+ <para>&os; ermöglicht es mehreren Benutzern, den Computer zur
+ selben Zeit zu benutzen. Es kann immer nur ein Benutzer
+ vor der Konsole sitzen, aber es können sich beliebig viele
+ Benutzer über das Netzwerk am System anmelden. Jeder Benutzer
+ muss einen Account haben, um das System benutzen zu
+ können.</para>
+
+ <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>die verschiedenen Account-Typen von &os; kennen,</para>
+ </listitem>
+
+ <listitem>
+ <para>wissen, wie Sie Accounts angelegen, verändern oder
+ löschen,</para>
+ </listitem>
+
+ <listitem>
+ <para>wissen, wie Sie Limits für einen Benutzer oder eine
+ Gruppe setzen, um beispielsweise Ressourcen, wie Speicher
+ oder CPU-Zeit einzuschränken,</para>
+ </listitem>
+
+ <listitem>
+ <para>wissen, wie Sie Gruppen erstellen und Benutzer zu
+ diesen Gruppen hinzufügen.</para>
+ </listitem>
+ </itemizedlist>
+
+ <sect2 xml:id="users-introduction">
+ <title>Account-Typen</title>
+
+ <para>Jeder Zugriff auf das &os;-System geschieht über Accounts
+ und alle Prozesse werden von Benutzern gestartet, also sind
+ Benutzer- und Account-Verwaltung von wesentlicher
+ Bedeutung.</para>
+
+ <para>Es gibt drei Haupttypen von Accounts: Systembenutzer,
+ Benutzer-Accounts und der Superuser-Account.</para>
+
+ <sect3 xml:id="users-system">
+ <title>Systembenutzer</title>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>System-Accounts</secondary>
+ </indexterm>
+
+ <para>Systembenutzer starten Dienste wie DNS, Mail-Server und
+ Web-Server. Der Grund dafür ist die Sicherheit; wenn die
+ Programme von dem Superuser gestartet werden, können Sie
+ ohne Einschränkungen handeln.</para>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary><systemitem
+ class="username">daemon</systemitem></secondary>
+ </indexterm>
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary><systemitem
+ class="username">operator</systemitem></secondary>
+ </indexterm>
+
+ <para>Beispiele von Systembenutzern sind
+ <systemitem class="username">daemon</systemitem>,
+ <systemitem class="username">operator</systemitem>,
+ <systemitem class="username">bind</systemitem>,
+ <systemitem class="username">news</systemitem> und
+ <systemitem class="username">www</systemitem>.</para>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary><systemitem
+ class="username">nobody</systemitem></secondary>
+ </indexterm>
+
+ <para><systemitem class="username">nobody</systemitem> ist der
+ generische unprivilegierte Systembenutzer. Bedenken Sie
+ aber, dass je mehr Dienste <systemitem
+ class="username">nobody</systemitem> benutzen, desto mehr
+ Dateien und Prozesse diesem Benutzer gehören und dieser
+ Benutzer damit umso privilegierter wird.</para>
+ </sect3>
+
+ <sect3 xml:id="users-user">
+ <title>Benutzer-Accounts</title>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>Benutzer-Accounts</secondary>
+ </indexterm>
+
+ <para>Benutzer-Accounts sind realen Personen zugeordnet und sind
+ das primäre Mittel des Zugriffs das System. Jede Person,
+ die Zugriff auf das System bekommt, sollte einen eindeutigen
+ Benutzer-Account besitzen. Dies erlaubt es dem
+ Administrator herauszufinden, wer was macht.
+ Gleichzeitig werden die Benutzer daran gehindert, die
+ Einstellungen anderer Benutzer zu zerstören.</para>
+
+ <para>Jeder Benutzer kann die eigene Umgebung anpassen,
+ bspw. seine voreingestellte Shell, Editor, Tastenbelegungen
+ und Spracheinstellungen.</para>
+
+ <para>Mit jedem Account eines &os;-Systems sind bestimmte
+ Informationen verknüpft:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Loginnamen</term>
+
+ <listitem>
+ <para>Der Loginname wird am <prompt>login:</prompt>
+ Prompt eingegeben. Es gibt eine Reihe von Regeln für
+ die Erstellung von gültigen Loginnamen, die in
+ &man.passwd.5; dokumentiert sind. Es wird aus
+ Kompatibilitätsgründen empfohlen, Benutzernamen zu
+ verwenden, die aus Kleinbuchstaben bestehen und bis zu
+ acht Zeichen lang sind.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Passwort</term>
+
+ <listitem>
+ <para>Jeder Account ist mit einem Passwort
+ verknüpft.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>User ID (<acronym>UID</acronym>)</term>
+
+ <listitem>
+ <para>Die User ID (<acronym>UID</acronym>) ist eine
+ Zahl, die verwendet wird, um die Benutzer auf dem
+ &os;-System eindeutig zu identifizieren. Programme,
+ die einen Loginnamen akzeptieren, wandeln diesen
+ zuerst in eine <acronym>UID</acronym> um. Es wird
+ empfohlen, nur <acronym>UID</acronym>s kleiner
+ 65535 zu verwenden, da höhere Werte
+ Kompatibilitätsprobleme mit einigen Anwendungen
+ verursachen können.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Group ID (<acronym>GID</acronym>)</term>
+
+ <listitem>
+ <para>Die Group ID (<acronym>GID</acronym>) ist eine
+ Zahl, die verwendet wird, um die primäre Gruppe eines
+ Benutzers eindeutig zu identifizieren. Gruppen sind
+ ein Mechanismus zur Steuerung des Zugriffs auf
+ Ressourcen über die <acronym>GID</acronym> eines
+ Benutzers anstelle der <acronym>UID</acronym>. Dies
+ kann die Größe einiger Konfigurationsdateien
+ signifikant reduzieren und ermöglicht es Benutzern,
+ Mitglied mehreren Gruppen zu sein. Es wird empfohlen,
+ <acronym>GID</acronym>s kleiner 65535 zu verwenden, da
+ höhere Werte bei einigen Anwendungen große Probleme
+ verursachen können.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Login-Klasse</term>
+
+ <listitem>
+ <para>Login-Klassen erweitern das Gruppenkonzept. Sie
+ erhöhen die Flexibilität des Systems in der Handhabung
+ der verschiedenen Accounts. Login-Klassen werden
+ auch im <xref linkend="users-limiting"/>
+ diskutiert.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Gültigkeit von Passwörtern</term>
+
+ <listitem>
+ <para>Ein regelmäßiges Ändern des Passworts wird in
+ der Voreinstellung von &os; nicht erzwungen.
+ Allerdings können Passwortwechsel nach einer
+ gewissen Zeit auf Basis einzelner Accounts mit
+ &man.pw.8; erzwungen werden.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Verfallszeit eines Accounts</term>
+
+ <listitem>
+ <para>In der Voreinstellung verfallen unter &os; keine
+ Accounts. Wenn Sie Accounts einrichten, die nur für
+ eine bestimmte Zeit gültig sein sollen, beispielsweise
+ Accounts für Teilnehmer eines Praktikums, können Sie
+ mit &man.pw.8; die Gültigkeitsdauer des Accounts
+ angeben. Nachdem die angegebene Zeitspanne
+ verstrichen ist, kann dieser Account nicht mehr zum
+ Anmelden verwendet werden, obwohl alle Verzeichnisse
+ und Dateien, die diesem Account gehören, noch
+ vorhanden sind.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>vollständiger Benutzername</term>
+
+ <listitem>
+ <para>&os; identifiziert einen Account eindeutig über
+ den Loginnamen, der aber keine Ähnlichkeit mit dem
+ richtigen Namen des Benutzers haben muss. Ähnlich
+ wie bei einem Kommentar, erlaubt diese Information
+ Großbuchstaben und mehr als 8 Zeichen.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Heimatverzeichnis</term>
+
+ <listitem>
+ <para>Das Heimatverzeichnis gibt den vollständigen Pfad
+ zu dem Verzeichnis an, in dem sich der Benutzer nach
+ erfolgreicher Anmeldung befindet. Es ist üblich, alle
+ Heimatverzeichnisse unter
+ <filename>/home/<replaceable>Loginname</replaceable></filename>
+ oder
+ <filename>/usr/home/<replaceable>Loginname</replaceable></filename>
+ anzulegen. Im Heimatverzeichnis oder in dort
+ angelegten Verzeichnissen werden die Dateien eines Benutzers
+ gespeichert.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Login-Shell</term>
+
+ <listitem>
+ <para>Grundsätzlich ist die Shell, von denen es viele
+ unterschiedliche gibt, eine Schnittstelle zum System.
+ Die bevorzugte Shell eines Benutzers kann seinem
+ Account zugeordnet werden.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
+
+ <sect3 xml:id="users-superuser">
+ <title>Der Superuser-Account</title>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>Superuser (root)</secondary>
+ </indexterm>
+
+ <para>Der Superuser-Account, normalerweise <systemitem
+ class="username">root</systemitem> genannt, ist
+ vorkonfiguriert und erleichtert die Systemverwaltung, sollte
+ aber nicht für alltägliche Aufgaben wie das Verschicken und
+ Empfangen von Mails, Erforschen des Systems oder
+ Programmierung benutzt werden.</para>
+
+ <para>Der Superuser kann, im Gegensatz zu normalen
+ Benutzer-Accounts, ohne Beschränkungen operieren und die
+ falsche Anwendung des Superuser-Accounts kann in
+ spektakulären Katastrophen resultieren. Benutzer-Accounts
+ sind nicht in der Lage, das System versehentlich zu
+ zerstören, deswegen wird empfohlen, normale
+ Benutzer-Accounts zu verwenden, solange nicht zusätzliche
+ Privilegien benötigt werden.</para>
+
+ <para>Kommandos, die Sie als Superuser eingeben, sollten Sie
+ immer doppelt und dreifach überprüfen, da ein zusätzliches
+ Leerzeichen oder ein fehlender Buchstabe irreparablen
+ Datenverlust bedeuten kann.</para>
+
+ <para>Es gibt mehrere Möglichkeiten Superuser-Rechte zu
+ bekommen. Obwohl man sich direkt als <systemitem
+ class="username">root</systemitem> anmelden kann, wird von
+ dieser Methode dringend abgeraten.</para>
+
+ <para>Verwenden Sie stattdessen &man.su.1; um zum Superuser zu
+ werden. Wenn Sie noch ein <literal>-</literal> eingeben,
+ wird der Benutzer auch die Umgebung des Root-Benutzers
+ erben. Der Benutzer, der diesen Befehl ausführt muss
+ Mitglied der Gruppe <systemitem
+ class="groupname">wheel</systemitem> sein, oder der
+ Befehl schlägt fehl. Zudem muss der Benutzer das Kennwort
+ für den Benutzer-Account <systemitem
+ class="username">root</systemitem> kennen.</para>
+
+ <para>In diesem Besipiel wird der Benutzer nur zum Superuser,
+ um <command>make install</command> auszuführen, da dieser
+ Befehl Superuser-Rechte erfordert. Nachdem der Befehl
+ ausgeführt wurde, kann der Benutzer <command>exit</command>
+ eingeben, um den Superuser-Account zu verlassen und zu den
+ Privilegien des Benutzer-Accounts zurückkehren.</para>
+
+ <example>
+ <title>Ein Programm als Superuser installieren</title>
+
+ <screen>&prompt.user; <userinput>configure</userinput>
+&prompt.user; <userinput>make</userinput>
+&prompt.user; <userinput>su -</userinput>
+Password:
+&prompt.root; <userinput>make install</userinput>
+&prompt.root; <userinput>exit</userinput>
+&prompt.user;</screen>
+ </example>
+
+ <para>Das in &os; enthaltene &man.su.1; funktioniert gut für
+ einzelne Systeme oder in kleineren Netzwerken, mit nur einem
+ Administrator. Eine Alternative ist es, das Paket oder den
+ Port <package>security/sudo</package> zu installieren.
+ Diese Software bietet eine Protokollierung von Aktivitäten
+ und ermöglicht es dem Administrator zu bestimmen, welche
+ Benutzer welche Befehle als Superuser ausführen
+ dürfen.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 xml:id="users-modifying">
+ <title>Accounts verändern</title>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>verändern</secondary>
+ </indexterm>
+
+ <para>&os; stellt eine Vielzahl an Programmen bereit, um
+ Accounts zu verändern. Die gebräuchlichsten Kommandos sind in
+ <xref linkend="users-modifying-utilities"/>
+ gefolgt von einer detaillierten Beschreibung,
+ zusammengefasst. Weitere Informationen und
+ Anwendungsbeispiele finden Sie in der Manualpage des
+ jeweiligen Programms.</para>
+
+ <table frame="none" pgwide="1"
+ xml:id="users-modifying-utilities">
+ <title>Programme zur Verwaltung von Benutzer-Accounts</title>
+
+ <tgroup cols="2">
+ <colspec colwidth="1*"/>
+ <colspec colwidth="2*"/>
+
+ <thead>
+ <row>
+ <entry>Programm</entry>
+ <entry>Zusammenfassung</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>&man.adduser.8;</entry>
+ <entry>Das empfohlene Werkzeug, um neue Accounts zu
+ erstellen.</entry>
+ </row>
+ <row>
+ <entry>&man.rmuser.8;</entry>
+ <entry>Das empfohlene Werkzeug, um Accounts zu
+ löschen.</entry>
+ </row>
+ <row>
+ <entry>&man.chpass.1;</entry>
+ <entry>Ein flexibles Werkzeug, um Informationen in der
+ Account-Datenbank zu verändern.</entry>
+ </row>
+ <row>
+ <entry>&man.passwd.1;</entry>
+ <entry>Ein einfaches Werkzeug, um Passwörter von Accounts
+ zu ändern.</entry>
+ </row>
+ <row>
+ <entry>&man.pw.8;</entry>
+ <entry>Ein mächtiges und flexibles Werkzeug um alle
+ Informationen über Accounts zu ändern.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <sect3 xml:id="users-adduser">
+ <title><command>adduser</command></title>
+
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>erstellen</secondary>
+ </indexterm>
+ <indexterm>
+ <primary><command>adduser</command></primary>
+ </indexterm>
+ <indexterm>
+ <primary><filename>/usr/share/skel</filename></primary>
+ </indexterm>
+
+ <para>&man.adduser.8; ist ein einfaches Programm zum
+ Hinzufügen neuer Benutzer. Wenn ein neuer Benutzer
+ hinzugefügt wird, aktualisiert das Programm automatisch
+ <filename>/etc/passwd</filename> und
+ <filename>/etc/group</filename>. Es erstellt auch das
+ Heimatverzeichnis für den Benutzer, kopiert die
+ Standardkonfigurationsdateien aus
+ <filename>/usr/share/skel</filename> und kann optional
+ eine ,,Willkommen``-Nachricht an den neuen Benutzer
+ versenden.</para>
+
+ <example>
+ <title>Einen Benutzer unter &os; anlegen</title>
+
+ <screen>&prompt.root; <userinput>adduser</userinput>
+Username: <userinput>jru</userinput>
+Full name: <userinput>J. Random User</userinput>
+Uid (Leave empty for default):
+Login group [jru]:
+Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput>
+Login class [default]:
+Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput>
+Home directory [/home/jru]:
+Home directory permissions (Leave empty for default):
+Use password-based authentication? [yes]:
+Use an empty password? (yes/no) [no]:
+Use a random password? (yes/no) [no]:
+Enter password:
+Enter password again:
+Lock out the account after creation? [no]:
+Username : jru
+Password : ****
+Full Name : J. Random User
+Uid : 1001
+Class :
+Groups : jru wheel
+Home : /home/jru
+Shell : /usr/local/bin/zsh
+Locked : no
+OK? (yes/no): <userinput>yes</userinput>
+adduser: INFO: Successfully added (jru) to the user database.
+Add another user? (yes/no): <userinput>no</userinput>
+Goodbye!
+&prompt.root;</screen>
+ </example>
+
+ <note>
+ <para>Wenn Sie das Passwort eingeben, werden weder Passwort noch
+ Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort
+ korrekt eingeben.</para>
+ </note>
+ </sect3>
+
+ <sect3 xml:id="users-rmuser">
+ <title><command>rmuser</command></title>
+
+ <indexterm>
+ <primary><command>rmuser</command></primary>
+ </indexterm>
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>löschen</secondary>
+ </indexterm>
+
+ <para>Benutzen Sie &man.rmuser.8;, um einen Account
+ vollständig aus dem System zu entfernen. Dieses Programm
+ führt die folgenden Schritte durch:</para>
+
+ <procedure>
+ <step>
+ <para>Entfernt den &man.crontab.1; Eintrag des Benutzers,
+ wenn dieser existiert.</para>
+ </step>
+
+ <step>
+ <para>Entfernt alle &man.at.1; jobs, die dem Benutzer
+ gehören.</para>
+ </step>
+
+ <step>
+ <para>Schließt alle Prozesse des Benutzers.</para>
+ </step>
+
+ <step>
+ <para>Entfernt den Benutzer aus der lokalen Passwort-Datei
+ des Systems.</para>
+ </step>
+
+ <step>
+ <para>Entfernt das Heimatverzeichnis des Benutzers, falls
+ es dem Benutzer gehört.</para>
+ </step>
+
+ <step>
+ <para>Entfernt eingegangene E-Mails des Benutzers
+ aus <filename>/var/mail</filename>.</para>
+ </step>
+
+ <step>
+ <para>Entfernt alle Dateien des Benutzers aus temporären
+ Dateispeicherbereichen wie
+ <filename>/tmp</filename>.</para>
+ </step>
+
+ <step>
+ <para>Entfernt den Loginnamen von allen Gruppen, zu denen
+ er gehört, aus <filename>/etc/group</filename>. Wenn
+ eine Gruppe leer wird und der Gruppenname mit dem
+ Loginnamen identisch ist, wird die Gruppe entfernt. Das
+ ergänzt sich mit den einzelnen Benutzer-Gruppen, die von
+ &man.adduser.8; für jeden neuen Benutzer erstellt
+ werden.</para>
+ </step>
+ </procedure>
+
+ <para>Der Superuser-Account kann nicht mit &man.rmuser.8;
+ entfernt werden, da dies in den meisten Fällen das System
+ unbrauchbar macht.</para>
+
+ <para>Als Vorgabe wird ein interaktiver Modus benutzt.</para>
+
+ <example>
+ <title>Interaktives Löschen von Accounts mit
+ <command>rmuser</command></title>
+
+ <screen>&prompt.root; <userinput>rmuser jru</userinput>
+Matching password entry:
+jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
+Is this the entry you wish to remove? <userinput>y</userinput>
+Remove user's home directory (/home/jru)? <userinput>y</userinput>
+Updating password file, updating databases, done.
+Updating group file: trusted (removing group jru -- personal group is empty) done.
+Removing user's incoming mail file /var/mail/jru: done.
+Removing files belonging to jru from /tmp: done.
+Removing files belonging to jru from /var/tmp: done.
+Removing files belonging to jru from /var/tmp/vi.recover: done.
+&prompt.root;</screen>
+ </example>
+ </sect3>
+
+ <sect3 xml:id="users-chpass">
+ <title><command>chpass</command></title>
+
+ <indexterm>
+ <primary><command>chpass</command></primary>
+ </indexterm>
+
+ <para>Mit &man.chpass.1; können Informationen der
+ Benutzerdatenbank, wie Passwörter, Shells und persönliche
+ Informationen verändert werden.</para>
+
+ <para>Nur der Superuser kann die Informationen und Passwörter
+ der anderen Benutzer mit &man.chpass.1; verändern.</para>
+
+ <para>Werden neben dem optionalen Loginnamen keine weiteren
+ Optionen angegeben, zeigt &man.chpass.1; einen Editor mit
+ Account-Informationen an. Wenn der Benutzer den Editor
+ verlässt, wird die Account-Datenbank mit den neuen
+ Informationen aktualisiert.</para>
+
+ <note>
+ <para>Unter &os; wird nach dem Verlassen des Editors nach
+ dem Passwort gefragt, es sei denn, man ist als Superuser
+ angemeldet.</para>
+ </note>
+
+ <example>
+ <title>Interaktives <command>chpass</command> des Superusers</title>
+
+ <screen>#Changing user database information for jru.
+Login: jru
+Password: *
+Uid [#]: 1001
+Gid [# or name]: 1001
+Change [month day year]:
+Expire [month day year]:
+Class:
+Home directory: /home/jru
+Shell: /usr/local/bin/zsh
+Full Name: J. Random User
+Office Location:
+Office Phone:
+Home Phone:
+Other information:</screen>
+ </example>
+
+ <para>Der normale Benutzer kann nur einen kleinen Teil dieser
+ Informationen verändern und natürlich nur die Daten des
+ eigenen Accounts.</para>
+
+ <example>
+ <title>Interaktives <command>chpass</command> eines normalen
+ Benutzers</title>
+
+ <screen>#Changing user database information for jru.
+Shell: /usr/local/bin/tcsh
+Full Name: J. Random User
+Office Location:
+Office Phone:
+Home Phone:
+Other information:</screen>
+ </example>
+
+ <note>
+ <para>&man.chfn.1; und &man.chsh.1; sind nur Verweise auf
+ &man.chpass.1; genauso wie &man.ypchpass.1;,
+ &man.ypchfn.1; und &man.ypchsh.1;. <acronym>NIS</acronym>
+ wird automatisch unterstützt, deswegen ist es nicht
+ notwendig das <literal>yp</literal> vor dem Kommando
+ einzugeben. <acronym>NIS</acronym> wird später im
+ <xref linkend="network-servers"/> besprochen.</para>
+ </note>
+ </sect3>
+
+ <sect3 xml:id="users-passwd">
+ <title><application>passwd</application></title>
+
+ <indexterm>
+ <primary><command>passwd</command></primary>
+ </indexterm>
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>Passwort wechseln</secondary>
+ </indexterm>
+
+ <para>&man.passwd.1; ist der übliche Weg, Ihr eigenes Passwort
+ als Benutzer zu ändern oder das Passwort eines anderen
+ Benutzers als Superuser.</para>
+
+ <note>
+ <para>Um unberechtigte Änderungen zu verhindern,
+ muss bei einem Passwortwechsel zuerst das ursprüngliche
+ Passwort eingegeben werden.</para>
+ </note>
+
+ <example>
+ <title>Das eigene Passwort wechseln</title>
+
+ <screen>&prompt.user; <userinput>passwd</userinput>
+Changing local password for jru.
+Old password:
+New password:
+Retype new password:
+passwd: updating the database...
+passwd: done</screen>
+
+ </example>
+
+ <example>
+ <title>Als Superuser das Passwort eines anderen Accounts
+ verändern</title>
+
+ <screen>&prompt.root; <userinput>passwd jru</userinput>
+Changing local password for jru.
+New password:
+Retype new password:
+passwd: updating the database...
+passwd: done</screen>
+ </example>
+
+ <note>
+ <para>Wie bei &man.chpass.1; ist &man.yppasswd.1;
+ nur ein Verweis auf &man.passwd.1;. NIS wird von
+ jedem dieser Kommandos unterstützt.</para>
+ </note>
+ </sect3>
+
+ <sect3 xml:id="users-pw">
+ <title><command>pw</command></title>
+
+ <indexterm>
+ <primary><command>pw</command></primary>
+ </indexterm>
+
+ <para>&man.pw.8; ist ein Kommandozeilenprogramm, mit dem man
+ Accounts und Gruppen erstellen, entfernen, verändern und
+ anzeigen kann. Dieses Kommando dient als Schnittstelle zu
+ den Benutzer- und Gruppendateien des Systems. &man.pw.8;
+ besitzt eine Reihe mächtiger Kommandozeilenschalter, die es
+ für die Benutzung in Shell-Skripten geeignet machen, doch
+ finden neue Benutzer die Bedienung des Kommandos
+ komplizierter, als die der anderen hier vorgestellten
+ Kommandos.</para>
+ </sect3>
+ </sect2>
+
+ <sect2 xml:id="users-limiting">
+ <title>Benutzer einschränken</title>
+
+ <indexterm><primary>Benutzer einschränken</primary></indexterm>
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>einschränken</secondary>
+ </indexterm>
+
+ <para>&os; bietet dem Systemadministrator mehrere
+ Möglichkeiten die System-Ressourcen, die ein einzelner
+ Benutzer verwenden kann, einzuschränken. Diese Limitierungen
+ sind in zwei Kategorien eingeteilt: Festplattenkontingente und
+ andere Ressourcenbeschränkungen.</para>
+
+ <indexterm><primary>Quotas</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>Quotas</secondary>
+ </indexterm>
+ <indexterm><primary>Festplatten Quotas</primary></indexterm>
+
+ <para>Festplatten-Kontingente schränken den Plattenplatz, der
+ einem Benutzer zur Verfügung steht, ein. Sie bieten zudem,
+ ohne aufwändige Berechnung, einen schnellen Überblick
+ über den verbrauchten Plattenplatz. Kontingente werden im
+ <xref linkend="quotas"/> diskutiert.</para>
+
+ <para>Die anderen Ressourcenbeschränkungen umfassen die
+ Begrenzung von CPU, Speicher und weitere Ressourcen, die ein
+ Benutzer verbrauchen kann.</para>
+
+ <indexterm>
+ <primary><filename>/etc/login.conf</filename></primary>
+ </indexterm>
+
+ <para>Login-Klassen werden in
+ <filename>/etc/login.conf</filename> und sind in
+ &man.login.conf.5; im Detail beschrieben.n. Jeder Benutzer
+ wird einer Login-Klasse zugewiesen (standardmäßig
+ <literal>default</literal>) und jede Login-Klasse ist mit
+ einem Satz von Login-Fähigkeiten verbunden. Eine
+ Login-Fähigkeit ist ein
+ <literal><replaceable>Name</replaceable>=<replaceable>Wert</replaceable></literal>
+ Paar, in dem <replaceable>Name</replaceable> die Fähigkeit
+ bezeichnet und <replaceable>Wert</replaceable> ein beliebiger
+ Text ist, der in Abhänigkeit von
+ <replaceable>Name</replaceable> entsprechend verarbeitet wird.
+ Login-Klassen und -Fähigkeiten zu definieren ist ziemlich
+ einfach und wird auch in &man.login.conf.5;
+ beschrieben.</para>
+
+ <note>
+ <para>&os; liest die Konfiguration aus
+ <filename>/etc/login.conf</filename> normalerweise nicht
+ direkt, sondern nur über die Datenbank
+ <filename>/etc/login.conf.db</filename>, da diese eine
+ schnellere Abfrage erlaubt. Wenn
+ <filename>/etc/login.conf</filename> verändert wurde, muss
+ die <filename>/etc/login.conf.db</filename> mit dem
+ folgenden Kommando aktualisiert werden:</para>
+
+ <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
+ </note>
+
+ <para>Ressourcenbeschränkungen unterscheiden sich von normalen
+ Login-Fähigkeiten zweifach. Erstens gibt es für jede
+ Beschränkung ein aktuelles und ein maximales Limit. Das
+ aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig
+ bis zum maximalen Limit verändert werden. Letzteres kann
+ der Benutzer nur heruntersetzen. Zweitens gelten die meisten
+ Ressourcenbeschränkungen für jeden vom Benutzer gestarteten
+ Prozess, nicht für den Benutzer selbst. Beachten Sie jedoch,
+ dass diese Unterschiede durch das spezifische Einlesen der
+ Limits und nicht durch das System der Login-Fähigkeiten
+ entstehen (das heißt, Ressourcenbeschränkungen sind
+ <emphasis>keine</emphasis> Login-Fähigkeiten).</para>
+
+ <para>Hier befinden sich die am häufigsten benutzten
+ Ressourcenbeschränkungen. Der Rest kann zusammen mit den
+ anderen Login-Fähigkeiten in &man.login.conf.5; gefunden
+ werden:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><literal>coredumpsize</literal></term>
+
+ <listitem>
+ <indexterm><primary>coredumpsize</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>coredumpsize</secondary>
+ </indexterm>
+
+ <para>Das Limit der Größe einer core-Datei, die von einem
+ Programm generiert wird, unterliegt aus offensichtlichen
+ Gründen anderen Limits der Festplattenbenutzung, zum
+ Beispiel <literal>filesize</literal> oder
+ Festplattenkontingenten. Es wird aber trotzdem oft als
+ weniger harte Methode zur Kontrolle des
+ Festplattenplatz-Verbrauchs verwendet: Da Benutzer die
+ core-Dateien nicht selbst erstellen und sie oft nicht
+ löschen, kann sie diese Option davor retten, dass kein
+ Festplattenspeicher mehr zur Verfügung steht, sollte ein
+ großes Programm abstürzen.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>cputime</literal></term>
+
+ <listitem>
+ <indexterm><primary>cputime</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>cputime</secondary>
+ </indexterm>
+
+ <para>Die maximale Rechenzeit, die ein Prozess eines
+ Benutzers verbrauchen darf. Überschreitet der Prozess
+ diesen Wert, wird er vom Kernel beendet.</para>
+
+ <note>
+ <para>Die Rechen<emphasis>zeit</emphasis> wird
+ limitiert, nicht die prozentuale Prozessorenbenutzung,
+ wie es in einigen Feldern in &man.top.1; und
+ &man.ps.1; dargestellt wird.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>filesize</literal></term>
+
+ <listitem>
+ <indexterm><primary>filesize</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>filesize</secondary>
+ </indexterm>
+
+ <para>Hiermit lässt sich die maximale Größe einer Datei
+ bestimmen, die der Benutzer besitzen darf. Im Gegensatz
+ zu <link linkend="quotas">Festplattenkontingenten</link>
+ ist diese Beschränkung nur für jede einzelne Datei
+ gültig und nicht für den Platz, den alle Dateien eines
+ Benutzers verwenden.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>maxproc</literal></term>
+
+ <listitem>
+ <indexterm><primary>maxproc</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>maxproc</secondary>
+ </indexterm>
+
+ <para>Das ist die maximale Anzahl von Prozessen, die ein
+ Benutzer starten darf, und beinhaltet sowohl
+ Vordergrund- als auch Hintergrundprozesse. Natürlich
+ darf dieser Wert nicht höher sein als das System-Limit,
+ das in <varname>kern.maxproc</varname> angegeben ist.
+ Vergessen Sie auch nicht, dass ein zu kleiner Wert den
+ Benutzer in seiner Produktivität einschränken könnte; es
+ ist oft nützlich, mehrfach eingeloggt zu sein, oder
+ <foreignphrase>Pipelines</foreignphrase>
+ <footnote>
+ <para><foreignphrase>Pipeline</foreignphrase> =
+ <emphasis>Leitung</emphasis>.
+ Mit <foreignphrase>Pipes</foreignphrase> sind
+ Verbindungen zwischen zwei Sockets in meistens
+ zwei verschiedenen Prozessen gemeint.</para>
+ </footnote>
+ zu verwenden. Ein paar Aufgaben, wie die Kompilierung
+ eines großen Programms, starten mehrere Prozesse.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>memorylocked</literal></term>
+
+ <listitem>
+ <indexterm><primary>memorylocked</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>memorylocked</secondary>
+ </indexterm>
+
+ <para>Dieses Limit gibt an, wie viel virtueller Speicher
+ von einem Prozess maximal im Arbeitsspeicher festgesetzt
+ werden kann (siehe auch &man.mlock.2;). Ein paar
+ systemkritische Programme, wie &man.amd.8;, verhindern
+ damit einen Systemzusammenbruch, der auftreten könnte,
+ wenn sie aus dem Speicher genommen werden.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>memoryuse</literal></term>
+
+ <listitem>
+ <indexterm><primary>memoryuse</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>memoryuse</secondary>
+ </indexterm>
+
+ <para>Bezeichnet den maximalen Speicher, den ein Prozess
+ benutzen darf und beinhaltet sowohl Arbeitsspeicher-,
+ als auch Swap- Benutzung. Es ist kein allübergreifendes
+ Limit für den Speicherverbrauch, aber ein guter
+ Anfang.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>openfiles</literal></term>
+
+ <listitem>
+ <indexterm><primary>openfiles</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>openfiles</secondary>
+ </indexterm>
+
+ <para>Mit diesem Limit lässt sich die maximale Anzahl
+ der von einem Prozess des Benutzers geöffneten Dateien
+ festlegen. In &os; werden Dateien auch verwendet, um
+ Sockets und <foreignphrase>IPC</foreignphrase>-Kanäle
+ <footnote>
+ <para><foreignphrase>IPC</foreignphrase> steht für
+ <foreignphrase>Interprocess
+ Communication</foreignphrase>.</para>
+ </footnote>
+ darzustellen. Setzen Sie es deshalb nicht zu niedrig.
+ Das System-Limit ist im <varname>kern.maxfiles</varname>
+ &man.sysctl.8; definiert.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>sbsize</literal></term>
+
+ <listitem>
+ <indexterm><primary>sbsize</primary></indexterm>
+ <indexterm>
+ <primary>Benutzer einschränken</primary>
+ <secondary>sbsize</secondary>
+ </indexterm>
+
+ <para>Dieses Limit beschränkt den Netzwerk-Speicher und
+ damit die mbufs, die ein Benutzer verbrauchen darf. Es
+ stammt aus einer Antwort auf einen DoS-Angriff, bei dem
+ viele Netzwerk-Sockets geöffnet wurden, kann aber
+ generell dazu benutzt werden Netzwerk-Verbindungen zu
+ beschränken.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>stacksize</literal></term>
+
+ <listitem>
+ <para>Das ist die maximale Größe, auf die der Stack eines
+ Prozesses heranwachsen darf. Das allein ist natürlich
+ nicht genug, um den Speicher zu beschränken, den ein
+ Programm verwenden darf. Es sollte deshalb in
+ Verbindung mit anderen Limits gesetzt werden.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Beim Setzen von Ressourcenbeschränkungen sind noch andere
+ Dinge zu beachten. Nachfolgend ein paar generelle Tipps,
+ Empfehlungen und verschiedene Kommentare.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Von <filename>/etc/rc</filename> beim Hochfahren des
+ Systems gestartete Prozesse werden der
+ <literal>daemon</literal> Login-Klasse zugewiesen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Obwohl das mitgelieferte
+ <filename>/etc/login.conf</filename> eine Quelle von
+ vernünftigen Limits darstellt, können nur Sie, der
+ Administrator, wissen, was für Ihr System angebracht ist.
+ Ein Limit zu hoch anzusetzen könnte Ihr System für
+ Missbrauch öffnen, und ein zu niedriges Limit der
+ Produktivität einen Riegel vorschieben.</para>
+ </listitem>
+
+ <listitem>
+ <para>Benutzer des <application>&xorg;</application> sollten
+ wahrscheinlich mehr Ressourcen zugeteilt bekommen als
+ andere Benutzer. <application>&xorg;</application>
+ beansprucht selbst schon eine Menge Ressourcen, verleitet
+ die Benutzer aber auch, mehrere Programme gleichzeitig
+ laufen zu lassen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bedenken Sie, dass viele Limits für einzelne Prozesse
+ gelten und nicht für den Benutzer selbst. Setzt man zum
+ Beispiel <varname>openfiles</varname> auf 50, kann jeder
+ Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch
+ ist die maximale Anzahl von Dateien, die von einem
+ Benutzer geöffnet werden können,
+ <literal>openfiles</literal> mal
+ <literal>maxproc</literal>. Das gilt auch für den
+ Speicherverbrauch.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Weitere Informationen über Ressourcenbeschränkungen,
+ Login-Klassen und -Fähigkeiten finden Sie in &man.cap.mkdb.1;,
+ &man.getrlimit.2; und &man.login.conf.5;.</para>
+ </sect2>
+
+ <sect2 xml:id="users-groups">
+ <title>Gruppen</title>
+
+ <indexterm><primary>Gruppen</primary></indexterm>
+ <indexterm>
+ <primary><filename>/etc/groups</filename></primary>
+ </indexterm>
+ <indexterm>
+ <primary>Accounts</primary>
+ <secondary>Gruppen</secondary>
+ </indexterm>
+
+ <para>Eine Gruppe ist einfach eine Zusammenfassung von Accounts.
+ Gruppen werden durch den Gruppennamen und die
+ <acronym>GID</acronym> identifiziert. Der Kernel von &os;
+ entscheidet anhand der <acronym>UID</acronym> und der
+ Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas
+ erlaubt oder nicht. Wenn jemand von der
+ <acronym>GID</acronym> eines Benutzers oder Prozesses spricht,
+ meint er damit meistens die erste Gruppe der
+ Gruppenliste.</para>
+
+ <para>Die Zuordnung von Gruppennamen zur <acronym>GID</acronym>
+ steht in <filename>/etc/group</filename>, einer Textdatei mit
+ vier durch Doppelpunkte getrennten Feldern. Im ersten Feld
+ steht der Gruppenname, das zweite enthält ein verschlüsseltes
+ Passwort, das dritte gibt die <acronym>GID</acronym> an und
+ das vierte besteht aus einer Komma separierten Liste der
+ Mitglieder der Gruppe. Eine ausführliche Beschreibung der
+ Syntax dieser Datei finden Sie in &man.group.5;.</para>
+
+ <para>Wenn Sie <filename>/etc/group</filename> nicht händisch
+ editieren möchten, können Sie &man.pw.8; zum Editieren
+ benutzen. Das folgende Beispiel zeigt das Hinzufügen einer
+ Gruppe mit dem Namen <systemitem
+ class="groupname">teamtwo</systemitem>:</para>
+
+ <example>
+ <title>Setzen der Mitgliederliste einer Gruppe mit
+ &man.pw.8;</title>
+
+ <screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput>
+&prompt.root; <userinput>pw groupshow teamtwo</userinput>
+teamtwo:*:1100:</screen>
+ </example>
+
+ <para><literal>1100</literal> ist die <acronym>GID</acronym> der
+ Gruppe <systemitem class="groupname">teamtwo</systemitem>.
+ Momentan hat <systemitem
+ class="groupname">teamtwo</systemitem> noch keine
+ Mitglieder. Mit dem folgenden Kommando wird der Benutzer
+ <systemitem class="username">jru</systemitem> in die Gruppe
+ <systemitem class="groupname">teamtwo</systemitem>
+ aufgenommen.</para>
+
+ <example>
+ <title>Ein Gruppenmitglied mit &man.pw.8; hinzufügen</title>
+
+ <screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput>
+&prompt.root; <userinput>pw groupshow teamtwo</userinput>
+teamtwo:*:1100:jru</screen>
+ </example>
+
+ <para>Als Argument von <option>-M</option> geben Sie eine Komma
+ separierte Liste von Mitgliedern an, die in die Gruppe
+ aufgenommen werden sollen. Aus den vorherigen Abschnitten ist
+ bekannt, dass die Passwort-Datei ebenfalls eine Gruppe für
+ jeden Benutzer enthält. Das System teilt dem Benutzer
+ automatisch eine Gruppe zu, die aber vom
+ <option>groupshow</option> Kommando von &man.pw.8; nicht
+ angezeigt wird. Diese Information wird allerdings von
+ &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt,
+ dass &man.pw.8; nur <filename>/etc/group</filename>
+ manipuliert, es wird nicht versuchen, zusätzliche
+ Informationen aus <filename>/etc/passwd</filename> zu
+ lesen.</para>
+
+ <example>
+ <title>Hinzufügen eines neuen Gruppenmitglieds mittels
+ &man.pw.8;</title>
+
+ <screen>&prompt.root; <userinput>pw groupmod teamtwo -m db</userinput>
+&prompt.root; <userinput>pw groupshow teamtwo</userinput>
+teamtwo:*:1100:jru,db</screen>
+ </example>
+
+ <para>Die Argumente zur Option <option>-m</option> ist eine
+ durch Komma getrennte Liste von Benutzern, die der Gruppe
+ hinzugefügt werden sollen. Anders als im vorherigen Beispiel
+ werden diese Benutzer in die Gruppe aufgenommen und ersetzen
+ nicht die Liste der bereits bestehenden Benutzer in der
+ Gruppe.</para>
+
+ <example>
+ <title>Mit <command>id</command> die Gruppenzugehörigkeit
+ bestimmen</title>
+
+ <screen>&prompt.user; <userinput>id jru</userinput>
+uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen>
+ </example>
+
+ <para>In diesem Beispiel ist <systemitem
+ class="username">jru</systemitem> Mitglied von
+ <systemitem class="groupname">jru</systemitem> und
+ <systemitem class="groupname">teamtwo</systemitem>.</para>
+
+ <para>Weitere Informationen zu diesem Befehl und dem Format von
+ <filename>/etc/group</filename> finden Sie in &man.pw.8; und
+ &man.group.5;.</para>
+ </sect2>
+ </sect1>
+
<sect1 xml:id="permissions">
<title>Zugriffsrechte</title>
<indexterm><primary>UNIX</primary></indexterm>
Index: head/de_DE.ISO8859-1/books/handbook/book.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/book.xml
+++ head/de_DE.ISO8859-1/books/handbook/book.xml
@@ -7,7 +7,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/book.xml,v 1.91 2012/03/27 19:32:11 bcr Exp $
- basiert auf: r42118
+ basiert auf: r42953
-->
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> %txtfiles;
@@ -246,7 +246,6 @@
&chap.config;
&chap.boot;
- &chap.users;
&chap.security;
&chap.jails;
&chap.mac;
Index: head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde$
- basiert auf: r42827
+ basiert auf: r42953
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="bsdinstall">
<info><title>&os;&nbsp;9.<replaceable>X</replaceable> (und neuer)
@@ -2252,7 +2252,8 @@
Benutzern beendet und die Installation fortgesetzt.</para>
<para>Für weitere Informationen zum hinzufügen von
- Benutzern und deren Verwaltung, lesen Sie <xref linkend="users"/>.</para>
+ Benutzern und deren Verwaltung, lesen Sie <xref
+ linkend="users-synopsis"/>.</para>
</sect2>
<sect2 xml:id="bsdinstall-final-conf">
Index: head/de_DE.ISO8859-1/books/handbook/chapters.ent
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/chapters.ent
+++ head/de_DE.ISO8859-1/books/handbook/chapters.ent
@@ -10,7 +10,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/chapters.ent,v 1.34 2011/10/08 16:47:33 jkois Exp $
- basiert auf: r42118
+ basiert auf: r42953
-->
<!ENTITY % not.published "INCLUDE">
@@ -36,7 +36,6 @@
<!-- Teil Drei -->
<!ENTITY chap.config SYSTEM "config/chapter.xml">
<!ENTITY chap.boot SYSTEM "boot/chapter.xml">
- <!ENTITY chap.users SYSTEM "users/chapter.xml">
<!ENTITY chap.security SYSTEM "security/chapter.xml">
<!ENTITY chap.jails SYSTEM "jails/chapter.xml">
<!ENTITY chap.mac SYSTEM "mac/chapter.xml">
Index: head/de_DE.ISO8859-1/books/handbook/preface/preface.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/preface/preface.xml
+++ head/de_DE.ISO8859-1/books/handbook/preface/preface.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/preface/preface.xml,v 1.36 2011/12/24 13:06:39 bcr Exp $
- basiert auf: r42900
+ basiert auf: r42953
-->
<preface xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="book-preface">
<title>Vorwort</title>
@@ -433,17 +433,6 @@
</varlistentry>
<varlistentry>
- <term><emphasis><xref linkend="users"/>, Benutzer und grundlegende
- Account-Verwaltung</emphasis></term>
- <listitem>
- <para>Beschreibt, wie Benutzer-Accounts angelegt, verändert
- und verwaltet werden. Weiterhin wird beschrieben, wie dem
- Benutzer zur Verfügung stehende Ressourcen beschränkt
- werden können.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
<term><emphasis><xref linkend="security"/>, Sicherheit</emphasis></term>
<listitem>
<para>Beschreibt die Werkzeuge mit denen Sie Ihr &os;-System
Index: head/de_DE.ISO8859-1/books/handbook/users/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/users/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/users/chapter.xml
@@ -1,1085 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
- The FreeBSD Documentation Project
- The FreeBSD German Documentation Project
-
- $FreeBSD$
- $FreeBSDde: de-docproj/books/handbook/users/chapter.xml,v 1.47 2012/04/30 16:19:09 bcr Exp $
- basiert auf: 1.63
--->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="users">
- <info><title>Benutzer und grundlegende Account-Verwaltung</title>
- <authorgroup>
- <author><personname><firstname>Neil</firstname><surname>Blakey-Milner</surname></personname><contrib>Beigetragen von </contrib></author>
- </authorgroup>
-
- <authorgroup>
- <author><personname><firstname>Robert</firstname><surname>Drehmel</surname></personname><contrib>Übersetzt von </contrib></author>
- </authorgroup>
-
- </info>
-
-
-
- <sect1 xml:id="users-synopsis">
- <title>Übersicht</title>
-
- <para>Einen FreeBSD-Computer können mehrere Benutzer zur selben
- Zeit benutzen, allerdings kann immer nur einer vor der Konsole sitzen
- <footnote>
- <para>Außer Sie verwenden, wie in <xref linkend="serialcomms"/> besprochen, zusätzliche Terminals</para>
- </footnote>, über das Netzwerk können beliebig viele
- Benutzer angemeldet sein. Jeder Benutzer muss einen Account
- haben, um das System benutzen zu können.</para>
-
- <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie</para>
-
- <itemizedlist>
- <listitem>
- <para>die verschiedenen Account-Typen von FreeBSD kennen,</para>
- </listitem>
-
- <listitem>
- <para>wissen, wie Accounts angelegt werden,</para>
- </listitem>
-
- <listitem>
- <para>wissen, wie Sie Accounts löschen,</para>
- </listitem>
-
- <listitem>
- <para>wie Sie Attribute eines Accounts, wie den Loginnamen oder
- die Login-Shell ändern,</para>
- </listitem>
-
- <listitem>
- <para>wissen, wie Sie Limits für einen Account setzen, um
- beispielsweise Ressourcen, wie Speicher oder CPU-Zeit,
- einzuschränken,</para>
- </listitem>
-
- <listitem>
- <para>wie Sie mit Gruppen die Verwaltung der Accounts
- vereinfachen.</para>
- </listitem>
- </itemizedlist>
-
- <para>Vor dem Lesen dieses Kapitels sollten Sie</para>
-
- <itemizedlist>
- <listitem>
- <para>die Grundlagen von &unix; und FreeBSD (<xref linkend="basics"/>)
- verstanden haben.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-
- <sect1 xml:id="users-introduction">
- <title>Einführung</title>
-
- <para>Jeder Zugriff auf das System geschieht über Accounts und alle
- Prozesse werden von Benutzern gestartet, also sind Benutzer- und
- Account-Verwaltung von wesentlicher Bedeutung in FreeBSD-Systemen.</para>
-
- <para>Mit jedem Account eines FreeBSD-Systems sind bestimmte Informationen
- verknüpft, die diesen Account identifizieren.</para>
-
- <variablelist>
- <varlistentry>
- <term>Loginnamen</term>
-
- <listitem>
- <para>Den Loginnamen geben Sie bei der Anmeldung ein, wenn Sie
- dazu mit <prompt>login:</prompt> aufgefordert werden.
- Loginnamen müssen auf dem System eindeutig sein, das
- heißt auf einem System kann es nicht zwei Accounts mit
- demselben Loginnamen geben. In &man.passwd.5; wird
- beschrieben, wie ein gültiger Loginname gebildet wird.
- Normalerweise sollten Sie Namen verwenden, die aus
- Kleinbuchstaben bestehen und bis zu acht Zeichen lang sind.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Passwort</term>
-
- <listitem>
- <para>Mit jedem Account ist ein Passwort verknüpft. Wenn
- das Passwort leer ist, wird es bei der Anmeldung nicht
- abgefragt. Das ist allerdings nicht zu empfehlen, daher sollte
- jeder Account ein Passwort besitzen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>User ID (UID)</term>
-
- <listitem>
- <para>Die UID ist üblicherweise eine Zahl zwischen
- 0 und 65535<footnote xml:id="users-largeuidgid">
- <para>Für UIDs und GIDs können Zahlen bis
- einschließlich 4294967295 verwendet werden.
- Allerdings können solche IDs erhebliche
- Probleme mit Anwendungen verursachen, die
- Annahmen über den Wertebereich der IDs
- treffen.</para>
- </footnote>, die einen
- Account eindeutig identifiziert. Intern verwendet FreeBSD nur
- die UID, Loginnamen werden zuerst in eine UID umgewandelt,
- mit der das System dann weiter arbeitet. Das bedeutet, dass
- Sie Accounts mit unterschiedlichen Loginnamen aber gleicher
- UID einrichten können. Vom Standpunkt des Systems handelt
- es sich dabei um denselben Account. In der Praxis werden Sie
- diese Eigenschaft des Systems wahrscheinlich nicht
- benutzen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Group ID (GID)</term>
-
- <listitem>
- <para>Die GID ist üblicherweise eine Zahl zwischen 0 und
- 65536<footnoteref linkend="users-largeuidgid"/>, die eine Gruppe
- eindeutig identifiziert. Mit Gruppen kann der Zugriff auf
- Ressourcen über die GID anstelle der UID geregelt werden.
- Einige Konfigurationsdateien werden durch diesen Mechanismus
- deutlich kleiner. Ein Account kann mehreren Gruppen
- zugehören.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Login-Klasse</term>
-
- <listitem>
- <para>Login-Klassen erweitern das Gruppenkonzept. Sie
- erhöhen die Flexibilität des Systems in der Handhabung
- der verschiedenen Accounts.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Gültigkeit von Passwörtern</term>
-
- <listitem>
- <para>Ein regelmäßiges Ändern des Passworts wird in
- der Voreinstellung von FreeBSD nicht erzwungen. Sie
- können allerdings einen Passwortwechsel nach einer
- gewissen Zeit auf Basis einzelner Accounts erzwingen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Verfallszeit eines Accounts</term>
-
- <listitem>
- <para>In der Voreinstellung verfallen unter FreeBSD keine
- Accounts. Wenn Sie Accounts einrichten, die nur für eine
- bestimmte Zeit gültig sein sollen, beispielsweise Accounts
- für Teilnehmer eines Praktikums, können Sie angeben,
- wie lange der Account gültig sein soll. Nachdem die
- angegebene Zeitspanne verstrichen ist, kann dieser Account
- nicht mehr zum Anmelden verwendet werden, obwohl alle
- Verzeichnisse und Dateien, die diesem Account gehören,
- noch vorhanden sind.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>vollständiger Benutzername</term>
-
- <listitem>
- <para>FreeBSD identifiziert einen Account eindeutig über
- den Loginnamen, der aber keine Ähnlichkeit mit dem
- richtigen Namen des Benutzers haben muss. Der
- vollständige Benutzername kann daher beim Einrichten eines
- Accounts angegeben werden.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Heimatverzeichnis</term>
-
- <listitem>
- <para>Das Heimatverzeichnis gibt den vollständigen Pfad zu
- dem Verzeichnis an, in dem sich der Benutzer nach erfolgreicher
- Anmeldung befindet. Es ist üblich, alle
- Heimatverzeichnisse unter
- <filename>/home/Loginname</filename>
- oder
- <filename>/usr/home/Loginname</filename>
- anzulegen. Im Heimatverzeichnis oder in dort angelegten
- Verzeichnissen werden die Dateien eines Benutzers
- gespeichert.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Login-Shell</term>
-
- <listitem>
- <para>Grundsätzlich ist die Schnittstelle zum System eine
- Shell, von denen es viele unterschiedliche gibt. Die
- bevorzugte Shell eines Benutzers kann seinem Account zugeordnet
- werden.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Es gibt drei Haupttypen von Accounts: Der
- <link linkend="users-superuser">Superuser</link>,
- <link linkend="users-system">Systembenutzer</link> und
- <link linkend="users-user">Benutzer-Accounts</link>. Der
- Superuser-Account, normalerweise <systemitem class="username">root</systemitem> genannt, wird
- benutzt, um das System ohne Beschränkungen auf Privilegien zu
- verwalten. Systembenutzer starten Dienste. Abschließend werden
- Benutzer-Accounts von echten Menschen genutzt, die sich einloggen, Mails
- lesen und so weiter.</para>
- </sect1>
-
- <sect1 xml:id="users-superuser">
- <title>Der Superuser-Account</title>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary>Superuser (root)</secondary>
- </indexterm>
-
- <para>Der Superuser-Account, normalerweise <systemitem class="username">root</systemitem>
- genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte
- aber nicht für alltägliche Aufgaben wie das Verschicken und
- Empfangen von Mails, Entdecken des Systems oder Programmierung benutzt
- werden.</para>
-
- <para>Das ist so, da der Superuser im Gegensatz zu normalen
- Benutzer-Accounts ohne Beschränkungen operiert und falsche
- Anwendung des Superuser-Accounts in spektakulären Katastrophen
- resultieren kann. Benutzer-Accounts sind nicht in der Lage, das System
- versehentlich zu zerstören, deswegen ist es generell am besten
- normale Benutzer-Accounts zu verwenden, solange man nicht
- hauptsächlich die extra Privilegien benötigt.</para>
-
- <para>Kommandos, die Sie als Superuser eingeben, sollten Sie immer
- doppelt und dreifach überprüfen, da ein
- zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen
- Datenverlust bedeuten kann.</para>
-
- <para>Das erste, das Sie tun sollten, nachdem Sie dieses Kapitel gelesen
- haben, ist einen unprivilegierten Benutzer für Ihre eigene normale
- Benutzung zu erstellen, wenn Sie das nicht bereits getan haben. Das
- trifft immer zu, egal ob Sie ein Mehrbenutzersystem oder ein System
- laufen haben, welches Sie alleine benutzen. Später in diesem
- Kapitel besprechen wir, wie man zusätzliche Accounts erstellt und
- wie man zwischen dem normalen Benutzer und dem Superuser wechselt.</para>
- </sect1>
-
- <sect1 xml:id="users-system">
- <title>System-Accounts</title>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary>System-Accounts</secondary>
- </indexterm>
-
- <para>Systembenutzer starten Dienste wie DNS, Mail-Server, Web-Server und so
- weiter. Der Grund dafür ist die Sicherheit; wenn die Programme
- von dem Superuser gestartet werden, können Sie ohne
- Einschränkungen handeln.</para>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary><systemitem class="username">daemon</systemitem></secondary>
- </indexterm>
- <indexterm>
- <primary>Accounts</primary>
- <secondary><systemitem class="username">operator</systemitem></secondary>
- </indexterm>
- <para>Beispiele von Systembenutzern sind <systemitem class="username">daemon</systemitem>,
- <systemitem class="username">operator</systemitem>, <systemitem class="username">bind</systemitem> (für den
- Domain Name Service) und <systemitem class="username">news</systemitem> und
- <systemitem class="username">www</systemitem>.</para>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary><systemitem class="username">nobody</systemitem></secondary>
- </indexterm>
- <para><systemitem class="username">nobody</systemitem> ist der generische unprivilegierte
- Systembenutzer. Bedenken Sie aber, dass je mehr Dienste
- <systemitem class="username">nobody</systemitem> benutzen, desto mehr Dateien und Prozesse
- diesem Benutzer gehören und dieser Benutzer damit umso
- privilegierter wird.</para>
- </sect1>
-
- <sect1 xml:id="users-user">
- <title>Benutzer-Accounts</title>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary>Benutzer-Accounts</secondary>
- </indexterm>
-
- <para>Benutzer-Accounts sind das primäre Mittel des Zugriffs für
- Menschen auf das System und isolieren Benutzer und Umgebung,
- schützen die Benutzer davor, das System oder Daten anderer Benutzer
- zu beschädigen und erlauben Benutzern ihre Umgebung selbst
- einzurichten, ohne das sich dies auf andere auswirkt.</para>
-
- <para>Jede Person, die auf Ihr System zugreift, sollte ihren eigenen
- Account besitzen. Das erlaubt Ihnen herauszufinden, wer was macht
- und hält Leute davon ab, die Einstellungen der anderen zu
- verändern oder Mails zu lesen, die nicht für sie bestimmt
- waren.</para>
-
- <para>Jeder Benutzer kann sich eine eigene Umgebung mit alternativen
- Shells, Editoren, Tastaturbelegungen und Sprachen einrichten.</para>
- </sect1>
-
- <sect1 xml:id="users-modifying">
- <title>Accounts verändern</title>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary>verändern</secondary>
- </indexterm>
-
- <para>Unter &unix; gibt es verschiedene Kommandos, um Accounts zu
- verändern. Die gebräuchlichsten Kommandos sind unten,
- gefolgt von einer detaillierten Beschreibung, zusammengefasst.</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Kommando</entry>
- <entry>Zusammenfassung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>&man.adduser.8;</entry>
- <entry>Das empfohlene Werkzeug, um neue Accounts zu
- erstellen.</entry>
- </row>
- <row>
- <entry>&man.rmuser.8;</entry>
- <entry>Das empfohlene Werkzeug, um Accounts zu
- löschen.</entry>
- </row>
- <row>
- <entry>&man.chpass.1;</entry>
- <entry>Ein flexibles Werkzeug, um Informationen in der
- Account-Datenbank zu verändern.</entry>
- </row>
- <row>
- <entry>&man.passwd.1;</entry>
- <entry>Ein einfaches Werkzeug, um Passwörter von Accounts
- zu ändern.</entry>
- </row>
- <row>
- <entry>&man.pw.8;</entry>
- <entry>Ein mächtiges und flexibles Werkzeug um alle
- Informationen über Accounts zu ändern.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <sect2 xml:id="users-adduser">
- <title><command>adduser</command></title>
-
- <indexterm>
- <primary>Accounts</primary>
- <secondary>erstellen</secondary>
- </indexterm>
- <indexterm>
- <primary><command>adduser</command></primary>
- </indexterm>
- <indexterm>
- <primary><filename>/usr/share/skel</filename></primary>
- </indexterm>
- <para>&man.adduser.8; ist ein einfaches Programm
- um neue Benutzer hinzuzufügen. Es erstellt
- <filename>passwd</filename> und <filename>group</filename>
- Einträge für den
- Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar
- vorgegebene Dotfiles aus <filename>/usr/share/skel</filename> und kann
- optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken.</para>
-
- <example>
- <title>Einen Benutzer unter &os; anlegen</title>
-
- <screen>&prompt.root; <userinput>adduser</userinput>
-Username: <userinput>jru</userinput>
-Full name: <userinput>J. Random User</userinput>
-Uid (Leave empty for default):
-Login group [jru]:
-Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput>
-Login class [default]:
-Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput>
-Home directory [/home/jru]:
-Home directory permissions (Leave empty for default):
-Use password-based authentication? [yes]:
-Use an empty password? (yes/no) [no]:
-Use a random password? (yes/no) [no]:
-Enter password:
-Enter password again:
-Lock out the account after creation? [no]:
-Username : jru
-Password : ****
-Full Name : J. Random User
-Uid : 1001
-Class :
-Groups : jru wheel
-Home : /home/jru
-Shell : /usr/local/bin/zsh
-Locked : no
-OK? (yes/no): <userinput>yes</userinput>
-adduser: INFO: Successfully added (jru) to the user database.
-Add another user? (yes/no): <userinput>no</userinput>
-Goodbye!
-&prompt.root;</screen>
- </example>
-
- <note>
- <para>Wenn Sie das Passwort eingeben, werden weder Passwort noch
- Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort
- korrekt eingeben.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="users-rmuser">
- <title><command>rmuser</command></title>
-
- <indexterm><primary><command>rmuser</command></primary></indexterm>
- <indexterm>
- <primary>Accounts</primary>
- <secondary>löschen</secondary>
- </indexterm>
-
- <para>Benutzen Sie &man.rmuser.8;, um einen Account
- vollständig aus dem System zu entfernen.
- &man.rmuser.8; führt die folgenden Schritte
- durch:</para>
-
- <procedure>
- <step>
- <para>Entfernt den &man.crontab.1; Eintrag des Benutzers
- (wenn dieser existiert).</para>
- </step>
- <step>
- <para>Entfernt alle &man.at.1; jobs, die dem Benutzer gehören.
- </para>
- </step>
- <step>
- <para>Schließt alle Prozesse des Benutzers.</para>
- </step>
- <step>
- <para>Entfernt den Benutzer aus der lokalen Passwort-Datei des
- Systems.</para>
- </step>
- <step>
- <para>Entfernt das Heimatverzeichnis des Benutzers (falls es dem
- Benutzer gehört).</para>
- </step>
- <step>
- <para>Entfernt eingegangene E-Mails des Benutzers
- aus <filename>/var/mail</filename>.</para>
- </step>
- <step>
- <para>Entfernt alle Dateien des Benutzers aus temporären
- Dateispeicherbereichen wie <filename>/tmp</filename>.</para>
- </step>
- <step>
- <para>Entfernt den Loginnamen von allen Gruppen, zu denen er
- gehört, aus <filename>/etc/group</filename>.</para>
-
- <note>
- <para>Wenn eine Gruppe leer wird und der Gruppenname mit dem
- Loginnamen identisch ist, wird die Gruppe entfernt; das
- ergänzt sich mit den einzelnen Benutzer-Gruppen, die von
- &man.adduser.8; für jeden neuen Benutzer erstellt werden.
- </para>
- </note>
- </step>
- </procedure>
-
- <para>Der Superuser-Account kann nicht mit &man.rmuser.8; entfernt
- werden, da dies in den meisten Fällen das System unbrauchbar
- macht.</para>
-
- <para>Als Vorgabe wird ein interaktiver Modus benutzt, der
- sicherzustellen versucht, dass Sie wissen, was Sie tun.</para>
-
- <example>
- <title>Interaktives Löschen von Account mit
- <command>rmuser</command></title>
-
- <screen>&prompt.root; <userinput>rmuser jru</userinput>
-Matching password entry:
-jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
-Is this the entry you wish to remove? <userinput>y</userinput>
-Remove user's home directory (/home/jru)? <userinput>y</userinput>
-Updating password file, updating databases, done.
-Updating group file: trusted (removing group jru -- personal group is empty) done.
-Removing user's incoming mail file /var/mail/jru: done.
-Removing files belonging to jru from /tmp: done.
-Removing files belonging to jru from /var/tmp: done.
-Removing files belonging to jru from /var/tmp/vi.recover: done.
-&prompt.root;</screen>
- </example>
- </sect2>
-
- <sect2 xml:id="users-chpass">
- <title><command>chpass</command></title>
-
- <indexterm><primary><command>chpass</command></primary></indexterm>
- <para>&man.chpass.1; ändert Informationen der
- Benutzerdatenbank wie Passwörter, Shells und persönliche
- Informationen.</para>
-
- <para>Nur Systemadministratoren, mit Superuser-Rechten, können die
- Informationen und Passwörter der anderen Benutzer mit
- &man.chpass.1; verändern.</para>
-
- <para>Werden keine Optionen neben dem optionalen Loginnamen
- angegeben, zeigt &man.chpass.1; einen Editor
- mit Account-Informationen an und aktualisiert die
- Account-Datenbank, wenn dieser verlassen wird.</para>
-
- <note>
- <para>Unter &os; wird nach dem Verlassen des Editors
- nach dem Passwort gefragt, es sei denn, man ist als Superuser
- angemeldet.</para>
- </note>
-
- <example>
- <title>Interaktives <command>chpass</command> des Superusers</title>
-
- <screen>#Changing user database information for jru.
-Login: jru
-Password: *
-Uid [#]: 1001
-Gid [# or name]: 1001
-Change [month day year]:
-Expire [month day year]:
-Class:
-Home directory: /home/jru
-Shell: /usr/local/bin/zsh
-Full Name: J. Random User
-Office Location:
-Office Phone:
-Home Phone:
-Other information:</screen>
- </example>
-
- <para>Der normale Benutzer kann nur einen kleinen Teil dieser
- Informationen verändern und natürlich nur die Daten des
- eigenen Accounts.</para>
-
- <example>
- <title>Interaktives <command>chpass</command> eines normalen
- Benutzers</title>
-
- <screen>#Changing user database information for jru.
-Shell: /usr/local/bin/tcsh
-Full Name: J. Random User
-Office Location:
-Office Phone:
-Home Phone:
-Other information:</screen>
- </example>
-
- <note>
- <para>&man.chfn.1; und &man.chsh.1; sind
- nur Verweise auf &man.chpass.1; genauso wie
- &man.ypchpass.1;, &man.ypchfn.1; und
- &man.ypchsh.1;. NIS wird automatisch unterstützt,
- deswegen ist es nicht notwendig das <literal>yp</literal> vor dem
- Kommando einzugeben. NIS wird später
- in <xref linkend="network-servers"/> besprochen.</para>
- </note>
- </sect2>
- <sect2 xml:id="users-passwd">
- <title><application>passwd</application></title>
-
- <indexterm><primary><command>passwd</command></primary></indexterm>
- <indexterm>
- <primary>Accounts</primary>
- <secondary>Passwort wechseln</secondary>
- </indexterm>
- <para>&man.passwd.1; ist der übliche Weg, Ihr
- eigenes Passwort als Benutzer zu ändern oder das Passwort eines
- anderen Benutzers als Superuser.</para>
-
- <note>
- <para>Um unberechtigte Änderungen zu verhindern,
- muss bei einem Passwortwechsel zuerst das ursprüngliche
- Passwort eingegeben werden.</para>
- </note>
-
- <example>
- <title>Wechseln des Passworts</title>
-
- <screen>&prompt.user; <userinput>passwd</userinput>
-Changing local password for jru.
-Old password:
-New password:
-Retype new password:
-passwd: updating the database...
-passwd: done
-
-&prompt.root; <userinput>passwd jru</userinput>
-Changing local password for jru.
-New password:
-Retype new password:
-passwd: updating the database...
-passwd: done</screen>
- </example>
-
- <example>
- <title>Als Superuser das Passwort eines anderen Accounts
- verändern</title>
-
- <screen>&prompt.root; <userinput>passwd jru</userinput>
-Changing local password for jru.
-New password:
-Retype new password:
-passwd: updating the database...
-passwd: done</screen>
- </example>
-
- <note>
- <para>Wie bei &man.chpass.1; ist &man.yppasswd.1;
- nur ein Verweis auf &man.passwd.1;. NIS wird von
- jedem dieser Kommandos unterstützt.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="users-pw">
- <title><command>pw</command></title>
- <indexterm><primary><command>pw</command></primary></indexterm>
-
- <para>&man.pw.8; ist ein Kommandozeilenprogramm, mit
- dem man Accounts und Gruppen erstellen, entfernen, verändern
- und anzeigen kann. Dieses Kommando dient als Schnittstelle zu den
- Benutzer- und Gruppendateien des Systems. &man.pw.8;
- besitzt eine Reihe mächtiger Kommandozeilenschalter, die es
- für die Benutzung in Shell-Skripten geeignet machen, doch
- finden neue Benutzer die Bedienung des Kommandos komplizierter, als
- die der anderen hier vorgestellten Kommandos.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="users-limiting">
- <title>Benutzer einschränken</title>
-
- <indexterm><primary>Benutzer einschränken</primary></indexterm>
- <indexterm>
- <primary>Accounts</primary>
- <secondary>einschränken</secondary>
- </indexterm>
- <para>Wenn ein System von mehreren Benutzern verwendet wird, ist es
- vielleicht notwendig, den Gebrauch des Systems zu beschränken.
- FreeBSD bietet dem Systemadministrator mehrere Möglichkeiten
- die System-Ressourcen, die ein einzelner Benutzer verwenden kann,
- einzuschränken. Diese Limitierungen sind in zwei Kategorien
- eingeteilt: Festplattenkontingente und andere
- Ressourcenbeschränkungen.</para>
-
- <indexterm><primary>Quotas</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>Quotas</secondary>
- </indexterm>
- <indexterm><primary>Festplatten Quotas</primary></indexterm>
- <para>Festplatten-Kontingente schränken den Plattenplatz, der
- einem Benutzer zur Verfügung steht, ein. Sie bieten zudem,
- ohne aufwändige Berechnung, einen schnellen Überblick
- über den verbrauchten Plattenplatz.
- Kontingente werden in <xref linkend="quotas"/> diskutiert.</para>
-
- <indexterm>
- <primary><filename>/etc/login.conf</filename></primary>
- </indexterm>
- <para>Die Login-Klassen werden in <filename>/etc/login.conf</filename>
- definiert. Auf die präzisen Semantiken gehen wir hier nicht
- weiter ein, sie können jedoch in &man.login.conf.5;
- nachgelesen werden. Es ist ausreichend zu sagen, dass jeder
- Benutzer einer Login-Klasse zugewiesen wird (standardmäßig
- <literal>default</literal>) und dass jede Login-Klasse mit einem Satz
- von Login-Fähigkeiten verbunden ist. Eine Login-Fähigkeit
- ist ein <literal>Name=Wert
- </literal> Paar, in dem <replaceable>Name</replaceable>
- die Fähigkeit bezeichnet und <replaceable>Wert</replaceable>
- ein willkürlicher Text ist, der je nach <replaceable>Name
- </replaceable> entsprechend verarbeitet wird. Login-Klassen und
- -Fähigkeiten zu definieren, ist fast schon selbsterklärend
- und wird auch in &man.login.conf.5; beschrieben.</para>
-
- <note>
- <para>Das System verwendet die Datei
- <filename>/etc/login.conf</filename> normalerweise nicht direkt,
- sondern nur über die Datenbank
- <filename>/etc/login.conf.db</filename>, da diese eine
- schnellere Abfrage erlaubt. Der nachstehende Befehl erzeugt die
- Datenbank <filename>/etc/login.conf.db</filename> aus der Datei
- <filename>/etc/login.conf</filename>:</para>
-
- <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
- </note>
-
- <para>Ressourcenbeschränkungen unterscheiden sich von normalen
- Login-Fähigkeiten zweifach. Erstens gibt es für jede
- Beschränkung ein aktuelles und ein maximales Limit. Das
- aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig
- bis zum maximalen Limit verändert werden. Letzteres kann
- der Benutzer nur heruntersetzen. Zweitens gelten die meisten
- Ressourcenbeschränkungen für jeden vom Benutzer
- gestarteten Prozess, nicht für den Benutzer selbst.
- Beachten Sie jedoch, dass diese Unterschiede durch das spezifische
- Einlesen der Limits und nicht durch das System der
- Login-Fähigkeiten entstehen (das heißt,
- Ressourcenbeschränkungen sind <emphasis>keine</emphasis>
- Login-Fähigkeiten).</para>
-
- <para>Hier befinden sich die am häufigsten benutzten
- Ressourcenbeschränkungen (der Rest kann zusammen mit den
- anderen Login-Fähigkeiten in &man.login.conf.5; gefunden
- werden):</para>
-
- <variablelist>
- <varlistentry>
- <term><literal>coredumpsize</literal></term>
-
- <listitem>
- <indexterm><primary>coredumpsize</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>coredumpsize</secondary>
- </indexterm>
- <para>Das Limit der Größe einer core-Datei, die
- von einem Programm generiert wird, unterliegt aus
- offensichtlichen Gründen anderen Limits der
- Festplattenbenutzung (zum Beispiel <literal>filesize</literal>
- oder Festplattenkontingenten). Es wird aber trotzdem
- oft als weniger harte Methode zur Kontrolle des
- Festplattenplatz-Verbrauchs verwendet: Da Benutzer die
- core-Dateien nicht selbst erstellen, und sie oft nicht
- löschen, kann sie diese Option davor retten, dass
- ihnen kein Festplattenspeicher mehr zur Verfügung
- steht, sollte ein großes Programm, wie
- <application>emacs</application>, abstürzen.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>cputime</literal></term>
-
- <listitem>
- <indexterm><primary>cputime</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>cputime</secondary>
- </indexterm>
- <para>Die maximale Rechenzeit, die ein Prozess eines Benutzers
- verbrauchen darf. Überschreitet der Prozess diesen Wert,
- wird er vom Kernel beendet.</para>
-
- <note>
- <para>Die Rechen<emphasis>zeit</emphasis> wird limitiert,
- nicht die prozentuale Prozessorenbenutzung, wie es in
- einigen Feldern in &man.top.1; und &man.ps.1; dargestellt
- wird. Letzteres war zu der Zeit, als dies hier geschrieben
- wurde nicht möglich und würde eher nutzlos sein:
- Ein Compiler &ndash; ein wahrscheinlich legitimer
- Vorgang &ndash; kann leicht fast 100% des Prozessors in
- Anspruch nehmen.</para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>filesize</literal></term>
-
- <listitem>
- <indexterm><primary>filesize</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>filesize</secondary>
- </indexterm>
- <para>Hiermit lässt sich die maximale Größe einer Datei
- bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu
- <link linkend="quotas">Festplattenkontingenten</link> ist diese
- Beschränkung nur für jede einzelne Datei gültig
- und nicht für den Platz, den alle Dateien eines Benutzers
- verwenden.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>maxproc</literal></term>
-
- <listitem>
- <indexterm><primary>maxproc</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>maxproc</secondary>
- </indexterm>
- <para>Das ist die maximale Anzahl von Prozessen, die ein
- Benutzer starten darf, und beinhaltet sowohl Vordergrund-
- als auch Hintergrundprozesse. Natürlich darf dieser
- Wert nicht höher sein als das System-Limit, das in
- <varname>kern.maxproc</varname> angegeben ist. Vergessen
- Sie auch nicht, dass ein zu kleiner Wert den Benutzer in
- seiner Produktivität einschränken könnte;
- es ist oft nützlich, mehrfach eingeloggt zu sein, oder
- <foreignphrase>Pipelines</foreignphrase>
- <footnote>
- <para><foreignphrase>Pipeline</foreignphrase> =
- <emphasis>Leitung</emphasis>.
- Mit <foreignphrase>Pipes</foreignphrase> sind Verbindungen
- zwischen zwei Sockets in meistens zwei verschiedenen
- Prozessen gemeint.</para>
- </footnote>
- zu verwenden. Ein paar Aufgaben, wie die Kompilierung eines
- großen Programms, starten mehrere Prozesse (zum Beispiel
- &man.make.1;, &man.cc.1; und andere).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>memorylocked</literal></term>
-
- <listitem>
- <indexterm><primary>memorylocked</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>memorylocked</secondary>
- </indexterm>
- <para>Dieses Limit gibt an, wie viel virtueller Speicher von einem
- Prozess maximal im Arbeitsspeicher festgesetzt werden kann.
- (siehe auch &man.mlock.2;). Ein paar systemkritische Programme,
- wie &man.amd.8;, verhindern damit einen Systemzusammenbruch, der
- auftreten könnte, wenn sie aus dem Speicher genommen werden.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>memoryuse</literal></term>
-
- <listitem>
- <indexterm><primary>memoryuse</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>memoryuse</secondary>
- </indexterm>
- <para>Bezeichnet den maximalen Speicher, den ein Prozess benutzen
- darf und beinhaltet sowohl Arbeitsspeicher-, als auch Swap-
- Benutzung. Es ist kein allübergreifendes Limit für
- den Speicherverbrauch, aber ein guter Anfang.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>openfiles</literal></term>
-
- <listitem>
- <indexterm><primary>openfiles</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>openfiles</secondary>
- </indexterm>
- <para>Mit diesem Limit lässt sich die maximale Anzahl
- der von einem Prozess des Benutzers geöffneten Dateien
- festlegen. In FreeBSD werden Dateien auch verwendet, um Sockets
- und <foreignphrase>IPC</foreignphrase>-Kanäle
- <footnote>
- <para><foreignphrase>IPC</foreignphrase> steht für
- <foreignphrase>Interprocess Communication</foreignphrase>.
- </para>
- </footnote>
- darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das
- System-Limit ist im <varname>kern.maxfiles</varname>
- &man.sysctl.8; definiert.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>sbsize</literal></term>
-
- <listitem>
- <indexterm><primary>sbsize</primary></indexterm>
- <indexterm>
- <primary>Benutzer einschränken</primary>
- <secondary>sbsize</secondary>
- </indexterm>
- <para>Dieses Limit beschränkt den Netzwerk-Speicher, und damit
- die mbufs, die ein Benutzer verbrauchen darf. Es stammt aus einer
- Antwort auf einen DoS-Angriff, bei dem viele Netzwerk-Sockets
- geöffnet wurden, kann aber generell dazu benutzt werden
- Netzwerk-Verbindungen zu beschränken.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><literal>stacksize</literal></term>
-
- <listitem>
- <para>Das ist die maximale Größe, auf die der Stack
- eines Prozesses heranwachsen darf. Das allein ist natürlich
- nicht genug, um den Speicher zu beschränken, den ein Programm
- verwenden darf. Es sollte deshalb in Verbindung mit anderen
- Limits gesetzt werden.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Beim Setzen von Ressourcenbeschränkungen sind noch andere
- Dinge zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen
- und verschiedene Kommentare.</para>
-
- <itemizedlist>
- <listitem>
- <para>Von <filename>/etc/rc</filename> beim Hochfahren des Systems
- gestartete Prozesse werden der <literal>daemon</literal>
- Login-Klasse zugewiesen.</para>
- </listitem>
-
- <listitem>
- <para>Obwohl das mitgelieferte <filename>/etc/login.conf</filename>
- eine Quelle von vernünftigen Limits darstellt, können nur
- Sie, der Administrator, wissen, was für Ihr System angebracht
- ist. Ein Limit zu hoch anzusetzen könnte Ihr System für
- Missbrauch öffnen, und ein zu niedriges Limit der
- Produktivität einen Riegel vorschieben.</para>
- </listitem>
-
- <listitem>
- <para>Benutzer des X-Window Systems (X11) sollten wahrscheinlich
- mehr Ressourcen zugeteilt bekommen als andere Benutzer. X11
- beansprucht selbst schon eine Menge Ressourcen, verleitet die
- Benutzer aber auch, mehrere Programme gleichzeitig laufen zu
- lassen.</para>
- </listitem>
-
- <listitem>
- <para>Bedenken Sie, dass viele Limits für einzelne Prozesse
- gelten und nicht für den Benutzer selbst. Setzt man
- zum Beispiel <varname>openfiles</varname> auf 50, kann jeder
- Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch
- ist die maximale Anzahl von Dateien, die von einem Benutzer
- geöffnet werden können, <literal>openfiles</literal>
- mal <literal>maxproc</literal>. Das gilt auch für den
- Speicherverbrauch.</para>
- </listitem>
- </itemizedlist>
-
- <para>Weitere Informationen über
- Ressourcenbeschränkungen, Login-Klassen und -Fähigkeiten
- enthalten die Hilfeseiten
- &man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;.</para>
- </sect1>
-
- <sect1 xml:id="users-groups">
- <title>Gruppen</title>
-
- <indexterm><primary>Gruppen</primary></indexterm>
- <indexterm>
- <primary><filename>/etc/groups</filename></primary>
- </indexterm>
- <indexterm>
- <primary>Accounts</primary>
- <secondary>Gruppen</secondary>
- </indexterm>
- <para>Eine Gruppe ist einfach eine Zusammenfassung von Accounts.
- Gruppen werden durch den Gruppennamen und die GID (group ID)
- identifiziert. Der Kernel von FreeBSD (und den meisten anderen &unix;
- Systemen) entscheidet anhand der UID und der Gruppenmitgliedschaft
- eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Im
- Unterschied zur UID kann ein Prozess zu einer Reihe von Gruppen
- gehören. Wenn jemand von der GID eines
- Benutzers oder Prozesses spricht, meint er damit meistens die erste
- Gruppe der Gruppenliste.</para>
-
- <para>Die Zuordnung von Gruppennamen zur GID steht in
- <filename>/etc/group</filename>, einer Textdatei mit vier durch
- Doppelpunkte getrennten Feldern. Im ersten Feld steht der
- Gruppenname, das zweite enthält ein verschlüsseltes
- Passwort, das dritte gibt die GID an und das vierte besteht aus einer
- Komma separierten Liste der Mitglieder der Gruppe. Diese Datei kann
- einfach editiert werden (natürlich nur, wenn Sie dabei keine
- Syntaxfehler machen). Eine ausführliche Beschreibung der Syntax
- dieser Datei finden Sie in &man.group.5;.</para>
-
- <para>Wenn Sie <filename>/etc/group</filename> nicht händisch
- editieren möchten, können Sie &man.pw.8; zum Editieren
- benutzen. Das folgende Beispiel zeigt das Hinzufügen einer
- Gruppe mit dem Namen <systemitem class="groupname">teamtwo</systemitem>:</para>
-
- <example>
- <title>Setzen der Mitgliederliste einer Gruppe mit &man.pw.8;</title>
-
- <screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput>
-&prompt.root; <userinput>pw groupshow teamtwo</userinput>
-teamtwo:*:1100:</screen>
- </example>
-
- <para>Die Zahl <literal>1100</literal> ist die GID der Gruppe
- <systemitem class="groupname">teamtwo</systemitem>. Momentan hat
- <systemitem class="groupname">teamtwo</systemitem> noch keine Mitglieder und ist daher
- ziemlich nutzlos. Um das zu ändern, nehmen wir nun
- <systemitem class="username">jru</systemitem> in <systemitem class="groupname">teamtwo</systemitem>
- auf.</para>
-
- <example>
- <title>Ein Gruppenmitglied mit <command>pw</command>
- hinzufügen</title>
-
- <screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput>
-&prompt.root; <userinput>pw groupshow teamtwo</userinput>
-teamtwo:*:1100:jru</screen>
- </example>
-
- <para>Als Argument von <option>-M</option> geben Sie eine Komma
- separierte Liste von Mitgliedern an, die in die Gruppe aufgenommen
- werden sollen. Aus den vorherigen Abschnitten ist bekannt, dass die
- Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer
- enthält. Das System teilt dem Benutzer automatisch eine Gruppe
- zu, die aber vom <option>groupshow</option> Kommando von &man.pw.8;
- nicht angezeigt wird. Diese Information wird allerdings von
- &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt,
- dass &man.pw.8; nur <filename>/etc/group</filename> manipuliert,
- es wird nicht versuchen, zusätzliche Informationen aus
- <filename>/etc/passwd</filename> zu lesen.</para>
-
- <example>
- <title>Hinzufügen eines neuen Gruppenmitglieds mittels
- &man.pw.8;</title>
-
- <screen>&prompt.root; <userinput>pw groupmod teamtwo -m db</userinput>
-&prompt.root; <userinput>pw groupshow teamtwo</userinput>
-teamtwo:*:1100:jru,db</screen>
- </example>
-
- <para>Die Argumente zur Option <option>-m</option> ist eine durch Komma
- getrennte Liste von Benutzern, die der Gruppe hinzugefügt werden
- sollen. Anders als im vorherigen Beispiel werden diese Benutzer in die
- Gruppe aufgenommen und ersetzen nicht die Liste der bereits bestehenden
- Benutzer in der Gruppe.</para>
-
- <example>
- <title>Mit <command>id</command> die Gruppenzugehörigkeit
- bestimmen</title>
-
- <screen>&prompt.user; <userinput>id jru</userinput>
-uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen>
- </example>
-
- <para>Wie Sie sehen, ist <systemitem class="username">jru</systemitem> Mitglied von
- <systemitem class="groupname">jru</systemitem> und <systemitem class="groupname">teamtwo</systemitem>.</para>
-
- <para>Weitere Informationen entnehmen Sie bitte &man.pw.8;.</para>
- </sect1>
-</chapter>

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 20, 4:54 PM (11 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31852098
Default Alt Text
D5326.diff (85 KB)

Event Timeline