НАИМЕНОВАНИЕ
/proc/sys/fs/ - kernel variables related to filesystems
ОПИСАНИЕ
- /proc/sys/fs/
- Подкаталог,
содержащий
файлы и
подкаталоги
с
переменными
ядра,
касающиеся
файловых
систем.
- /proc/sys/fs/aio-max-nr и /proc/sys/fs/aio-nr
(начиная с Linux
2.6.4)
- aio-nr is the running total of the number of events specified by
io_setup(2) calls for all currently active AIO contexts. If
aio-nr reaches aio-max-nr, then io_setup(2) will fail
with the error EAGAIN. Raising aio-max-nr does not result in
the preallocation or resizing of any kernel data structures.
- /proc/sys/fs/binfmt_misc
- Документацию
по файлам в
этом
каталоге
можно
найти в
файле
исходного
кода ядра Linux
Documentation/admin-guide/binfmt-misc.rst (в
старых
ядрах — в
Documentation/binfmt_misc.txt).
- /proc/sys/fs/dentry-state
(начиная с Linux
2.2)
- Файл
содержит
информацию
о
состоянии
кэша
каталогов
(dcache). В нём
есть шесть
чисел, nr_dentry,
nr_unused, age_limit
(возраст в
секундах),
want_pages
(страниц,
запрошенных
системой) и
два пустых
значения.
- •
- nr_dentry
содержит
количество
отведённых
dentries
(элементов
dcache). Это поле
не
используется
в Linux 2.2.
- •
- nr_unused
содержит
количество
неиспользуемых
dentries.
- •
- age_limit — это
возраст в
секундах
по
истечении
которого
элементы dcache
могут быть
отозваны,
когда
памяти
становится
мало.
- •
- want_pages не
равно нулю,
если ядро
вызвало
shrink_dcache_pages(), а dcache ещё
не
сокращён
(pruned).
- /proc/sys/fs/dir-notify-enable
- Этот файл
может быть
использован
для
включения
и
выключения
интерфейса
dnotify,
описанного
в fcntl(2), во
всей
системе.
Значение 0
в этом
файле
отключает
интерфейс,
а значение
1 включает
его.
- /proc/sys/fs/dquot-max
- Этот файл
показывает
максимальное
количество
кэшируемых
элементов
дисковых
квот. В
некоторых
(2.4) системах
его нет.
Если число
свободных
кэшируемых
дисковых
квот
является
очень
маленьким,
а у вас в
системе
одновременно
работает
большое
количество
пользователей,
то вам,
возможно,
захочется
увеличить
этот
лимит.
- /proc/sys/fs/dquot-nr
- Этот файл
показывает
количество
выделенных
в
использование
элементов
дисковых
квот и
количество
свободных
элементов
дисковых
квот.
- /proc/sys/fs/epoll/ (since Linux 2.6.28)
- В этом
каталоге
содержится
файл max_user_watches,
который
можно
использовать
для
ограничения
количества
памяти
ядра,
потребляемой
интерфейсом
epoll.
Подробности
смотрите в
epoll(7).
- /proc/sys/fs/file-max
- This file defines a system-wide limit on the number of open files for all
processes. System calls that fail when encountering this limit fail with
the error ENFILE. (See also setrlimit(2), which can be used
by a process to set the per-process limit, RLIMIT_NOFILE, on the
number of files it may open.) If you get lots of error messages in the
kernel log about running out of file handles (open file descriptions)
(look for "VFS: file-max limit <number> reached"), try
increasing this value:
-
echo 100000 > /proc/sys/fs/file-max
- Привилегированный
процесс (с
CAP_SYS_ADMIN) может
изменять
ограничение
file-max.
- /proc/sys/fs/file-nr
- This (read-only) file contains three numbers: the number of allocated file
handles (i.e., the number of open file descriptions; see open(2));
the number of free file handles; and the maximum number of file handles
(i.e., the same value as /proc/sys/fs/file-max). If the number of
allocated file handles is close to the maximum, you should consider
increasing the maximum. Before Linux 2.6, the kernel allocated file
handles dynamically, but it didn't free them again. Instead the free file
handles were kept in a list for reallocation; the "free file
handles" value indicates the size of that list. A large number of
free file handles indicates that there was a past peak in the usage of
open file handles. Since Linux 2.6, the kernel does deallocate freed file
handles, and the "free file handles" value is always zero.
- /proc/sys/fs/inode-max
(только до Linux
2.2)
- This file contains the maximum number of in-memory inodes. This value
should be 3–4 times larger than the value in file-max, since
stdin, stdout and network sockets also need an inode to
handle them. When you regularly run out of inodes, you need to increase
this value.
- Начиная с Linux
2.4, больше не
существует
статического
ограничения
на
количество
индексных
дескрипторов
и этот файл
удалён.
- /proc/sys/fs/inode-nr
- Этот файл
содержит
первые два
значения
из inode-state.
- /proc/sys/fs/inode-state
- Этот файл
содержит
сем чисел:
nr_inodes, nr_free_inodes, preshrink и
четыре
заглушки
(всегда
равные
нулю).
- В nr_inodes
содержится
количество
выделенных
системой
индексных
дескрипторов.
В nr_free_inodes
содержится
количество
свободных
индексных
дескрипторов.
- Значение
preshrink не равно
нулю, если
nr_inodes > inode-max и
системе
нужно
сократить
список
индексных
дескрипторов,
а не
выделять
новые;
начиная с Linux
2.4 это
значение
не
используется
(всегда
равно
нулю).
- /proc/sys/fs/inotify/ (since Linux 2.6.13)
- Этот
каталог
содержит
файлы max_queued_events,
max_user_instances, и max_user_watches,
которые
можно
использовать
для
ограничения
количества
памяти
ядра,
потребляемом
интерфейсом
inotify.
Подробней
смотрите в
inotify(7).
- /proc/sys/fs/lease-break-time
- В этом
файле
задаётся
период, в
течении
которого,
ядро
предоставляет
процессу
возможность
удерживать
файл (fcntl(2)), по
окончании
которого
оно
посылает
сигнал
процессу,
извещая
его о том,
что другой
процесс
ожидает
открытия
этого
файла. Если
удерживающий
файл
процесс не
удалит или
не отменит
удержание
файла в
течении
указанного
периода, то
ядро
принудительно
снимет
удержание.
- /proc/sys/fs/leases-enable
- Этот файл
можно
использовать,
чтобы
разрешить
или
запретить
в системе
возможность
удержания
файла (fcntl(2)).
Если файл
содержит 0,
удержание
запрещено.
Если не
ноль —
разрешено.
- /proc/sys/fs/mount-max
(начиная с Linux
4.9)
- Значение в
этом файле
задаёт
максимальное
количество
монтирований,
которые
могут
существовать
в
пространстве
имён
монтирования.
Значения
файла по
умолчанию
равно 100000.
- /proc/sys/fs/mqueue/ (since Linux 2.6.6)
- В этом
каталоге
содержатся
файлы msg_max,
msgsize_max и queues_max,
которые
контролируют
ресурсы,
используемые
очередями
сообщений
POSIX.
Подробней
смотрите в
mq_overview(7).
- /proc/sys/fs/nr_open
(начиная с Linux
2.6.25)
- Этот файл
налагает
потолок на
значение,
до
которого
может быть
повышен
ограничитель
ресурса
RLIMIT_NOFILE
(смотрите
getrlimit(2)). Этот
потолок
применяется
к
непривилегированным
и
привилегированным
процессам.
Значение
по
умолчанию
в этом
файле
равно 1048576 (до Linux
2.6.25 потолок
для RLIMIT_NOFILE был
неизменяемым
с этим же
значением).
- /proc/sys/fs/overflowgid и
/proc/sys/fs/overflowuid
- Эти файлы
позволяют
вам
изменить
значение
фиксированных
UID и GID. По
умолчанию
оно равно 65534.
Некоторые
файловые
системы
поддерживают
только
16-битные UID и GID,
в то время
как в Linux UID и GID
являются
32-битными.
Когда
монтируется
одна из
таких
файловых
систем с
правами,
позволяющими
запись, все
UID или GID,
которые
превышают
65535,
транслируются
перед
записью на
диск в
значения
переполнения.
- /proc/sys/fs/pipe-max-size
(начиная с Linux
2.6.35)
- Смотрите
pipe(7).
- /proc/sys/fs/pipe-user-pages-hard
(начиная с Linux
4.5)
- Смотрите
pipe(7).
- /proc/sys/fs/pipe-user-pages-soft
(начиная с Linux
4.5)
- Смотрите
pipe(7).
- /proc/sys/fs/protected_fifos
(начиная с Linux
4.19)
- The value in this file is/can be set to one of the following:
- 0
- Writing to FIFOs is unrestricted.
- 1
- Don't allow O_CREAT open(2) on FIFOs that the caller doesn't
own in world-writable sticky directories, unless the FIFO is owned by the
owner of the directory.
- 2
- As for the value 1, but the restriction also applies to group-writable
sticky directories.
- The intent of the above protections is to avoid unintentional writes to an
attacker-controlled FIFO when a program expected to create a regular
file.
- /proc/sys/fs/protected_hardlinks
(начиная с Linux
3.6)
- Если
значение в
файле
равно 0, то
на
создание
жёстких
ссылок не
накладываются
ограничения
(соответствует
поведению
до Linux 3.6). Если
значение в
файле
равно 1, то
жёсткая
ссылка
может быть
создана,
если
соблюдается
одно из
следующих
условий:
- •
- Вызывающий
процесс
имеет
мандат CAP_FOWNER
в своём
пользовательском
пространстве
имён и UID
файла
отображён
в
пространстве
имён.
- •
- UID файловой
системы
процесса,
создающего
ссылку,
совпадает
с
владельцем
(UID) файла, на
который
создаётся
ссылка (как
описано в
credentials(7), UID
файловой
системы
процесса
обычно
совпадает
с
эффективным
UID).
- •
- Все
следующие
условия
выполняются:
- •
- целевой
файл
является
обычным;
- •
- на целевом
файле не
установлен
бит режима
set-user-ID;
- •
- на целевом
файле не
установлены
биты
режима set-group-ID и
group-executable; и
- •
- вызывающий
имеет
право на
чтение и
запись
целевого
файла
(согласно
маске прав
на файл или
из-за
имеющихся
мандатов).
- Значение
по
умолчанию
в файле
равно 0.
Установка
значения в
1 закрывает
долголетний
класс
проблем с
безопасностью,
вызванных
проверкой
времени на
основе
жёсткой
ссылки,
состязательностью
при
использовании
времени,
наиболее
часто
встречающейся
в
каталогах
доступным
на запись
всем, таким
как /tmp.
Распространённый
метод
использования
этой
уязвимости
—
присвоение
прав при
переходе
по жёсткой
ссылке (т.е.,
процесс
суперпользователя
переходит
по жёсткой
ссылке,
созданной
другим
пользователем).
Также, в
системах
без
выделенных
разделов
это
останавливает
неправомочных
пользователей
от
«закрепления»
уязвимых
файлов с
битами set-user-ID и
set-group-ID при
выполнении
администратором
обновления,
или
компоновки
со
специальными
файлами.
- /proc/sys/fs/protected_regular
(начиная с Linux
4.19)
- The value in this file is/can be set to one of the following:
- 0
- Writing to regular files is unrestricted.
- 1
- Don't allow O_CREAT open(2) on regular files that the caller
doesn't own in world-writable sticky directories, unless the regular file
is owned by the owner of the directory.
- 2
- As for the value 1, but the restriction also applies to group-writable
sticky directories.
- The intent of the above protections is similar to protected_fifos,
but allows an application to avoid writes to an attacker-controlled
regular file, where the application expected to create one.
- /proc/sys/fs/protected_symlinks
(начиная с Linux
3.6)
- Если
значение в
этом файле
равно 0, то
на переход
по
символьным
ссылкам
никаких
ограничений
не
накладывается
(т. е.,
обычное
поведение
ядра Linux до
версии 3.6).
Если
значение в
файле
равно 1, то
переход по
символьным
ссылкам
происходит
только при
следующих
условиях:
- •
- UID файловой
системы
процесса,
переходящего
по ссылке,
совпадает
с
владельцем
(UID)
символьной
ссылки (как
описано в
credentials(7), UID
файловой
системы
процесса
обычно
совпадает
с
эффективным
UID);
- •
- ссылка не
является
«прилипшим»
(sticky)
каталогом,
доступным
на запись
всем; или
- •
- символьная
ссылка и её
родительский
каталог
имеют
одного
владельца
(UID)
- Системный
вызов,
который не
может
перейти по
символьной
ссылке
из-за
перечисленных
выше
ограничений,
возвращает
ошибку EACCES в
errno.
- Значение
по
умолчанию
в файле
равно 0.
Установка
значения в
1 закрывает
долголетний
класс
проблем с
безопасностью,
вызванных
проверкой
времени,
состязательностью
при
использовании
времени
при
доступе к
символьным
ссылкам.
- /proc/sys/fs/suid_dumpable
(начиная с Linux
2.6.13)
- Значение
из этого
файла
присваивается
флагу
«возможность
создания
дампа»
процесса в
случаях,
описанных
в prctl(2).
Фактически,
значение в
этом файле
определяет
будут ли
создаваться
файлы
дампа
памяти для
файлов с
установленным
битом set-user-ID
или других
защищённых/с
добавкой (tainted)
исполняемых
файлов.
Настройка
«возможность
создания
дампа»
также
влияет на
владение
файлами в
каталоге
процесса
/proc/pid как
описано
выше.
- Можно
указать
три разных
целых
значения:
- 0 (default)
- Традиционное
поведение (
до Linux 2.6.13). Дамп
памяти не
создаётся
для
процесса, у
которого
изменены
учётные
данные
(вызовом
seteuid(2), setgid(2) и
подобным
или при
исполнении
программы
с
установленными
битами set-user-ID
или set-group-ID) или
если для
исполняемого
файла нет
права на
чтение.
- 1 ("debug")
- Все
процессы
создают
дамп
памяти,
если это
возможно
(причины
невозможности
создания
дампа
описаны в
core(5)). Дамп
памяти
принадлежит
ID
пользователя
файловой
системы
выполнявшегося
процесса и
никаких
мер
безопасности
не
предпринимается.
Предназначено
только для
системной
отладки:
данный
режим
небезопасен,
так как
позволяет
непривилегированным
пользователями
просматривать
содержимое
памяти
привилегированных
процессов.
- 2 ("suidsafe")
- Дамп
памяти
будет
выполняться
для любого
исполняемого
файла, для
которого
обычно это
не
происходит
(см. «0»
ранее) и
будет
доступен
на чтение
только
суперпользователю.
Файл с
дампом
памяти
обычный
пользователь
может
удалять, но
не читать.
По
соображениям
безопасности
дампы
памяти в
этом
режиме не
будут
перезаписываться
новыми или
другими
файлами.
Этот режим
подходит
для
администраторов,
когда
администраторы
пытаются
разобраться
с
проблемами
в обычном
окружении.
- Также,
начиная с Linux
3.6, значение
/proc/sys/kernel/core_pattern
должно
быть
абсолютным
путём или
командой с
каналом,
как это
описано в
core(5). В
ядерный
журнал
будет
выдано
предупреждение,
если
значение
core_pattern
отступает
от этих
правил, и
дамп
создан не
будет.
- О том, как
влияет
флаг
«возможности
создания
дампа»
процесса
на
проверку
режима
доступа ptrace,
смотрите в
ptrace(2).
- /proc/sys/fs/super-max
- Этот файл
управляет
максимальным
значением
суперблоков
и таким
образом
максимальным
количеством
файловых
систем,
которое
может
смонтировать
ядро. Вам
необходимо
увеличивать
super-max только в
том случае,
если нужно
смонтировать
больше
файловых
систем, чем
это
позволяет
значение в
файле super-max.
- /proc/sys/fs/super-nr
- Этот файл
содержит
количество
файловых
систем,
которое
смонтировано
в данный
момент.
ПЕРЕВОД
Русский
перевод
этой
страницы
руководства
разработал(и)
Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>,
kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan
<silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov
<yuray@komyakino.ru>, Иван
Павлов <pavia00@gmail.com>
и Kirill Rekhov <krekhov.dev@gmail.com>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.