.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc_sys_fs 5 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA /proc/sys/fs/ \- zmienne jądra odnoszące się do systemów plików .SH OPIS .TP \fI/proc/sys/fs/\fP Katalog zawierający pliki i podkatalogi do zmiennych jądra związanych z systemami plików. .TP \fI/proc/sys/fs/aio\-max\-nr\fP .TQ \fI/proc/sys/fs/aio\-nr\fP (oba od Linuksa 2.6.4) \fIaio\-nr\fP jest sumą bieżącą liczby zdarzeń określonych przez wywołania \fBio_setup\fP(2), dla wszystkich aktualnie aktywnych kontekstów AIO. Jeśli \fIaio\-nr\fP osiągnie \fIaio\-max\-nr\fP, to \fBio_setup\fP(2) zawiedzie z błędem \fBEAGAIN\fP. Zwiększenie \fIaio\-max\-nr\fP nie powoduje alokacji wstępnej ani zmiany jakichś struktur danych jądra. .TP \fI/proc/sys/fs/binfmt_misc\fP Dokumentacja plików z tego katalogu znajduje się w źródłach jądra Linux w pliku \fIDocumentation/admin\-guide/binfmt\-misc.rst\fP (lub \fIDocumentation/binfmt_misc.txt\fP w starszych jądrach). .TP \fI/proc/sys/fs/dentry\-state\fP (od Linuksa 2.2) Plik zawiera informacje o statusie bufora katalogu (dcache). Zawiera sześć liczb: \fInr_dentry\fP, \fInr_unused\fP, \fIage_limit\fP (wiek w sekundach), \fIwant_pages\fP (strony żądane przez system) i dwie nieużywane wartości. .RS .IP \[bu] 3 \fInr_dentry\fP jest liczbą przydzielonych dentries (wpisów dcache). To pole jest nieużywane w Linuksie 2.2. .IP \[bu] \fInr_unused\fP jest liczbą nieużywanych dentries. .IP \[bu] .\" looks like this is unused in Linux 2.2 to Linux 2.6 \fIage_limit\fP jest wiekiem w sekundach, po którym wpisy dcache mogą być przydzielone ponownie, gdy jest zbyt mało pamięci. .IP \[bu] .\" looks like this is unused in Linux 2.2 to Linux 2.6 \fIwant_pages\fP jest niezerowa, gdy jądro wywołało shrink_dcache_pages(), ale dcache nie zostały jeszcze przycięte. .RE .TP \fI/proc/sys/fs/dir\-notify\-enable\fP Plik ten może służyć do wyłączania lub włączania interfejsu \fIdnotify\fP opisanego w \fBfcntl\fP(2) dla całego systemu. Wartość 0 w tym pliku wyłącza interfejs, a wartość 1 go włącza. .TP \fI/proc/sys/fs/dquot\-max\fP Zawiera maksymalną liczbę buforowanych wpisów kwot (przydziałów) dyskowych. W niektórych (2.4) systemach nie występuje. Gdy liczba wolnych zbuforowanych kwot dyskowych jest bardzo mała, a jest przerażająca liczba jednoczesnych użytkowników systemu, może istnieć potrzeba zwiększenia tego ograniczenia. .TP \fI/proc/sys/fs/dquot\-nr\fP Zawiera liczbę przydzielonych wpisów kwot dyskowych oraz liczbę wolnych wpisów kwot dyskowych. .TP \fI/proc/sys/fs/epoll/\fP (od Linuksa 2.6.28) Katalog zawiera plik \fImax_user_watches\fP, którego można użyć, aby ograniczyć ilość pamięci jądra używanej przez interfejs \fIepoll\fP. Więcej szczegółów można znaleźć w \fBepoll\fP(7). .TP \fI/proc/sys/fs/file\-max\fP Zawiera ogólnosystemowe ograniczenie liczby plików otwartych przez wszystkie procesy. Wywołania systemowe które zawiodą przy napotkaniu tych limitów nie powiodą się z błędem \fBENFILE\fP. (Zobacz także \fBsetrlimit\fP(2), które może służyć procesom do ustawiania ograniczenia dla procesu, \fBRLIMIT_NOFILE\fP, jako liczby plików, które proces może otworzyć). Gdy otrzymuje się mnóstwo komunikatów w dzienniku jądra o przekroczeniu liczby uchwytów plików (opisów otwartego pliku) (należy szukać komunikatów takich jak \[Bq]VFS: file\-max limit reached\[rq]), to można spróbować zwiększyć tę wartość: .IP .in +4n .EX echo 100000 > /proc/sys/fs/file\-max .EE .in .IP Procesy uprzywilejowane (\fBCAP_SYS_ADMIN\fP) mogą przesłonić limit \fIfile\-max\fP. .TP \fI/proc/sys/fs/file\-nr\fP Jest to plik (tylko do odczytu) zawierający trzy liczby: liczbę przydzielonych uchwytów plików (tzn. liczbę opisów otwartego pliku; zob. \fBopen\fP(2)), liczbę wolnych uchwytów plików i maksymalną liczbę uchwytów plików (tzn. tę samą wartość co w \fI/proc/sys/fs/file\-max\fP). Jeśli liczba przydzielonych uchwytów plików zbliża się do maksimów, należy rozważyć zwiększenie ich. Przed Linuksem 2.6 jądro dynamicznie przydzielało uchwyty, lecz nie zwalniało ich. Wolne uchwyty były przechowywane w liście do ponownego przydzielenia, wartość \[Bq]wolne uchwyty plików\[rq] wskazywała na rozmiar tej listy. Duża liczba wolnych uchwytów plików wskazywała, że w przeszłości był moment dużego użycia otwartych uchwytów plików. Od Linuksa 2.6 jądro zwalnia wolne uchwyty plików, a wartość \[Bq]wolne uchwyty plików\[rq] zawsze wynosi zero. .TP \fI/proc/sys/fs/inode\-max\fP (obecny jedynie do Linuksa 2.2) Ten plik zawiera maksymalną liczbę i\-węzłów w pamięci. Wartość ta powinna być 3\[en]4 razy większa niż wartość w \fIfile\-max\fP, gdyż \fIstdin\fP, \fIstdout\fP i gniazda sieciowe również potrzebują i\-węzłów, aby można było na nich operować. Gdy systematycznie brakuje i\-węzłów, istnieje potrzeba zwiększenia tej wartości. .IP Od jądra Linux 2.4 nie występuje statyczny limit liczby i\-węzłów, w związku z czym usunięto ten plik. .TP \fI/proc/sys/fs/inode\-nr\fP Zawiera dwie pierwsze wartości z \fIinode\-state\fP. .TP \fI/proc/sys/fs/inode\-state\fP Plik zawiera siedem liczb: \fInr_inodes\fP, \fInr_free_inodes\fP, \fIpreshrink\fP i cztery nieużywane wartości (wynoszące zawsze zero). .IP .\" This can be slightly more than .\" .I inode\-max .\" because Linux allocates them one page full at a time. \fInr_inodes\fP jest liczbą przydzielonych przez system i\-węzłów. \fInr_free_inodes\fP jest liczbą wolnych i\-węzłów. .IP \fIpreshrink\fP jest niezerowe, gdy \fInr_inodes\fP > \fIinode\-max\fP i gdy system musi przyciąć listę i\-węzłów zamiast przydzielić ich więcej; od Linuksa 2.4 to pole jest wartością \- atrapą (wynosi zawsze zero). .TP \fI/proc/sys/fs/inotify/\fP (od Linuksa 2.6.13) Ten katalog zawiera pliki \fImax_queued_events\fP, \fImax_user_instances\fP i \fImax_user_watches\fP, których można użyć, aby ograniczyć ilość pamięci jądra używanej przez interfejs \fIinotify\fP. Więcej szczegółów można znaleźć w \fBinotify\fP(7). .TP \fI/proc/sys/fs/lease\-break\-time\fP Określa okres ulgi, przez jaki jądro zapewnia procesowi utrzymanie dzierżawy pliku (\fBfcntl\fP(2)), a po którym wyśle do tego procesu sygnał zawiadamiający go, że inny proces oczekuje na otwarcie pliku. Jeśli utrzymujący dzierżawę nie usunie jej lub nie ograniczy swoich praw do niej w przeciągu tego czasu, jądro wymusi zerwanie dzierżawy. .TP \fI/proc/sys/fs/leases\-enable\fP Ten plik może służyć do ogólnosystemowego włączania lub wyłączania dzierżaw plików (\fBfcntl\fP(2)). Gdy plik ten zawiera wartość 0, dzierżawy są wyłączone. Wartość niezerowa włącza dzierżawy. .TP \fI/proc/sys/fs/mount\-max\fP (od Linuksa 4.9) .\" commit d29216842a85c7970c536108e093963f02714498 Wartość w tym pliku określa maksymalną liczbę montowań, jakie mogą istnieć w przestrzeni nazw montowań. Domyślną wartością w tym pliku jest 100\ 000. .TP \fI/proc/sys/fs/mqueue/\fP (od Linuksa 2.6.6) Ten katalog zawiera pliki \fImsg_max\fP, \fImsgsize_max\fP i \fIqueues_max\fP, kontrolujące zasoby używane przez kolejki komunikatów POSIX. Szczegółowe informacje można znaleźć w \fBmq_overview\fP(7). .TP \fI/proc/sys/fs/nr_open\fP (od Linuksa 2.6.25) .\" commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b Plik ten określa pułap, do którego można podnieść limit zasobów \fBRLIMIT_NOFILE\fP (zob. \fBgetrlimit\fP(2)). Pułap ten jest wymuszany zarówno na nieuprzywilejowanych i uprzywilejowanych procesach. Domyślną wartością w pliku jest 1048576 (przed Linuksem 2.6.25, pułap \fBRLIMIT_NOFILE\fP był zakodowany na sztywno i wynosił tyle samo). .TP \fI/proc/sys/fs/overflowgid\fP .TQ \fI/proc/sys/fs/overflowuid\fP Te pliki umożliwiają zmianę wartości ustalonego UID\-u i GID\-u. Wartością domyślną jest 65534. Niektóre systemy plików wspierają jedynie 16\-bitowe UID\-y i GID\-y, podczas gdy linuksowe UID\-y i GID\-y są 32\-bitowe. Gdy któryś z takich systemów plików jest zamontowany z możliwością zapisu, to wszystkie UID\-y i GID\-y przekraczające 65535 są zastępowane podanymi tu wartościami przed zapisem na dysk. .TP \fI/proc/sys/fs/pipe\-max\-size\fP (od Linuksa 2.6.35) Patrz \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-hard\fP (od Linuksa 4.5) Patrz \fBpipe\fP(7). .TP \fI/proc/sys/fs/pipe\-user\-pages\-soft\fP (od Linuksa 4.5) Patrz \fBpipe\fP(7). .TP \fI/proc/sys/fs/protected_fifos\fP (od Linuksa 4.19) Wartość w tym pliku jest/może być ustawiona na jedną z poniższych: .RS .TP 4 0 Zapisywanie do FIFO jest nieograniczone. .TP 1 Nie zezwala na \fBO_CREAT\fP \fBopen\fP(2) na potokach FIFO, których wywołujący nie jest właścicielem, w zapisywalnych dla wszystkich katalogach z bitem lepkości, chyba że właściciel katalogu jest też właścicielem FIFO. .TP 2 Jak przy wartości 1, lecz ograniczenie dotyczy również zapisywalnych dla grupy katalogach z bitem lepkości. .RE .IP Powyższe zabezpieczenia mają pomóc uniknąć sytuacji nieoczekiwanego zapisu do potoku FIFO kontrolowanego przez atakującego, gdy program chciał jedynie utworzyć zwykły plik. .TP \fI/proc/sys/fs/protected_hardlinks\fP (od Linuksa 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 Gdy w pliku zapisana jest wartość 0, to w odniesieniu do tworzenia dowiązań zwykłych (twardych) nie wprowadza się żadnych ograniczeń (jest to historyczne zachowanie przed Linuksem 3.6). Gdy wartość wynosi 1, to dowiązania zwykłe mogą być tworzone do pliku docelowego jedynie wówczas, gdy spełniony jest jeden z poniższych warunków: .RS .IP \[bu] 3 Proces wywołujący ma przywilej \fBCAP_FOWNER\fP w swojej przestrzeni nazw użytkownika, a UID pliku ma przypisanie w tej przestrzeni nazw. .IP \[bu] UID systemu plików dotyczący procesu tworzącego dowiązanie pasują do właściciela (UID) pliku docelowego (zgodnie z opisem w podręczniku \fBcredentials\fP(7), UID systemu plików procesu jest zwykle taki sam jak jego efektywny UID). .IP \[bu] Wszystkie poniższe warunki zostaną spełnione: .RS 4 .IP \[bu] 3 cel jest zwykłym plikiem, .IP \[bu] plik docelowy nie ma ustawionego bitu set\-user\-ID, .IP \[bu] plik docelowy nie ma ustawionych obu z bitów set\-group\-ID i bitu wykonywalności dla grupy, .IP \[bu] wywołujący ma uprawnienie do odczytu i zapisu pliku docelowego (albo dzięki uprawnieniom pliku albo ze względu na posiadane przywileje). .RE .RE .IP Domyślną wartością w tym pliku jest 0. Ustawienie 1 rozwiąże występujące od dawna problemy z bezpieczeństwem wykorzystujące wyścig między czasem sprawdzenia a czasem użycia dowiązania zwykłego, zwykle spotykanych w katalogach dostępnych do zapisu dla wszystkich (np. \fI/tmp\fP). Częstym sposobem wykorzystywania tej wady jest skrzyżowanie ograniczeń w uprawnieniach przy podążaniu za danym dowiązaniem zwykłym (np. gdy proces root podąża za dowiązaniem stałym utworzonym przez innego użytkownika). W systemach bez wydzielonych partycji, rozwiązuje się w ten sposób również problem nieautoryzowanych użytkowników \[Bq]przypinających\[rq] dziurawe pliki z ustawionymi bitami set\-user\-ID i set\-group\-ID wobec aktualizowanych przez administratora a także dowiązywaniu do plików specjalnych. .TP \fI/proc/sys/fs/protected_regular\fP (od Linuksa 4.19) Wartość w tym pliku jest/może być ustawiona na jedną z poniższych: .RS .TP 4 0 Zapis do zwykłych plików jest nieograniczony .TP 1 Nie zezwala na \fBO_CREAT\fP \fBopen\fP(2) na zwykłych plikach, których wywołujący nie jest właścicielem, w zapisywalnych dla wszystkich katalogach z bitem lepkości, chyba że właściciel zwykłego pliku jest też właścicielem FIFO. .TP 2 Jak przy wartości 1, lecz ograniczenie dotyczy również zapisywalnych dla grupy katalogach z bitem lepkości. .RE .IP Intencja utworzenia powyższych zabezpieczeń jest podobna do \fIprotected_fifos\fP, lecz w tym przypadku chodzi o uniknięcie zapisu do zwykłego pliku kontrolowanego przez atakującego, gdy program chciał go utworzyć. .TP \fI/proc/sys/fs/protected_symlinks\fP (od Linuksa 3.6) .\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7 Gdy w pliku zapisana jest wartość 0, to w odniesieniu do tworzenia dowiązań symbolicznych nie wprowadza się żadnych ograniczeń (jest to historyczne zachowanie przed Linuksem 3.6). Gdy wartość wynosi 1, to dowiązania symboliczne mogą być tworzone jedynie gdy spełnione są następujące warunki: .RS .IP \[bu] 3 UID systemu plików dotyczący procesu podążającego za dowiązaniem pasują do właściciela (UID) dowiązania symbolicznego (zgodnie z opisem w podręczniku \fBcredentials\fP(7), UID systemu plików procesu jest zwykle taki sam jak jego efektywny UID), .IP \[bu] dowiązanie nie znajduje się w katalogu dostępnych dla wszystkich do zapisu z bitem lepkości lub .IP \[bu] dowiązanie symboliczne i katalog w którym się ono znajduje mają tego samego właściciela (UID) .RE .IP Wywołanie systemowe które nie podąży za dowiązaniem symbolicznym ze względu na powyższe ograniczenia zwróci w \fIerrno\fP błąd \fBEACCES\fP. .IP Domyślną wartością w tym pliku jest 0. Ustawienie 1 rozwiąże występujące od dawna problemy z bezpieczeństwem wykorzystujących wyścig między czasem sprawdzenia a czasem użycia przy uzyskiwaniu dostępu do dowiązań symbolicznych. .TP \fI/proc/sys/fs/suid_dumpable\fP (od Linuksa 2.6.13) .\" The following is based on text from Documentation/sysctl/kernel.txt Wartość w tym pliku jest przypisana do flagi \[Bq]dumpable\[rq] (\[Bq]zrzucalny\[rq]) w sytuacjach opisanych w \fBprctl\fP(2). W konsekwencji, wartość w tym pliku określa, czy pliki zrzutów pamięci są tworzone dla programów mających ustawiony bit set\-user\-ID albo chronionych w jakiś inny sposób. Ustawienie \[Bq]zrzucalności\[rq] wpływa również na własność plików w katalogu \fI/proc/\fPpid procesu, jak opisano wyżej. .IP Można podać trzy różne wartości liczbowe: .RS .TP \fI0 (domyślna)\fP .\" In kernel source: SUID_DUMP_DISABLE Jest to tradycyjne zachowanie (sprzed Linuksa 2.6.13). Zrzut pamięci nie będzie tworzony dla procesu, który zmienił swoje uprawnienia (wywołując \fBseteuid\fP(2), \fBsetgid\fP(2) lub podobną funkcję albo gdy program miał ustawiony bit set\-user\-ID lub set\-group\-ID) albo gdy uprawnienia nadane plikowi binarnemu programu zabraniają jego odczytywania. .TP \fI1 (\[Bq]debug\[rq])\fP .\" In kernel source: SUID_DUMP_USER Jeżeli jest to możliwe, to wszystkie procesy wykonują zrzut pamięci (powody, dla których proces może mimo wszystko nie zrzucić pamięci, opisano w podręczniku \fBcore\fP(5)). Właścicielem pliku zrzutu jest użytkownik, którego uprawnienia do systemu plików ma proces wykonujący zrzut. Nie są stosowane żadne mechanizmy bezpieczeństwa. Jest to przeznaczone tylko do celów debugowania: tryb ten jest niebezpieczny, ponieważ pozwala użytkownikom nieuprzywilejowanym na sprawdzanie zawartości pamięci procesów uprzywilejowanych. .TP \fI2 (\[Bq]suidsafe\[rq])\fP .\" In kernel source: SUID_DUMP_ROOT Zrzut pamięci programu, dla którego w normalnej sytuacji taki zrzut nie zostałby wykonany (patrz wyżej \[Bq]0\[rq]), może być odczytany tylko przez administratora (root). Pozwala to użytkownikowi usunąć plik ze zrzutem, ale nie pozwala na jego odczytanie. Z powodów bezpieczeństwa w tym trybie pliki zrzutu nie nadpisują istniejących plików. Ten tryb jest odpowiedni, gdy administrator będzie chciał debugować problemy w naturalnym środowisku. .IP .\" 9520628e8ceb69fa9a4aee6b57f22675d9e1b709 .\" 54b501992dd2a839e94e76aa392c392b55080ce8 Dodatkowo, od Linuksa 3.6, \fI/proc/sys/kernel/core_pattern\fP musi być absolutną ścieżką lub poleceniem potokowym (zob. \fBcore\fP(5)). Do dziennika jądra zapisane zostaną ostrzeżenia, jeśli \fIcore_pattern\fP nie będzie się stosowało do tych reguł i nie utworzy się zrzut pamięci. .RE .IP Szczegóły odnośnie wpływu ustawienia \[Bq]zrzucalności\[rq] procesu na sprawdzanie trybu dostępu ptrace opisano w podręczniku \fBptrace\fP(2). .TP \fI/proc/sys/fs/super\-max\fP Plik steruje maksymalną liczbą superbloków, a więc i maksymalną liczbą systemów plików, które jądro może zamontować. Potrzeba zwiększenia wartości \fIsuper\-max\fP występuje tylko wtedy, gdy chce się zamontować więcej systemów plików, niż na to pozwala aktualna wartość \fIsuper\-max\fP. .TP \fI/proc/sys/fs/super\-nr\fP Plik zawiera liczbę obecnie zamontowanych systemów plików. .SH "ZOBACZ TAKŻE" \fBproc\fP(5), \fBproc_sys\fP(5) .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Przemek Borys , Robert Luberda i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .