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 enthalt die Dateien und Unterverzeichnisse fur 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 fur alle derzeit aktiven AIO-Kontexte festgelegt wurde. Falls aio-nr aio-max-nr erreicht, dann wird io_setup(2) mit dem Fehler EAGAIN fehlschlagen. Erhohen von aio-max-nr fuhrt nicht zu einer Vorbelegung oder Vergrosserung irgendwelcher Kernel-Datenstrukturen. /proc/sys/fs/binfmt_misc Dokumentation fur 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 alteren Kerneln) gefunden werden. /proc/sys/fs/dentry-state (seit Linux 2.2) Diese Datei enthalt Informationen uber den Zustand des Verzeichnis-Zwischenspeichers (directory cache,dcache). Die Datei enthalt sechs Zahlen: nr_dentry, nr_unused, age_limit (Alter in Sekunden), want_pages (vom System angeforderte Seiten) und zwei Dummy-Werte. o nr_dentry ist die Anzahl der zugewiesenen Dentries (dcache entries). Dieses Feld wird in Linux 2.2 nicht genutzt. o nr_unused ist die Anzahl ungenutzter Dentries. o age_limit ist das Alter in Sekunden, nach dem Dcache-Eintrage bei Speicherknappheit zuruckgefordert werden konnen. o 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-Eintragen fur die Festplatte. Auf einigen (2.4)-Systemen ist sie nicht vorhanden. Wenn die Anzahl der freien Festplatten-Kontingent-Eintrage im Cache sehr klein ist und Sie haben eine aussergewohnliche Anzahl gleichzeitiger Systembenutzer, mochten Sie vielleicht diesen Grenzwert erhohen. /proc/sys/fs/dquot-nr Diese Datei zeigt die Anzahl zugewiesener und die Anzahl freier Plattenkontingent-Eintrage. /proc/sys/fs/epoll/ (seit Linux 2.6.28) Dieses Verzeichnis enthalt 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 fur die Anzahl offener Dateien fur 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, fur die Anzahl zu offnender Dateien festlegen kann.) Wenn Sie viele Fehlermeldungen im Kernelprotkoll uber nicht ausreichende Datei-Handles (offene Dateideskriptoren) bekommen (suchen Sie nach >>VFS: file-max limit reached<<), versuchen Sie es mit einer Vergrosserung des Wertes: echo 100000 > /proc/sys/fs/file-max Ein privilegierter Prozess (CAP_SYS_ADMIN) kann die Begrenzung file-max ausser Kraft setzen. /proc/sys/fs/file-nr Diese (nur lesbare) Datei enthalt 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 erhohen. 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 Grosse dieser Liste an. Ein grosse Anzahl an freien Datei-Handles zeigt an, dass es in der Vergangenheit eine Benutzungsspitze fur 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 enthalt die maximale Anzahl von im Speicher befindlichen Inodes. Dieser Wert sollte drei- bis viermal grosser sein als der Wert von file-max, weil auch die Bearbeitung von stdin, stdout und Netzwerk-Sockets einen Inode erfordert. Wenn Ihnen regelmassig die Inodes knapp werden, mussen Sie diesen Wert erhohen. 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 enthalt die ersten zwei Werte von inode-state. /proc/sys/fs/inode-state Diese Datei enthalt 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 enthalt 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 gewahrt, der uber einen Dateiausleihe (fcntl(2)) verfugt, nachdem der Kernel dem Prozess signalisiert hat, das ein anderer Prozess die Datei offnen will. Wenn der Prozess innerhalb dieser Frist die Ausleihe nicht entfernt oder herabstuft, wird der Kernel die Ausleihe zwangsweise zuruckziehen. /proc/sys/fs/leases-enable Mit dieser Datei konnen Dateiausleihen (fcntl(2)) systemweit aktiviert oder deaktiviert werden. Wenn diese Datei den Wert 0 enthalt, 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 Einhangungen, die in einem Einhangenamensraum existieren durfen, fest. Der Vorgabewert ist 100.000. /proc/sys/fs/mqueue/ (seit Linux 2.6.6) Dieses Verzeichnis enthalt 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 fur den Wert, auf den die Ressourcenbeschrankung RLIMIT_NOFILE erhoht werden kann (siehe getrlimit(2)). Diese obere Grenze wird sowohl fur unprivilegierte als auch fur privilegierte Prozesse durchgesetzt. Der Vorgabewert in dieser Datei ist 1048576. (Vor Linux 2.6.25 war die obere Grenze fur RLIMIT_NOFILE hart auf den gleichen Wert einkodiert.) /proc/sys/fs/overflowgid und /proc/sys/fs/overflowuid Diese Dateien ermoglichen Ihnen, die festen Maximalwerte fur UID und GID zu andern. Der Vorgabewert ist 65534. Einige Dateisysteme unterstutzen nur 16-Bit-UIDs und -GIDs, obwohl in Linux UIDs und GIDs 32 Bit lang sind. Wenn eines dieser Dateisysteme schreibbar eingehangt wird, wurden alle UIDs oder GIDs, die 65535 uberschreiten wurden, vor dem Schreiben auf die Platte in ihren Uberlaufwert ubersetzt 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 beschrankt. 1 O_CREAT open(2) wird auf FIFOs, die dem Aufrufenden nicht gehoren und in fur allen schreibbaren, >>sticky<< Verzeichnissen liegen, nicht erlaubt, ausser der FIFO gehort dem Eigentumer des Verzeichnisses. 2 Wie bei Wert 1, aber die Beschrankung trifft auch auch Gruppen-schreibbare, >>sticky<< Verzeichnisse. Das Ziel der obigen Beschrankungen 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 Einschrankungen bezuglich 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: o Der aufrufenden Prozess verfugt uber die Capability CAP_FOWNER in seinem Benutzernamensraum und die Datei-UID hat ein Zuordnung in dem Namensraum. o Die Dateisystem-UID des Prozesses, der den Link erstellt, passt auf den Eigentumer (UID) der Zieldatei (wie in credentials(7) beschrieben, ist die Dateisystem-UID eines Prozesses normalerweise zu seiner effektiven UID identisch). o Alle der folgenden Bedingungen sind wahr: o das Ziel ist eine regulare Datei; o die Zieldatei hat nicht ihr Modus-Bit >>set-user-ID<< aktiviert; o die Zieldatei hat nicht sowohl ihr Modus-Bit >>set-user-ID<< als auch >>group-executable<< aktiviert; und o der Aufrufende hat Rechte, die Zieldatei zu lesen und zu schreiben (entweder uber die Dateiberechtigungsmaske oder weil er uber die geeigneten Capabilities verfugt). Der Vorgabewert in dieser Datei ist 0. Durch Setzen des Wertes auf 1 wird eine lange existierende Klasse von Sicherheitsproblemen durch hardlinkbasierte Prufungszeitpunkt-Nutzungszeitpunkt-Ressourcenwettlaufe verhindert, die meistens in weltschreibbaren Verzeichnissen wie /tmp beobachtet wird. Die haufigste Ausnutzungsmethode dieses Problems besteht darin, Privilegiengrenzen beim Folgen eines gegebenen harten Links zu uberschreiten (d.h. ein Root-Prozess folgt einem harten Link, den ein anderer Benutzer erstellt hat). Zusatzlich 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 beschrankt. 1 O_CREAT open(2) wird auf normale Dateien, die dem Aufrufenden nicht gehoren und in fur allen schreibbaren, >>sticky<< Verzeichnissen liegen, nicht erlaubt, ausser die normale Datei gehort dem Eigentumer des Verzeichnisses. 2 Wie bei Wert 1, aber die Beschrankung trifft auch auch Gruppen-schreibbare, >>sticky<< Verzeichnisse. Das Ziel der obigen Beschrankungen ist ahnlich 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 Einschrankungen 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 Umstanden gefolgt: o Die Dateisystem-UID des Prozesses, der dem symbolischen Link folgt, passt auf den Eigentumer (UID) des symbolischen Links (wie in credentials(7) beschrieben, ist die Dateisystem-UID eines Prozesses normalerweise identisch zu seiner effektiven UID); o der Link ist nicht in einem weltschreibbaren Verzeichnis mit Sticky-Bit; oder o der symbolische Link und sein Elternverzeichnis haben den gleichen Eigentumer (UID). Ein Systemaufruf, der beim Folgen eines symbolischen Links wegen der obigen Einschrankungen fehlschlagt, liefert den Fehler EACCES in errno zuruck. Der Vorgabewert in dieser Datei ist 0. Wird der Wert auf 1 gesetzt, wird eine bereits lang existierende Klasse von Sicherheitsproblemen, die auf Ressourcenwettlaufen zwischen dem Zeitpunkt der Uberprufung 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 Umstanden zugewiesen. Der Wert dieser Datei bestimmt schliesslich, ob Speicherabbilder (Core-Dump-Dateien) fur Set-User-ID-Programme oder anderweitig geschutzte/unsaubere Binarprogramme erzeugt werden. Die Einstellung >>dumpable<< betrifft auch die Eigentumerschaft von Dateien im Verzeichnis /proc/PID eines Prozesses, wie oben beschrieben. Es konnen drei verschiedene Ganzzahlwerte festgelegt werden: 0 (Standard) 0 (Standard) Das bewirkt das traditionelle Verhalten (vor Linux 2.6.13). Ein Kernspeicherabzug wird nicht fur Prozesse erzeugt, die ihre Identitat anderten (durch Aufruf von seteuid(2), setgid(2) oder ahnliches oder durch das Ausfuhren eines set-user-ID oder set-group-ID-Programms) oder deren Binarprogramm nicht die Leseberechtigung aktiviert hat. 1 (>>debug<<) Alle Prozesse geben einen Kernspeicherabzug aus, wenn moglich. (Grunde, warum ein Prozess dennoch keinen Kernspeicherabzug ausgibt, sind in core(5) beschrieben.) Der Kernspeicherabzug tragt die Benutzer-Kennung (UID) des erzeugenden Prozesses, es gibt keine Sicherheitsprufungen. Dies ist nur fur 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<<) Fur alle Programme, fur die normalerweise kein Abzug erzeugt wurde (siehe >>0<< oben), wird ein nur fur Root lesbarer Abzug erzeugt. Dadurch kann der Benutzer die Kernspeicherabzugsdatei entfernen, sie aber nicht lesen. Aus Sicherheitsgrunden uberschreiben Kernspeicherabzuge in diesem Modus keine anderen Abzuge oder Dateien. Dieser Modus eignet sich, wenn Administratoren Probleme in einer normalen Umgebung untersuchen. Zusatzlich muss wie in core(5) ausfuhrlich 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. Fur Einzelheiten der Auswirkungen der >>dumpable<<-Einstellung eines Prozesses auf die Ptrace-Zugriffsmodusprufung 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 einhangen kann. Sie mussen nur super-max erhohen, wenn Sie mehr Dateisysteme einhangen mussen, als der aktuelle Wert in super-max zulasst. /proc/sys/fs/super-nr Diese Datei enthalt die Anzahl aktuell eingehangter Dateisysteme. SIEHE AUCH proc(5), proc_sys(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.8 2. Mai 2024 proc_sys_fs(5)