У меня есть несколько вопросов относительно обращения с procfs
или sysctl
ценности.
Можно ли включить функцию с отсутствующим файлом / proc?
Отсутствует /proc
или sysctl
запись всегда означает, что опция не включена в этом конкретном ядре? Другими словами: может ли функция быть включена или поддерживаться ядром без соответствующего /proc
запись доступна? Я предполагаю, что никто не изменил исходный код ядра таким образом, чтобы удалить часть кода, которая заполняет /proc
.
Если может - по умолчанию установлено определенное значение?
Я хотел бы знать, если /proc
значения по умолчанию равны значению, если соответствующий файл proc-File не существует. Если по какой-то причине мое ядро поддерживает aslr, но /sys/kernel/randomize_va_space
не существует, приводит ли это к тому, что aslr активен или нет?
Одинаково ли поведение для всех настроек?
Одинаково ли поведение для всех ядер, версий и функций? Или мне нужно получать эту информацию для каждой настройки отдельно?
Например:
Если /proc/sys/kernel/sysrq
не существует на моей машине, значит ли это
что Функция Magic SysRQ не доступен в моем ядре?
что это доступно?
что это может быть доступно или нет в зависимости от какой-то другой опции, которая мне неизвестна?
что конкретный код для этой функции содержит жестко запрограммированное значение по умолчанию и этот параметр отличается для каждой функции ядра? Поэтому, если я хочу знать, какое значение установлено по умолчанию, мне нужно взглянуть на код для каждой функции.
Есть хороший документация доступно, где я могу прочитать о значении настроек ядра. Есть ли документ, объясняющий поведение по умолчанию?
/proc
и /sys
каталоги предназначены для отображения "ручек настройки" ядра Liunx. Вполне возможно, хотя и довольно редко, иметь некоторые работающие функции ядра без каких-либо записей в /proc
или /sys
- например, если эта функция ядра не имеет каких-либо параметров и не имеет ничего для публикации пользователю, никаких записей не требуется.
Однако если документация ядра имеет некоторые записи задокументированы / указаны, но вы можете не найти их, возникают две возможности:
Если вы думаете, что некоторые функции включены в вашем ядре, но вы не можете найти никаких записей в /proc
и /sys
, взгляните на файл конфигурации ядра (часто доступный через файл в /boot
или в /proc/config.gz
)