/proc/sys/fs/ - Kernel-Variablen mit Bezug zu Dateisystemen
- /proc/sys/fs/
- Dieses Verzeichnis enthält die Dateien und Unterverzeichnisse
für Kernel-Variablen in Zusammenhang mit Dateisystemen.
- /proc/sys/fs/aio-max-nr und /proc/sys/fs/aio-nr (seit Linux
2.6.4)
- aio-nr ist die laufende Gesamtsumme der Anzahl von Ereignissen, die
mit io_setup(2)-Aufrufen für alle derzeit aktiven
AIO-Kontexte festgelegt wurde. Falls aio-nr aio-max-nr
erreicht, dann wird io_setup(2) mit dem Fehler EAGAIN
fehlschlagen. Erhöhen von aio-max-nr führt nicht zu
einer Vorbelegung oder Vergrößerung irgendwelcher
Kernel-Datenstrukturen.
- /proc/sys/fs/binfmt_misc
- Dokumentation für Dateien in diesem Verzeichnis kann in den
Linux-Kernelquellen in der Datei
Documentation/admin-guide/binfmt-misc.rst (oder in
Documentation/binfmt_misc.txt auf älteren Kerneln) gefunden
werden.
- /proc/sys/fs/dentry-state (seit Linux 2.2)
- Diese Datei enthält Informationen über den Zustand des
Verzeichnis-Zwischenspeichers (directory cache,dcache). Die Datei
enthält sechs Zahlen: nr_dentry, nr_unused,
age_limit (Alter in Sekunden), want_pages (vom System
angeforderte Seiten) und zwei Dummy-Werte.
- •
- nr_dentry ist die Anzahl der zugewiesenen Dentries (dcache
entries). Dieses Feld wird in Linux 2.2 nicht genutzt.
- •
- nr_unused ist die Anzahl ungenutzter Dentries.
- •
- age_limit ist das Alter in Sekunden, nach dem
Dcache-Einträge bei Speicherknappheit zurückgefordert werden
können.
- •
- want_pages ist ungleich null, wenn der Kernel shrink_dcache_pages()
aufgerufen hat und der Dcache noch nicht bereinigt ist.
- /proc/sys/fs/dir-notify-enable
- Diese Datei kann genutzt werden, um die in fcntl(2) beschriebene
dnotify-Schnittstelle auf systemweiter Basis zu aktivieren oder zu
deaktivieren. Ein Wert von 0 in dieser Datei deaktiviert die
Schnittstelle, ein Wert von 1 aktiviert sie.
- /proc/sys/fs/dquot-max
- Diese Datei zeigt die maximale Anzahl von zwischengespeicherten
Kontingent-Einträgen für die Festplatte. Auf einigen
(2.4)-Systemen ist sie nicht vorhanden. Wenn die Anzahl der freien
Festplatten-Kontingent-Einträge im Cache sehr klein ist und Sie
haben eine außergewöhnliche Anzahl gleichzeitiger
Systembenutzer, möchten Sie vielleicht diesen Grenzwert
erhöhen.
- /proc/sys/fs/dquot-nr
- Diese Datei zeigt die Anzahl zugewiesener und die Anzahl freier
Plattenkontingent-Einträge.
- /proc/sys/fs/epoll/ (seit Linux 2.6.28)
- Dieses Verzeichnis enthält die Datei max_user_watches, mit
der der insgesamt von der epoll-Schnittstelle beanspruchte
Kernel-Speicher begrenzt werden kann. Weitere Einzelheiten finden Sie in
epoll(7).
- /proc/sys/fs/file-max
- Diese Datei legt eine systemweite Grenze für die Anzahl offener
Dateien für alle Prozesse fest. Systemaufrufe, die beim Erreichen
dieser Grenze fehlschlagen, schlagen mit dem Fehler ENFILE fehl.
(Siehe auch setrlimit(2), mit der ein Prozess seine
prozess-spezifische Begrenzung, RLIMIT_NOFILE, für die
Anzahl zu öffnender Dateien festlegen kann.) Wenn Sie viele
Fehlermeldungen im Kernelprotkoll über nicht ausreichende
Datei-Handles (offene Dateideskriptoren) bekommen (suchen Sie nach
»VFS: file-max limit <number> reached«), versuchen Sie
es mit einer Vergrößerung des Wertes:
-
echo 100000 > /proc/sys/fs/file-max
- Ein privilegierter Prozess (CAP_SYS_ADMIN) kann die Begrenzung
file-max außer Kraft setzen.
- /proc/sys/fs/file-nr
- Diese (nur lesbare) Datei enthält drei Zahlen: die Anzahl der
belegten Datei-Handles (d.h. die Anzahl der offenen Dateiedeskriptoren;
siehe open(2)); die Anzahl der freien Datei-Handles und die
maximale Anzahl an Datei-Handles (d.h. der gleiche Wert wie
/proc/sys/fs/file-max). Falls die Anzahl an belegten Datei-Handles
nahe dem Maximalwert ist, sollten Sie in Betracht ziehen, das Maximum zu
erhöhen. Vor Linux 2.6 belegte der Kernel Datei-Handles dynamisch,
aber gab sie nicht wieder frei. Stattdessen wurden die freien
Datei-Handles in einer Liste zur Neubelegung verwaltet, der Wert
»free file handles« zeigt die Größe dieser
Liste an. Ein große Anzahl an freien Datei-Handles zeigt an, dass
es in der Vergangenheit eine Benutzungsspitze für offene
Datei-Handles gab. Seit Linux 2.6 gibt der Kernel freigegebene
Datei-Handles wieder frei und der Wert »free file handles«
ist immer Null.
- /proc/sys/fs/inode-max (nur bis Linux 2.2 vorhanden)
- Diese Datei enthält die maximale Anzahl von im Speicher
befindlichen Inodes. Dieser Wert sollte drei- bis viermal
größer sein als der Wert von file-max, weil auch die
Bearbeitung von stdin, stdout und Netzwerk-Sockets einen
Inode erfordert. Wenn Ihnen regelmäßig die Inodes knapp
werden, müssen Sie diesen Wert erhöhen.
- Beginnend mit Linux 2.4 gibt es keine statische Begrenzung der Anzahl der
Inodes mehr und diese Datei wurde entfernt.
- /proc/sys/fs/inode-nr
- Diese Datei enthält die ersten zwei Werte von
inode-state.
- /proc/sys/fs/inode-state
- Diese Datei enthält sieben Zahlen: nr_inodes,
nr_free_inodes, preshrink und vier Dummy-Werte (immer
Null).
- nr_inodes ist die Anzahl der Inodes, die das System zugeteilt hat.
nr_free_inodes stellt die Anzahl der freien Inodes dar.
- preshrink ist von Null verschieden, wenn nr_inodes >
inode-max und das System die Inode-Liste abschneiden muss, statt
mehr zu belegen; seit Linux 2.4 ist das Feld ein Blindwert (immer
Null).
- /proc/sys/fs/inotify/ (seit Linux 2.6.13)
- Dieses Verzeichnis enthält die Dateien max_queued_events,
max_user_instances, und max_user_watches, mit denen der
Verbrauch von Kernel-Speicher durch die inotify-Schnittstelle
begrenzt werden kann. Weitere Einzelheiten finden Sie in
inotify(7).
- /proc/sys/fs/lease-break-time
- Diese Datei legt die Gnadenfrist fest, die der Kernel einem Prozess
gewährt, der über einen Dateiausleihe (fcntl(2))
verfügt, nachdem der Kernel dem Prozess signalisiert hat, das ein
anderer Prozess die Datei öffnen will. Wenn der Prozess innerhalb
dieser Frist die Ausleihe nicht entfernt oder herabstuft, wird der Kernel
die Ausleihe zwangsweise zurückziehen.
- /proc/sys/fs/leases-enable
- Mit dieser Datei können Dateiausleihen (fcntl(2)) systemweit
aktiviert oder deaktiviert werden. Wenn diese Datei den Wert 0
enthält, werden Ausleihen deaktiviert. Ein Wert ungleich null
aktiviert Ausleihen.
- /proc/sys/fs/mount-max (seit Linux 4.9)
- Der Wert in dieser Datei legt die maximale Anzahl an Einhängungen,
die in einem Einhängenamensraum existieren dürfen, fest. Der
Vorgabewert ist 100.000.
- /proc/sys/fs/mqueue/ (seit Linux 2.6.6)
- Dieses Verzeichnis enthält die Dateien msg_max,
msgsize_max und queues_max, die den Ressourcenverbrauch von
POSIX-Meldungswarteschlangen steuern. mq_overview(7) gibt weitere
Informationen.
- /proc/sys/fs/nr_open (seit Linux 2.6.25)
- Diese Datei erzwingt eine obere Grenze für den Wert, auf den die
Ressourcenbeschränkung RLIMIT_NOFILE erhöht werden
kann (siehe getrlimit(2)). Diese obere Grenze wird sowohl
für unprivilegierte als auch für privilegierte Prozesse
durchgesetzt. Der Vorgabewert in dieser Datei ist 1048576. (Vor Linux
2.6.25 war die obere Grenze für RLIMIT_NOFILE hart auf den
gleichen Wert einkodiert.)
- /proc/sys/fs/overflowgid und /proc/sys/fs/overflowuid
- Diese Dateien ermöglichen Ihnen, die festen Maximalwerte für
UID und GID zu ändern. Der Vorgabewert ist 65534. Einige
Dateisysteme unterstützen nur 16-Bit-UIDs und -GIDs, obwohl in
Linux UIDs und GIDs 32 Bit lang sind. Wenn eines dieser Dateisysteme
schreibbar eingehängt wird, würden alle UIDs oder GIDs, die
65535 überschreiten würden, vor dem Schreiben auf die Platte
in ihren Überlaufwert übersetzt werden.
- /proc/sys/fs/pipe-max-size (seit Linux 2.6.35)
- siehe pipe(7).
- /proc/sys/fs/pipe-user-pages-hard (seit Linux 4.5)
- siehe pipe(7).
- /proc/sys/fs/pipe-user-pages-soft (seit Linux 4.5)
- siehe pipe(7).
- /proc/sys/fs/protected_fifos (seit Linux 4.19)
- Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt
(werden):
- 0
- Schreiben in FIFOs ist nicht beschränkt.
- 1
- O_CREAT open(2) wird auf FIFOs, die dem Aufrufenden nicht
gehören und in für allen schreibbaren,
»sticky« Verzeichnissen liegen, nicht erlaubt, außer
der FIFO gehört dem Eigentümer des Verzeichnisses.
- 2
- Wie bei Wert 1, aber die Beschränkung trifft auch auch
Gruppen-schreibbare, »sticky« Verzeichnisse.
- Das Ziel der obigen Beschränkungen ist, unbeabsichtigtes Schreiben
in eine FIFO, die von einem Angreifer gesteuert wird, zu vermeiden, wenn
ein Programm erwartet, eine normale Datei zu erstellen.
- /proc/sys/fs/protected_hardlinks (seit Linux 3.6)
- Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen
bezüglich der Erstellung von harten Links gesetzt (d.h. dies ist
das historische Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1
ist, kann ein harter Link auf ein Ziel nur erstellt werden, falls einer
der folgenden Bedingungen zutrifft:
- •
- Der aufrufenden Prozess verfügt über die Capability
CAP_FOWNER in seinem Benutzernamensraum und die Datei-UID hat ein
Zuordnung in dem Namensraum.
- •
- Die Dateisystem-UID des Prozesses, der den Link erstellt, passt auf den
Eigentümer (UID) der Zieldatei (wie in credentials(7)
beschrieben, ist die Dateisystem-UID eines Prozesses normalerweise zu
seiner effektiven UID identisch).
- •
- Alle der folgenden Bedingungen sind wahr:
- •
- das Ziel ist eine reguläre Datei;
- •
- die Zieldatei hat nicht ihr Modus-Bit »set-user-ID«
aktiviert;
- •
- die Zieldatei hat nicht sowohl ihr Modus-Bit »set-user-ID«
als auch »group-executable« aktiviert; und
- •
- der Aufrufende hat Rechte, die Zieldatei zu lesen und zu schreiben
(entweder über die Dateiberechtigungsmaske oder weil er über
die geeigneten Capabilities verfügt).
- Der Vorgabewert in dieser Datei ist 0. Durch Setzen des Wertes auf 1 wird
eine lange existierende Klasse von Sicherheitsproblemen durch
hardlinkbasierte
Prüfungszeitpunkt-Nutzungszeitpunkt-Ressourcenwettläufe
verhindert, die meistens in weltschreibbaren Verzeichnissen wie
/tmp beobachtet wird. Die häufigste Ausnutzungsmethode
dieses Problems besteht darin, Privilegiengrenzen beim Folgen eines
gegebenen harten Links zu überschreiten (d.h. ein Root-Prozess
folgt einem harten Link, den ein anderer Benutzer erstellt hat).
Zusätzlich verhindert dies unberechtigte Benutzer auf Systemen ohne
separierte Partitionen vom »Festklemmen« verwundbarer
set-user-ID- und set-group-ID-Dateien gegen Upgrades durch den
Administrator oder dem Linken auf besondere Dateien.
- /proc/sys/fs/protected_regular (seit Linux 4.19)
- Der Wert in dieser Datei ist/kann auf eines der Folgenden gesetzt
(werden):
- 0
- Schreiben in normale Dateien ist nicht beschränkt.
- 1
- O_CREAT open(2) wird auf normale Dateien, die dem
Aufrufenden nicht gehören und in für allen schreibbaren,
»sticky« Verzeichnissen liegen, nicht erlaubt, außer
die normale Datei gehört dem Eigentümer des
Verzeichnisses.
- 2
- Wie bei Wert 1, aber die Beschränkung trifft auch auch
Gruppen-schreibbare, »sticky« Verzeichnisse.
- Das Ziel der obigen Beschränkungen ist ähnlich dem von
protected_fifos, erlaubt es aber Anwedungen, das Schreiben in
normale Dateien, die von einem Angreifer gesteuert werden, zu vermeiden,
wenn ein Programm erwartet, eine zu erstellen.
- /proc/sys/fs/protected_symlinks (seit Linux 3.6)
- Wenn der Wert in dieser Datei 0 ist, werden keine Einschränkungen
auf die folgenden symbolischen Links gesetzt (d.h. das historische
Verhalten vor Linux 3.6). Wenn der Wert in dieser Datei 1 ist, wird
symbolischen Links nur unter den folgenden Umständen gefolgt:
- •
- Die Dateisystem-UID des Prozesses, der dem symbolischen Link folgt, passt
auf den Eigentümer (UID) des symbolischen Links (wie in
credentials(7) beschrieben, ist die Dateisystem-UID eines Prozesses
normalerweise identisch zu seiner effektiven UID);
- •
- der Link ist nicht in einem weltschreibbaren Verzeichnis mit Sticky-Bit;
oder
- •
- der symbolische Link und sein Elternverzeichnis haben den gleichen
Eigentümer (UID).
- Ein Systemaufruf, der beim Folgen eines symbolischen Links wegen der
obigen Einschränkungen fehlschlägt, liefert den Fehler
EACCES in errno zurück.
- Der Vorgabewert in dieser Datei ist 0. Wird der Wert auf 1 gesetzt, wird
eine bereits lang existierende Klasse von Sicherheitsproblemen, die auf
Ressourcenwettläufen zwischen dem Zeitpunkt der
Überprüfung und dem Zeitpunkt der Verwendung beim Zugriff
auf symbolische Links basieren, vermieden.
- /proc/sys/fs/suid_dumpable (seit Linux 2.6.13)
- Der Wert in dieser Datei wird dem Schalter »dumpable« unter
den in prctl(2) beschriebenen Umständen zugewiesen. Der Wert
dieser Datei bestimmt schließlich, ob Speicherabbilder
(Core-Dump-Dateien) für Set-User-ID-Programme oder anderweitig
geschützte/unsaubere Binärprogramme erzeugt werden. Die
Einstellung »dumpable« betrifft auch die
Eigentümerschaft von Dateien im Verzeichnis /proc/PID eines
Prozesses, wie oben beschrieben.
- Es können drei verschiedene Ganzzahlwerte festgelegt werden:
- 0 (Standard)
- 0 (Standard) Das bewirkt das traditionelle Verhalten (vor
Linux 2.6.13). Ein Kernspeicherabzug wird nicht für Prozesse
erzeugt, die ihre Identität änderten (durch Aufruf von
seteuid(2), setgid(2) oder ähnliches oder durch das
Ausführen eines set-user-ID oder set-group-ID-Programms) oder deren
Binärprogramm nicht die Leseberechtigung aktiviert hat.
- 1 (»debug«)
- Alle Prozesse geben einen Kernspeicherabzug aus, wenn möglich.
(Gründe, warum ein Prozess dennoch keinen Kernspeicherabzug
ausgibt, sind in core(5) beschrieben.) Der Kernspeicherabzug
trägt die Benutzer-Kennung (UID) des erzeugenden Prozesses, es gibt
keine Sicherheitsprüfungen. Dies ist nur für die Fehlersuche
im System gedacht: Dieser Modus ist unsicher, da er es unprivilegierten
Benutzern erlaubt, die Speicherinhalte von privilegierten Prozessen zu
untersuchen.
- 2 (»suidsafe«)
- 2 (»suidsafe«) Für alle Programme,
für die normalerweise kein Abzug erzeugt würde (siehe
»0« oben), wird ein nur für Root lesbarer Abzug
erzeugt. Dadurch kann der Benutzer die Kernspeicherabzugsdatei entfernen,
sie aber nicht lesen. Aus Sicherheitsgründen überschreiben
Kernspeicherabzüge in diesem Modus keine anderen Abzüge oder
Dateien. Dieser Modus eignet sich, wenn Administratoren Probleme in einer
normalen Umgebung untersuchen.
- Zusätzlich muss wie in core(5) ausführlich
beschrieben seit Linux 3.6 /proc/sys/kernel/core_pattern entweder
ein absoluter Pfadname oder ein Pipe-Befehl sein. Falls
core_pattern diesen Regeln nicht folgt, werden in das
Kernelprotokoll Warnungen ausgegeben und kein Kernspeicherabzug
erstellt.
- Für Einzelheiten der Auswirkungen der
»dumpable«-Einstellung eines Prozesses auf die
Ptrace-Zugriffsmodusprüfung siehe ptrace(2).
- /proc/sys/fs/super-max
- Diese Datei steuert die maximale Anzahl der Superblocks und damit die
maximale Anzahl von Dateisystemen, die der Kernel einhängen kann.
Sie müssen nur super-max erhöhen, wenn Sie mehr
Dateisysteme einhängen müssen, als der aktuelle Wert in
super-max zulässt.
- /proc/sys/fs/super-nr
- Diese Datei enthält die Anzahl aktuell eingehängter
Dateisysteme.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Dr. Tobias
Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>,
Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann
<debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die Mailingliste der
Übersetzer:
debian-l10n-german@lists.debian.org.