Sync with original rev. 1.7

Submitted by:	Robert Drehmel <robert@gizmo.quizbot.org>
Obtained from:	FreeBSD German Documentation Project
This commit is contained in:
Alexander Langer 2001-12-20 23:41:50 +00:00
parent 8e8a08caab
commit 718e833497
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=11481

View file

@ -2,10 +2,9 @@
The FreeBSD Documentation Project
The FreeBSD German Documentation Project
Original Revision 1.4
Original Revision 1.7
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/users/chapter.sgml,v 1.2 2001/03/23 07:28:36 robert Exp $
$FreeBSDde: de-docproj/books/handbook/users/chapter.sgml,v 1.5 2001/12/14 17:48:39 mheinen Exp $
-->
<chapter id="users">
@ -109,7 +108,7 @@
<title>Accounts ver&auml;ndern</title>
<para><application>pw</application> ist ein m&auml;chtiges und flexibles
Mittel f&uuml;r zum &Auml;ndern von Accounts, aber <application>adduser
Mittel zum &Auml;ndern von Accounts, aber <application>adduser
</application> wird empfohlen zum Erstellen und <application>rmuser
</application> zum L&ouml;schen von Accounts.</para>
@ -408,23 +407,267 @@ passwd: done</screen>
</sect2>
</sect1>
<sect1 id="users-limiting-and-personalizing">
<title>Benutzer einschr&auml;nken und personalisieren</title>
<sect1 id="users-limiting">
<title>Benutzer einschr&auml;nken</title>
<para>Kontigente erlauben dem Systemadministrator
Benutzungsbeschr&auml;nkungen der Festplatte festzusetzen und Benutzern
ihre Festplattenbenutzung zu &uuml;berpr&uuml;fen, wenn Kontigente
auf dem System verwendet werden. Kontigente werden in ihrem
<para>Wenn Sie ein System mit mehreren Benutzern laufen lassen, ist es
wahrscheinlich, dass Sie nicht allen Benutzern vertrauen das System
nicht zu besch&auml;digen. FreeBSD bietet dem Systemadministrator
mehrere M&ouml;glichkeiten die System-Ressourcen einzuschr&auml;nken,
die ein einzelner Benutzer verwenden kann. Diese Limitierungen sind
in zwei Kategorien eingeteilt: Festplattenkontingente und andere
Ressourcenbeschr&auml;nkungen. Kontingente werden in
<!--
<link linkend="quotas">eigenen Kapitel</link>
<xref linkend="quotas"> diskutiert.</para>
-->
eigenen Kapitel
besprochen.</para>
einem noch nicht &uuml;bersetzen Kapitel diskutiert.</para>
<para>Die Lokalisierung ist eine Umgebung, die vom Systemadministrator oder
Benutzer eingerichtet wird, um verschiedene Sprachen, Zeichens&auml;tze,
Datum- und Zeitstandards und so weiter unterzubringen. Dies wird im
Kapitel &uuml;ber die
<para>Festplatten-Kontingente sind ein Weg f&uuml;r den
Systemadministrator dem Dateisystem mitzuteilen, wieviel Speicher
ein Benutzer verwenden darf. Mit ihrer Hilfe kann man auch die
Gr&ouml;&szlig;e des von einem Benutzer verwendeten Platzes
&uuml;berpr&uuml;fen, ohne jedes mal neu berechnen zu m&uuml;ssen.
</para>
<para>Die Login-Klassen werden in <filename>/etc/login.conf</filename>
definiert. Auf die pr&auml;zisen Semantiken gehen wir hier nicht
weiter ein, sie k&ouml;nnen jedoch in der &man.login.conf.5; manpage
nachgelesen werden. Es ist ausreichend zu sagen, dass jeder
Benutzer einer Login-Klasse zugewiesen wird (standardm&auml;ssig
<literal>default</literal>) und dass jede Login-Klasse mit einem Satz
von Login-F&auml;higkeiten verbunden ist. Eine Login-F&auml;higkeit
ist ein <literal><replaceable>Name</replaceable>=<replaceable>Wert
</replaceable></literal> Paar, in dem <replaceable>Name</replaceable>
die F&auml;higkeit bezeichnet und <replaceable>Wert</replaceable>
ein willk&uuml;rlicher Text ist, der je nach <replaceable>Name
</replaceable> entsprechend verarbeitet wird. Login-Klassen und
-F&auml;higkeiten zu definieren ist fast schon selbsterkl&auml;rend
und wird auch in &man.login.conf.5; beschrieben.</para>
<para>Ressourcenbeschr&auml;nkungen unterscheiden sich von normalen
Login-F&auml;higkeiten zweifach. Erstens gibt es f&uuml;r jede
Beschr&auml;nkung ein aktuelles und ein maximales Limit. Das
aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig
bis zum maximalem Limit ver&auml;ndert werden. Letzteres kann
der Benutzer nur heruntersetzen. Zweitens gelten die meisten
Ressourcenbeschr&auml;nkungen f&uuml;r jeden vom Benutzer
gestarteten Prozess, nicht f&uuml;r den Benutzer selbst.
Beachten Sie jedoch, dass diese Unterschiede durch das spezifische
Einlesen der Limits und nicht durch die Implementation der
Login-F&auml;higkeiten entstehen (das heisst, sie sind kein
<emphasis>wirklich</emphasis> spezieller Fall der
Login-F&auml;higkeiten).</para>
<para>Hier befinden sich die am h&auml;ufigsten benutzten
Ressourcenbeschr&auml;nkungen (der Rest kann zusammen mit den
anderen Login-F&auml;higkeiten in &man.login.conf.5; gefunden
werden):</para>
<variablelist>
<varlistentry>
<term><literal>coredumpsize</literal></term>
<listitem>
<para>Das Limit der Gr&ouml;&szlig;e einer core-Datei, die
von einem Programm generiert wird, unterliegt aus
offensichtlichen Gr&uuml;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&ouml;schen, kann sie diese Option davor retten, dass
ihnen kein Festplattenspeicher mehr zur Verf&uuml;gung
steht, sollte ein grosses Programm (wie Emacs)
abst&uuml;rzen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>cputime</literal></term>
<listitem>
<para>Die maximale Rechenzeit, die ein Prozess eines Benutzers
verbrauchen darf. &Uuml;berschreitet der Prozess diesen Wert,
wird er vom Kernel beendet.
<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&ouml;glich und w&uuml;rde eher nutzlos sein:
Ein Compiler&mdash;ein wahrscheinlich legitimer
Vorgang&mdash; kann leicht fast 100% des Prozessors in
Anspruch nehmen.</para>
</note>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>filesize</literal></term>
<listitem>
<para>Hiermit l&auml;sst sich die maximale gr&ouml;sse einer Datei
bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu
<!--
<link linkend="quotas">Festplattenkontingenten</link> ist diese
-->
Festplattenkontingenten ist diese
Beschr&auml;nkung nur f&uuml;r jede einzelne Datei g&uuml;ltig
und nicht f&uuml;r den Platz, den alle Dateien eines Benutzers
verwenden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>maxproc</literal></term>
<listitem>
<para>Das ist die maximale Anzahl von Prozessen, die ein
Benutzer starten darf, und beinhaltet sowohl Vordergrund-
als auch Hintergrundprozesse. Nat&uuml;rlich darf dieser
Wert nicht h&ouml;her sein als das System-Limit, das in
<literal>kern.maxproc</literal> angegeben ist. Vergessen
Sie auch nicht, dass ein zu kleiner Wert den Benutzer in
seiner Produktivit&auml;t einschr&auml;nken k&ouml;nnte;
es ist oft n&uuml;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
grossen Programms, starten mehrere Prozesse (zum Beispiel
&man.make.1;, &man.cc.1; und andere).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>memorylocked</literal></term>
<listitem>
<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&ouml;nnte, wenn sie aus dem Speicher genommen werden.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>memoryuse</literal></term>
<listitem>
<para>Bezeichnet den maximalen Speicher, den ein Prozess benutzen
darf und beinhaltet sowohl Arbeitsspeicher-, als auch Swap-
Benutzung. Es ist kein all&uuml;bergreifendes Limit f&uuml;r
den Speicherverbrauch, aber ein guter Anfang.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>openfiles</literal></term>
<listitem>
<para>Mit diesem Limit l&auml;sst sich die maximale Anzahl
der von einem Prozess des Benutzers ge&ouml;ffneten Dateien
festlegen. In FreeBSD werden Dateien auch verwendet, um Sockets
und <foreignphrase>IPC</foreignphrase>-Kan&auml;le
<footnote>
<para><foreignphrase>IPC</foreignphrase> steht f&uuml;r
<foreignphrase>Interprocess Communication</foreignphrase>.
</para>
</footnote>
darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das
System-Limit ist im <literal>kern.maxfiles</literal> sysctl
definiert.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>sbsize</literal></term>
<listitem>
<para>Dieses Limit beschr&auml;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&ouml;ffnet wurden, kann aber generell dazu benutzt werden
Netzwerk-Verbindungen zu beschr&auml;nken.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>stacksize</literal></term>
<listitem>
<para>Das ist die maximale Gr&ouml;&szlig;e, auf die der Stack
eines Prozesses heranwachsen darf. Das allein ist nat&uuml;rlich
nicht genug um den Speicher zu beschr&auml;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&auml;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&uuml;nftigen Limits darstellt, k&ouml;nnen nur
Sie, der Administrator, wissen, was f&uuml;r Ihr System angebracht
ist. Ein Limit zu hoch anzusetzen k&ouml;nnte Ihr System f&uuml;r
Missbrauch &ouml;ffnen, und ein zu niedriges Limit der
Produktivit&auml;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&uuml;r einzelne Prozesse
gelten und nicht f&uuml;r den Benutzer selbst. Setzt man
zum Beispiel <literal>openfiles</literal> auf 50, kann jeder
Prozess des Benutzers bis zu 50 Dateien &ouml;ffnen. Dadurch
ist die maximale Anzahl von Dateien, die von einem Benutzer
ge&ouml;ffnet werden k&ouml;nnen, <literal>openfiles</literal>
mal <literal>maxproc</literal>. Das gilt auch f&uuml;r den
Speicherverbrauch.</para>
</listitem>
</itemizedlist>
<para>F&uuml;r weitere Informationen &uuml;ber
Ressourcenbeschr&auml;nkungen, Login-Klassen und -F&auml;higkeiten
generell, sehen Sie sich die entsprechenden Manual Pages an:
&man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;.</para>
</sect1>
<sect1 id="users-personalizing">
<title>Benutzer personalisieren</title>
<para>Die Lokalisierung ist eine Umgebung, die vom Systemadministrator
oder Benutzer eingerichtet wird, um verschiedene Sprachen,
Zeichens&auml;tze, Datum- und Zeitstandards und so weiter
unterzubringen. Dies wird im Kapitel &uuml;ber die
<!--
<link linkend="l10n">Lokalisierung</link>
-->