Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат

Содержание


Каталог /proc/sys
Файловая система /dev/pts
Подобный материал:
1   ...   21   22   23   24   25   26   27   28   ...   101

Каталог /proc/sys


Среди всех прочих каталогов /ргос каталог sys является особенным. Для построения ядра с поддержкой фильтрации пакетов необходимо также включить в ядро поддержку такой вещи, как sysctl (system control). Для этого в конфигурационном меню следует выбрать General Setup > Sysctl support. По умолчанию поддержка sysctl включена, то есть в файле конфигурации присутствует строка:

CONFIG_SYSCTL-y

Если в ядре присутствуют поддержка sysctl и поддержка /ргос и если файловая система /ргос смонтирована, то в каталоге /ргос появляется подкаталог sys, содержащий в себе несколько файлов и подкаталогов. В отличие от остальной файловой системы /ргос, которая предназначена только для чтения, каталог /proc/sys содержит в себе файлы, в которые можно записывать информацию.


ПРИМЕЧАНИЕ

В новых ядрах, содержащих поддержку mttr, в корне /ргос располагается файл mttr, в который также можно производить запись. Более того, это единственный файл в /ргос, если не считать символические ссылки и kcore, обладающий ненулевым размером, поэтому его можно считать исключением из общего правила.

Файлы каталога /proc/sys позволяют изменять состояние (параметры работы) ядра прямо в процессе его функционирования. Данной возможностью пользуются многие программы. Например, после запуска сервера XFree86 вы не сможете инициировать завершение работы системы при помощи комбинации клавиш Ctrl+Alt+Del, не переключившись предварительно на виртуальный терминал. Система ведет себя так потому, что Х-сервер записал значение 0 в файл /proc/sys/ kernel/ctrl-alt-del и тем самым запретил перезагрузку при нажатии этой комбинации клавиш. Виртуальный терминал, наоборот, записывает в этот файл значение 1 и, таким образом, разрешает использование комбинации Ctrl+Alt+Del привычным для вас образом.

Кроме того, вы можете модифицировать файлы каталога /proc/sys напрямую. Если вы считаете, что можете настроить ядро лучше, чем это обеспечивается настройками по умолчанию, то с помощью /proc/sys вы сможете изменить настройки множества подсистем, включая виртуальную память, файловые системы и сетевые подсистемы, на которые приходится основная масса изменяемых через /proc/sys параметров. Более того, иногда это попросту необходимо. Например, чтобы включить механизм перенаправления IP (IP forwarding), нужно записать в файл /proc/sys/net/ipv4/ip_forward значение 1 (если перенаправление IP выключено, в этом файле содержится значение 0). По умолчанию в этом файле содержится 0. Очевидно, что без поддержки /ргос и sysctl включить перенаправление IP в процессе работы ядра не удастся. Значение этого параметра (как, впрочем, и других подобных параметров), используемое по умолчанию, определено в исходных кодах ядра. Конечно, вы можете отредактировать исходные файлы ядра таким образом, чтобы по умолчанию механизм перенаправления IP был включен, однако это не самая лучшая идея. Кроме очевидных неудобств, связанных с переходом на новую версию ядра, в результате подобных изменений могут возникнуть проблемы и с текущим ядром. Значения параметров по умолчанию являются безопасными, иначе говоря, они специально подобраны так, чтобы скомпилированное с их использованием ядро нормально функционировало на большинстве самых разнообразных компьютеров. Потому если вы займетесь редактированием исходного кода ядра и будете изменять изначальные значения параметров работы какой-нибудь жизненно важной подсистемы, например виртуальной памяти, вы можете получить ядро, которое невозможно будет использовать на многих компьютерах, в том числе и на вашем. Гораздо правильней будет оставить исходные тексты в покое, а для управления параметрами работы ядра использовать другие способы (например, конфигурационные файлы или систему /proc/sys).


ВНИМАНИЕ

В результате изменения значений некоторых файлов из каталога /proc/sys (в особенности в подкаталоге vm) система может перейти в нестабильное состояние, поэтому прежде чем менять параметры работы какой-либо подсистемы, рекомендуется сначала внимательно прочитать документацию /ргос, содержащуюся в каталоге /usr/src/linux/Documentation.

В ядрах версий 2.4х файловая система /ргос существенно не изменится. Некоторые файлы будут называться по-другому, возможно, изменятся значения по умолчанию для некоторых параметров, возможно, появятся новые каталоги, но произойдет это не потому, что старая структура /ргос обладала недостатками или приводила к проблемам с безопасностью, а вследствие структурных изменений самого ядра. Если меняется само ядро, значит, меняется и его отображение через файловую систему /ргос.

Файловая система /dev/pts


Файловая система /dev/pts является одним из улучшений, появившихся в ядрах серии 2.1х. Она пришла смену псведотерминалам в стиле BSD, то есть устройствам /dev/pty?, дабы устранить некоторые их недостатки. Совместное существование обоих этих механизмов в одной системе невозможно: либо вы используете /dev/pty?, либо /dev/pts. В OpenLinux предпочтение отдано стилю /dev/pts.

Чтобы активизировать файловую систему /dev/pts, необходимо настроить два конфигурационных параметра ядра и добавить в файл /etc/fstab одну дополнительную запись. Первый параметр ядра устанавливается при помощи пункта Character devices > Unix98 PTY support. Там же можно указать и максимальное число псевдотерминалов, доступных для одновременного использования. По умолчанию можно использовать не более 256 псевдотерминалов, но при необходимости, например для серверных систем, это число можно изменить вплоть до максимального значения, указанного в справке. Для архитектуры Intel максимальное допустимое значение равно 2048.

CONFIG_UNIX98_PTYS=y

Второй параметр находится в меню File systems и называется /dev/pts file system for Unix98 PTYs. Без него система будет продолжать использовать псевдотерминалы в стиле BSD.

CONFIG_DEVPTS_FS=y

После получения ядра с поддержкой файловой системы /dev/pts эту файловую систему необходимо активизировать, для чего в /etc/fstab нужно поместить следующую строку:

devpts /dev/pts devpts gid=5,mode=620 0 О

Если заместить файл /etc/fstab, устанавливаемый Caldera OpenLinux 2.2 или выше, файлом /etc/fstab для ядра 2.0.x, то вы получите неработоспособную систему, поскольку она не сможет создать необходимые устройства. Эти устройства создаются в каталоге /dev/pts прямо в процессе функционирования системы и нумеруются.

Приведенная здесь запись в файле /etc/fstab означает, что файловая система находится на устройстве devpts, точкой ее монтирования является /dev/pts, тип файловой системы — devpts, монтируется она с GID, равным 5, что соответствует системному пользователю tty, а режим доступа rw--w----. Режим 620 позволяет другим пользователям пересылать на данный псевдотерминал сообщения и эквивалентен команде mesg=y. Чтобы запретить посылку сообщений на данный псевдотерминал, нужно выполнить команду mesg=n или изменить его режим на 600.

В результате открытия нового сеанса telnet, xterm и т. п. в файловой системе /dev/pts создается новое устройство. Максимальное количество таких устройств определяется, как уже говорилось, при конфигурации ядра. При закрытии сеанса соответствующее ему устройство удаляется из каталога /dev/pts.