Update to r44401:

Editorial review of Resource Limits.
rctl(8) does not mention its kernel config options.
This commit is contained in:
Bjoern Heidotting 2016-05-14 12:01:28 +00:00
parent 37d2da8a70
commit ad5339df72
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48812

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/security/chapter.xml,v 1.178 2012/04/30 17:07:41 bcr Exp $
basiert auf: r44400
basiert auf: r44401
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security">
<info><title>Sicherheit</title>
@ -3765,7 +3765,7 @@ UWWemqWuz3lAZuORQ9KX
<primary>Ressourcen einschränken</primary>
</indexterm>
<para>Seit Jahren benutzt &os; die Datenbank
<para>&os; benutzt die Datenbank
<filename>/etc/login.conf</filename> um Ressourcen zu
beschränken. Obwohl dies immer noch unterstützt wird, ist es
nicht die optimale Methode um die Beschränkung von Ressourcen zu
@ -3780,32 +3780,38 @@ UWWemqWuz3lAZuORQ9KX
werden. Dieser Prozess kann sehr zeitaufwendig sein, abhängig
davon, wie viele Benutzer bearbeitet werden müssen.</para>
<para>Mit &man.rctl.8; können Ressourcen für Benutzer sehr
detailliert gesteuert werden. Die Befehl unterstützt nicht
nur die Kontrolle der Ressourcen für Benutzer, sondern auch
die Beschränkung auf Prozesse, Jails und den ursprünglichen
Login-Klassen. Diese erweiterten Funktionen bieten
Administratoren und Benutzern die Möglichkeit, Ressourcen über
die Kommandozeile oder über eine Konfigurationsdatei zu
steuern.</para>
<para>Beginnend mit &os;&nbsp;9.0-RELEASE können mit &man.rctl.8;
Ressourcen für Benutzer sehr detailliert gesteuert werden.
Dieser Befehl unterstützt nicht nur die Kontrolle der Ressourcen
für Benutzer, sondern auch die Beschränkung auf Prozesse, Jails
und den ursprünglichen Login-Klassen. Diese erweiterten
Funktionen bieten Administratoren und Benutzern die Möglichkeit,
Ressourcen über die Kommandozeile oder über eine
Konfigurationsdatei zu steuern.</para>
<para>Um diese Eigenschaft zu aktivieren, fügen Sie folgende Zeile
in die Kernelkonfigurationsdatei:</para>
<sect2>
<title>Einschränkung von Ressourcen aktivieren und
konfigurieren</title>
<para>In der Voreinstellung wird <command>rctl</command> nicht
vom Kernel unterstützt. Sie müssen also zunächst nach den
Anweisungen in <xref linkend="kernelconfig"/> einen neuen
Kernel erzeugen. Fügen Sie folgende Zeilen in die
Kernelkonfigurationsdatei ein:</para>
<programlisting>options RACCT
options RCTL</programlisting>
<para>Das System muss nun neu übersetzt werden. Dieser Vorgang
wird in <xref linkend="kernelconfig"/> beschrieben.
Anschließend kann <command>rctl</command> benutzt werden, um
die Regeln für das System festzulegen.</para>
<para>Sobald das System mit dem neuen Kernel gestartet wird, kann
<command>rctl</command> benutzt werden, um die Regeln für das
System festzulegen.</para>
<para>Die Syntax der Regeln ist einfach und wird durch
<para>Die Syntax der Regeln wird durch
<emphasis>subject</emphasis>, <emphasis>subject-id</emphasis>,
<emphasis>resource</emphasis> und <emphasis>action</emphasis>
gesteuert. Hier ein Beispiel für eine Regel:</para>
gesteuert, wie in diesem Beispiel zu sehen ist:</para>
<programlisting>user:trhodes:<literal>maxproc</literal>:<literal>deny</literal>=10/user</programlisting>
<programlisting>user:trhodes:maxproc:deny=10/user</programlisting>
<para>Diese Regel zeigt den grundlegenden Aufbau, hier mit dem
Subjekt <literal>user</literal> und der Subjekt-ID
@ -3814,18 +3820,17 @@ options RCTL</programlisting>
<literal>deny</literal> verhindert, dass neue Prozesse erstellt
werden. Im vorherigen Beispiel wurde für den Benutzer
<literal>trhodes</literal> eine Beschränkung von
<literal>10</literal> (zehn) Prozessen konfiguriert. Es sind
noch weitere Aktionen verfügbar, beispielsweise die
Protokollierung auf der Konsole, Benachrichtigungen an
&man.devd.8; oder das Senden eines <literal>SIGTERM</literal>
an einen Prozess.</para>
<literal>10</literal> Prozessen konfiguriert. Zu den weiteren
Aktionen zählen beispielsweise die Protokollierung auf der
Konsole, Benachrichtigungen an &man.devd.8; oder das Senden
eines <literal>SIGTERM</literal> an einen Prozess.</para>
<para>Beim hinzufügen von Regeln müssen einige Dinge beachtet
werden. Das obige Beispiel würde den Benutzer sogar daran
hindern, einfachste Dinge zu tun, nachdem er sich anmeldet und
eine <command>screen</command> Sitzung gestartet hat. Sobald
die Begrenzung für eine Ressource erreicht ist, wird folgende
Meldung ausgegeben:</para>
Fehlermeldung ausgegeben:</para>
<screen>&prompt.root; <userinput>man test</userinput>
/usr/bin/man: Cannot fork: Resource temporarily unavailable
@ -3850,7 +3855,7 @@ jail:httpd:memoryuse:deny=2G/jail</programlisting>
<screen>&prompt.root; <userinput>rctl -r user:trhodes:maxproc:deny=10/user</userinput></screen>
<para>Die Manualpage zeigt auch eine Möglichkeit, alle Regeln zu
<para>&man.rctl.8; zeigt auch eine Möglichkeit, alle Regeln zu
entfernen. Falls es erforderlich ist alle Regeln für einen
einzelnen Benutzer zu entfernen, kann dieser Befehl verwendet
werden:</para>
@ -3861,5 +3866,6 @@ jail:httpd:memoryuse:deny=2G/jail</programlisting>
können, um zusätzliche <literal>subjects</literal> zu
kontrollieren. Weitere Informationen zu diesem Thema finden Sie
in &man.rctl.8;.</para>
</sect2>
</sect1>
</chapter>