(продолжение, начало тут)
/proc/sys/kernel/
Эта директория содержит различные конфигурационные файлы, которые непосредственно влияют на работу ядра. Некоторые наиболее важные файлы:
acct
- контроллирует процесс ведения журнала на основе учета доли свободного места в файловой системе, содержащей журнал. По умолчанию, файл выглядит следующим образом: 4 2 30
Первое значение определяет процент свободного пространства, необходимого для продолжения процесса ведения журнала, второе значение устанавливает порог в процентах, по достижении которого процесс ведения журнала приостанавливается. Третье значение задает интервал в секундах, через который ядро опрашивает файловую систему для проверки необходимости приостановки или возобновления ведения журнала.
Важно!
Если в системе работают приложения, которым важна высокая безопасность и которые были запущены при отключенной защите Exec Shield, то после включения Exec Shield они должны быть перезапущены.
Примечание:
ctrl-alt-del
- определяет будет ли комбинация Ctrl - Alt - Delete перезагружать компьютер (1) или нет (0).
domainname
- отвечает за доменное имя системы, такое какexample.com
exec-shield
- отвечает за функцию ExecShield ядра (не все дистрибутивы поддерживают эту возможность - прим. перев.), которая обеспечивает защиту от некоторых видов атак переполнения буфера. Для данного виртуального файла возможны два значения:0
- отключить Exec Shield,1
- Включает Exec Shield (значение по умолчанию).
Важно!
Если в системе работают приложения, которым важна высокая безопасность и которые были запущены при отключенной защите Exec Shield, то после включения Exec Shield они должны быть перезапущены.
exec-shield-randomize -
Включает дополнительную рандомизацию размещения различных объектов в памяти. Это серьезно затрудняет возможность поиска атакующим местонахождения программ и демонов в памяти. Каждый раз, когда программа или демон запускается, она помещается каждый раз в новое место в памяти. Для данного файла имеются следующие возможные значения:0
- возможность отключена (полезно для отладки приложений),1
- возможность включена (это значение по умолчанию)
Примечание:
Параметр
exec-shield
также должен быть установлен в 1
для того, чтоб exec-shield-randomize
мог работать
hostname
- определяет имя хоста.
hotplug
- определяет утилиту, которая будет использоваться при "горячем" подключении устройств для их конфигурировании. Чаще всего это используется для работы с USB и Cardbus PCI. Значение по умолчанию/sbin/hotplug
должно изменяться только в том случае, если вы тестируете новую программу для данной роли.
modprobe
- устанавливает местонахождение программы, используемой для загрузки модулей ядра, которую вызываетkmod
. Значение по умолчанию:/sbin/modprobe
.
msgmax
- Устанавливает максимальный размер любого сообщения, отправляемого одним процессом другому. Значение по умолчанию8192
байта. Будьте осторожны при повышении этого значения, поскольку очередь сообщений между процессами хранится в памяти ядра, которая не может быть помещена в раздел подкачки. Любое увеличениеmsgmax
повышает требования к наличию оперативной памяти в системе.
msgmnb
- устанавливает максимальное количество байтов в одной очереди сообщений. По умолчанию равно16384
.
msgmni
- устанавливает максимальное количество идентификаторов очереди сообщений. По умолчанию равно16
.
osrelease
- показывает номер версии загруженного ядра Linux. Этот файл может быть изменен только путем изменения исходного кода ядра и его пересборки.
ostype
- отображает тип операционной системы. По умолчанию его значение -Linux
и оно может быть изменено только путем изменения исходного кода ядра и его пересборки.
overflowgid
andoverflowuid
- Определяет фиксированные идентификаторы группы и пользователя для использования системными вызовами на архитектурах, которые поддерживают только 16-битные идентификаторы групп и пользователей.
panic
- Определяет количество секунд, которые ядро ждет до перезагрузки после kernel panic По умолчанию имеет значение0
, которое отключает автоматическую перезагрузку.
printk
- Этот файл определяет различные настройки, связанные с выдачей сообщений или ведением лог-файлов об ошибках. Каждое сообщение об ошибке, имеет идентификатор (LogLevel), отражающий уровень ее серьезности. Эти идентификаторы имеют следующие значения (меньшее значение - бОльшая серьезность):
0
- (kernel emergency) - аварийное состояние, система больше не функционирует.
1
- (kernel alert) - тревожное сообщение. Немедленно должны быть приняты меры по устранению ситуации.
2
- (kernel critical) - сообщение о критическом состоянии ядра.
3
- (kernel error) - сообщение об ошибке в ядре.
4
- (kernel warning) - предупреждение ядра.
5
- (kernel notice) - уведомление ядра о нормальном, но важном состоянии.
6
- (kernel info) - информационное сообщение ядра.
7
- (kernel debug-level messages). - сообщения отладки ядра. В данном файле находятся четыре значения:
6 4 1 7
Каждое из этих значений определяет различные правила, относящиеся к сообщениям об ошибках. Первое значение называется console loglevel и определяет наименьший приоритет сообщений выводимых на консоль системы (т. е. сообщения с более высоким приоритетом (и меньшим числом LogLevel будут попадать на консоль - прим. перев.). Второе значение (default_message_level) устанавливает значение по умолчанию для сообщений, LogLevel которых явно не указан. The third value sets the lowest possible loglevel configuration for the console loglevel. Третье значение (minimum_console_loglevel) определяет минимально возможный LogLevel для консоли. Последнее значение (default_console_loglevel) представляет собой величину по умолчанию для первого параметра.
random/
- данная директория содержит ряд параметров, относящихся к процессу генерации ядром случайных чисел
rtsig-max
- определяет максимальное число POSIX-сигналов реального времени (POSIX real-time signals), которые могут находится в очереди в данное время. Значение по умолчанию1024
.
rtsig-nr
- содержит текущее количество POSIX-сигналов реального времени, находящихся в очереди ядра.sem
- определяет параметры семафора в ядре системы. Семафор - это объект межпроцессного взаимодействия UNIX System V (System V IPC object), который используется для контроля конкретного процесса.
shmall
- устанавливает общий объем разделяемой памяти, который может быть использоваться в системе в данное время (в байтах). По умолчанию его значение равно2097152
.
shmmax
- устанавливает максимально возможное значение сегмента разделяемой памяти размером, который позволяет использовать ядро (в байтах). По умолчанию, это значение33554432
. Тем не менее, ядро поддерживает гораздо большее значение, чем указанное.
shmmni
- устанавливает максимальное число сегментов разделяемой памяти для всей системы, в байтах. По умолчанию это значение равно4096
.
sysrq
- активирует «магические» сочетания клавиш System Request Key, если эта величина имеет значение, отличное от нуля0
(по умолчанию отключено). Данные сочетания позволяют посылать сигналы ядру системы без ввода какого-либо пароля. Например, они позволяют немедленно выключить или перезагрузить систему, синхронизировать все смонтированные файловые системы или вывести важную информацию на консоль. Более подробно об этих сочетаниях клавиш написано ниже в конце данного поста.
Предупреждение!
Включение данной возможности представляет угрозу безопасности системе, поскольку предоставляет злоумышленнику полный доступ к системе. По этой причине по умолчанию она отключена. За дополнительной информацией обратитесь к файлу
/usr/share/doc/kernel-doc-/Documentation/sysrq.txt
sysrq-key
- определяет код клавиши для системы System Request Key (84
по умолчанию).
sysrq-sticky
- определяет как будет система «магических клавиш» реагировать на нажатие комбинации клавиш. Допускаются следующие значения:
0
- Alt + SysRq + <код запроса> должны быть нажаты одновременно. Это значение по умолчанию.
1
- Alt + SysRq должны быть нажаты одновременно, но системный код запроса может быть нажат в течение времени (в секундах), указанных в файле /proc/sys/kernel/sysrq-timer
(значение по умолчанию 10)
.
tainted
- показывает количество загруженных модулей ядра с лицензией, отличающейся от GPL. Возможные значения (приведены не все возможные значения, полный их список можно найти в файле /usr/src/linux/Documentation/sysctl/kernel.txt - прим. перев.):
0
- модули с лицензией отличной от GPL не загружены.
1
- загружен по крайней мере один модуль с не-GPL лицензией (в том числе модули без каких-либо лицензий).
2
- по крайней мере один модуль загружен командой insmod -f
.
threads-max
- устанавливает максимальное количество потоков (нитей), используемых ядром, значение по умолчанию 2048
.
version
- отображает дату и время, когда последней компиляции ядра. Первое поле в этом файле, например, #3
указывает сколько раз ядро собиралось из исходников.«Магические» клавиши Alt + SysRq +
(самая свежая информация по данному вопросу находится в файле /usr/src/linux/Documentation/sysrq.txt - прим. перев.)
Чтобы послать соответствующий сигнал ядру, необходимо нажать Alt + SysRq + . представляет собой одну из следующих клавиш:
r
- отключение «сырого» режима работы клавиатуры и переключение его XLATE (ограниченный режим работы клавиатуры, игнорирующий наличие клавиш-модификаторов таких как Alt, Ctrl или Shift).
k
- убивает все активные процессы в данной виртуальной консоли. Данный сигнал также называется Secure Access Key (SAK) и часто используется для дополнительной проверки того, что приглашение для ввода пароля является подлинным, а не представляет собой троянскую программу предназначенную для сбора логинов и паролей.
b
- инициирует перезагрузку компьютера ядром системы без попытки предварительного размонтирования файловых систем и/или синхронизации дискового кэша (по сути это равносильно тому, что вы нажимаете reset, только выполняется это «софтовым» способом - прим. перев.).
o
- то же, что и предыдущее, но с выключением компьютера.
c
- инициирует «поломку системы» (system crash).
s
- попытаться синхронизировать диски, подключенные к системе.
u
- попытаться и размонтировать всех файловых систем или перемонтировать их в режим «только-чтение»
p
- выводит все флаги и регистры на консоль.
t
- выводит список процессов на консоль.
m
- выводит на консоль статистику использования памяти.
0-9
- устанавливает уровень ведения журнала для консоли.
e
- посылает всем процессам, за исключениемinit
,
сигнал SIGTERM.
i
- посылает всем процессам, за исключениемinit
, сигнал SIGKILL.
l
(малая L)- уничтожает все процессы (включая init) c использованием SIGKILL.
После использования данной комбинации клавиш система больше не работоспособна.
f
- вызовет oom_killer, для процессов чрезмерно потребляющих память - дополнение перев.
h
- отображает текст подсказку по использованию «магических клавиш» (в принципе, любая из клавиш, за исключением вышеперечисленных вызывает выдачу справочной информации, но h проще запомнить - прим. перев.).
(продолжение следует)
Отличная документация! Так держать!
ОтветитьУдалитьСпасибо.
ОтветитьУдалитьПока "так держать" не совсем получается, потому что нагрузка по основной работе большая ;).
Про ctrl-alt-del совершенно неправильно. 0 это graceful restart, а больше 0 немедленная перезагрузка.
ОтветитьУдалитьsowgag(sowgag@гуглпочта)