Как содержание конфигурационных файлов анализируется на различных дистрибутивах Linux?

То, что это означает, в конечном счете, то, что сервер SSH на другом конце отказал или в некотором роде не работает. Это все еще слушает на сокете, но это не способно к выполнению криптографического квитирования.

Единственное решение состоит в том, чтобы перезапустить процесс на удаленной стороне.

3
04.09.2014, 00:27
1 ответ

Ядро не читает никакой конфигурационный файл. Как правило, ядра избегают доступа к файловой системе; есть несколько исключений и вариаций, но в основном ядро запускает программу по адресу /sbin/init при загрузке, а доступ к файловым системам осуществляется только от имени пользовательских наземных процессов.

Файлы сетевой конфигурации (как и другие виды конфигурационных файлов) считываются приложениями. Для файлов сетевой конфигурации эти приложения представляют собой наборы сценариев и сопровождающих их двоичных файлов, которые считывают файл и применяют конфигурацию, делая системные вызовы . Для конфигурирования сети в Linux системными вызовами в основном являются ioctl вызовы на сокеты (вам не нужно этого понимать).

За время существования Linux (и Unix до него) некоторые конфигурации стали стандартными, потому что все согласились, как это делать. Во многом это так (хотя и не универсально) для пользователей (/etc/passwd, NSSwitch) и файловых систем (fstab). С другой стороны, конфигурация сети осталась довольно разнообразной. Дистрибутивы, полученные от Red Hat, хранятся в /etc/sysconfig/network; дистрибутивы, полученные от Debian, хранятся в /etc/network/interfaces.

На примере Debian, /etc/network/interfaces анализируется программой ifup , которая вызывается из /etc/init.d/networking, скрипта init, отвечающего за настройку сети, который сам вызывается init.

3
27.01.2020, 21:23

Теги

Похожие вопросы