table of contents
proc_sys_fs(5) | File Formats Manual | proc_sys_fs(5) |
BEZEICHNUNG¶
/proc/sys/fs/ - Kernel-Variablen mit Bezug zu Dateisystemen
BESCHREIBUNG¶
- /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.
SIEHE AUCH¶
Ü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.
2. Mai 2024 | Linux man-pages 6.8 |