img

Файлы конфигурации Linux. Полное руководство

Введение

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

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

В этом руководстве будут рассмотрены основные компоненты файлов конфигурации Linux, а также будут продемонстрированы их важность и значение для экосистемы Linux.

Что такое файл конфигурации Linux?

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

Файлы конфигурации – это неисполняемые файлы. Они просто содержат параметры и настройки для различных компонентов операционной системы. Сюда относятся процессы, группы пользователей, права доступа, доступ к сети и протоколы, директивы ОС, касающиеся доступа к серверу имен в Интернете, и т.д.

Почему файлы конфигурации так важны?

Файлы конфигурации играют важнейшую роль в системах Linux. С их помощью системные администраторы могут настраивать ОС, контролировать настройки системы и приложений, а также следить за сохранением настроек после перезагрузки. 

По сути файлы конфигурации крайне просты, но при этом они управляют чрезвычайно сложными механизмами. Один файл конфигурации может определять тысячи системных функций, а это значит, что он является неотъемлемым элементом, который отвечает за правильное функционирование системы.

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

Типы файлов конфигурации в Linux

Файлы конфигурации можно разделить на две основные категории:

  • Системные файлы конфигурации. Эти файлы конфигурации касаются всей системы. Как правило, они располагаются в корневом разделе (/), и для того, чтобы их изменить, необходим доступ суперпользователя.
  • Пользовательские файлы конфигурации. Эти файлы приспосабливают среду к индивидуальным предпочтениям пользователей. Как правило, они располагаются в домашнем каталоге пользователя, и для того, чтобы их изменить, права суперпользователя не требуются.

Помимо разделения файлов конфигурации на системные и пользовательские, их также можно разделить по типу (Linux). Эти файлы играют важную роль в управлении аутентификацией и системном администрировании, а также в настройке поведения пользовательских программ.

Далее мы рассмотрим различные типы файлов конфигурации в системе Linux и перечислим самые важные файлы для каждого типа.

Файлы доступа к сети

Файлы конфигурации доступа к сети содержат правила и инструкции по поиску имен хостов и управлению доступом к сети. Файлы настраивают и управляют политиками контроля доступа для сетевых служб и хостов.

Файлы доступа состоят из:

  • /etc/hosts.config. Этот файл содержит параметры конфигурации для разрешения имен хоста с помощью файла /etc/hosts.
  • /etc/hosts. Это локальная база данных для сопоставляется имен хостов с IP-адресами, используемыми, когда DNS недоступен, или для настройки локальной сети.
  • /etc/hosts.allow. Этот файл определяет правила допуска сетевых служб, исходя из таких критериев, как IP-адреса и имена хостов.
  • /etc/hosts.deny. Этот файл содержит правила, которые запрещают доступ к сети определенным службам или хостам, исходя из таких критериев, как IP-адреса и имена хостов.

Ниже продемонстрирован пример файла /etc/hosts:

Example contents of the config file that maps hostnames to IP addresses in Linux.

Файлы загрузки

Файлы конфигурации загрузки управляют процессом загрузки системы Linux. Эти файлы содержат информацию о системе, управляют службами загрузки и определяют уровни запуска системы. 

Загрузочные файлы включают следующее:

  • /etc/issue. Это текстовый файл, который содержит информацию о системе и сообщение-приветствие, отображаемое перед приглашением ко входу в систему.
  • /etc/issue.net. Этот файл похож на файл /etc/issue, но с тем лишь отличием, что он используется для сетевых подключений и удаленного доступа.
  • /etc/rc.d/rc. Это сценарий, который управляет уровнями запуска системы и службами запуска.
  • /etc/rc.d/rc.sysinit. Это сценарий, который отвечает за выполнение задач инициализации системы во время загрузки, в частности инициализации оборудования и монтирования файловых систем. 
  • /etc/rc.d/rcX.d/. Это каталог, который содержит символические ссылки на сценарии, отвечающие за управления запуском/остановкой служб на различных уровнях запуска (Х – это номер уровня запуска).

На следующем скиншоте продемонстрировано содержимое файла /etc/issue, в частности сообщение-приветствие:

The config file that defines the greeting message in Linux.

Файлы процедуры входа/выхода

Файлы конфигурации процедуры входа/выхода необходимы для управления пользовательскими сеансами в системе Linux. Эти файлы управляют доступом и отвечают за доставку сообщения-приветствия, когда пользователь входит в систему. К этим файлам относятся:

  • /etc/issue. Этот файл содержит информацию о системе и отвечает за отображение сообщения-приветствия перед приглашением ко входу в систему. 
  • /etc/issue.net. Идентичен /etc/issue, но используется для сетевых подключений и удаленного доступа.

Примечание: файлы /etc/issue и /etc/issue.net имеют отношение как к загрузке, так и к процедуре входа/выхода из системы. Они выполняют двойную функцию: отображают информацию о системе и сообщение-приветствие во время входа в систему.

Файлы файловой системы

Файлы конфигурации файловой системы управляют и определяют то, как будет производиться создание и доступ к устройствам хранения и файловым системам. Эти файлы помогают контролировать и определять параметры управления хранилищами. Вот некоторые основные файлы:

  • /etc/mtab. Это файл, в котором содержится список монтированных на данный момент файловых систем, информация об устройстве, точка монтирования и тип файловой системы.
  • /etc/fstab. Это файл конфигурации, который определяет и управляет конфигурацией процесса монтирования статической файловой системы, в том числе параметры для каждой точки монтирования. 
  • /etc/mtools.conf. Это файл конфигурации для пакета mtools, используемого для доступа и управления файловыми системами MS-DOS (FAT), который определяет настройки таких инструментов, как mcopy и mdir.

На следующем скриншоте продемонстрирован файл /etc/fstab, где есть строка, обеспечивающая сохранение раздела подкачки после перезагрузки:

Example of the fstab config file that defines mount points in the file system.

Файлы системного администрирования

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

Ниже представлены самые важные файлы:

  • /etc/group. Этот файл содержит информацию о группах пользователей, в том числе названия групп и соответствующие учетные записи пользователей.
  • /etc/nologin. Этот файл позволяет ограничить доступ в систему для некоторых пользователей. Чаще всего он используется для сообщений об обновлениях системы. 
  • /etc/passwd. Этот файл хранит информацию об учетных записях пользователей, в том числе имена пользователей, ID пользователей, домашние каталоги и исполняемые файлы оболочки.
  • /etc/rpmrc. Это файл конфигурации для менеджера пакетов RPM, который определяет глобальные настройки RPM. 
  • /etc/securetty. Этот файл содержит список терминалов (TTY), через которые root-пользователь (суперпользователь) может входить в систему напрямую.
  • /etc/usertty. Этот файл определяет, какие терминалы могут использовать пользователи.
  • /etc/shadow. Этот файл хранит хэши паролей и информацию о безопасности учетных записей пользователей, повышая, таким образом, безопасность паролей.

На следующем скриншоте продемонстрировано содержимое файла /etc/nologin, где указано, что пользователю exampleuser вход в систему запрещен:

A config file that prevents the listed users from logging in.

Файлы системных команд

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

Ниже представлены некоторые файлы:

  • /etc/lilo.conf. Это файл конфигурации для загрузчика LILO (LInux LOader), который определяет то, как система будет загружаться и управлять несколькими операционными системами. 
  • /etc/logrotate.conf. Это файл конфигурации для утилиты, отвечающей за обработку журналов (logrotate). Он управляет файлами журналов и политиками обработки журналов.
  • /etc/identd.conf. Это файл конфигурации для демона Ident, который определяет владельца TCP-соединений и используется для сетевых служб, таких как IRC. 
  • /etc/ld.so.conf. В этом файле перечислены каталоги, где система будет искать разделяемые библиотеки, динамически связанные с исполняемыми файлами. 
  • /etc/inittab. Это файл конфигурации для процесса инициализации, который определяет уровни запуска системы, действия и процессы, которые должны быть выполнены во время инициализации системы. 
  • /etc/termcap. Этот файл определяет возможности и характеристики различных типов терминалов, обеспечивая их правильное взаимодействие с приложениями.

На следующем скриншоте продемонстрирован пример файла /etc/ld.so.conf и список каталогов, где системе нужно искать динамические ссылки на исполняемые файлы:

The Linux config file that specifies a list of directories the system can search for dynamic links to executable files.

Файлы демонов

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

Ниже приведены основные файлы:

  • /etc/syslogd.conf. Это файл конфигурации для демона системного журнала (syslogd), который отвечает за управление журналами системы и приложений. Он определяет то, как необходимо обрабатывать и хранить журнальные сообщения.
  • /etc/httpd.conf. Это файл конфигурации для HTTP-сервера Apache (httpd), который используется для определения настроек сервера, виртуальных хостов и поведения при размещение веб-содержимого.

Файлы работы в сети

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

Ниже представлен список основных файлов:

  • /etc/gated.conf. Это файл конфигурации для демона протокола маршрутизации gated. 
  • /etc/gated.version. Этот файл содержит номер версии демона gated.
  • /etc/gateway. Опциональный файл конфигурации, который использует демон маршрутизации для получения информации о маршрутизации. 
  • /etc/networks. В этом файле перечислены названия и адреса сетей, доступных из вашей сети. Для сетевой маршрутизации нужна команда route. 
  • /etc/protocols. В этом файле перечислены доступные на данный момент сетевые протоколы, используемые для сетевых соединений.
  • /etc/resolv.conf. Этот файл определяет, какой сервер имен необходимо запрашивать при разрешении IP-адресов. 
  • /etc/rpc. Этот файл содержит инструкции/правила для удаленного вызова процедур (RPC - Remote Procedure Call), используемого при вызовах NFS, монтировании удаленной файловой системы и т. д.
  • /etc/exports. Этот файл содержит конфигурации для экспорта файловых систем через NFS, в том числе права доступа. 
  • /etc/services. Этот файл переводит имена сетевых служб в номера портов и протоколы, используемые различными сетевыми программами.
  • /etc/inetd.conf. Это файл конфигурации для inetd, который управляет демонами различных сетевых служб.
  • /etc/sendmail.cf. Это файл конфигурации для агента передачи почты (sendmail).
  • /etc/sysconfig/network. Этот файл указывает, доступна ли сеть. Он считывается во время инициализации системы. 
  • /etc/sysconfig/network-scripts/if*. Это сценарии сетевой конфигурации Red Hat, предназначенные для управления сетевыми интерфейсами.

Ниже приведен пример файла /etc/protocols, где содержатся все протоколы, доступные на данный момент:

The available protocols in Linux.

Файлы пользовательских программ

Файлы конфигурации пользовательских программ позволяют настраивать и адаптировать под себя приложения. Эти файлы, как правило скрыты и хранятся в домашнем каталоге пользователя. Эти скрытые файлы и каталоги имеют префикс с точкой, например, .config или .appname. Для того, чтобы просмотреть их, вам понадобиться команда ls.

Пользовательские и системные программы обращаются к своим файлам конфигурации каждый раз, когда вы их запускаете. Конфигурация по умолчанию считывается из файлов конфигурации, которые хранятся в каталоге /etc/.  В дальнейшем пользователи смогут настраивать программы с помощью rc- и дотфайлов.

В следующем разделе рассказывается, как редактировать файл конфигурации в Linux.

Как редактировать файлы конфигурации в Linux?

У каждого дистрибутива Linux свои файлы конфигурации, соглашения о присвоении имен и места хранения. К некоторым файлам конфигурации обращаются по имени файла с расширением или без него, а к некоторым по расположению в каталоге.

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

Формат и синтаксис файлов зависят от приложения, к которому они относятся. Некоторые приложения даже предоставляют инструменты графического интерфейса, с помощью которых можно изменять их настройки. К самым распространенным форматам относятся INI, XML, JSON и пользовательские форматы.

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

После внесения изменений в файл конфигурации программы, ее необходимо перезапустить (если это не управляется системным администратором или ядром). Изменения файлов конфигурации в ядре вносятся сразу же. 

Например, добавив пользователя в файл passwd, вы активируете это изменение немедленно. Но учтите, что только суперпользователь имеет право изменять файлы ядра. Другие пользователи имеют доступ только для чтения. 

Заключение 

В этой статье мы рассмотрели важность файлов конфигурации Linux, как они работают и как отражаются на системе и пользовательских программах. Редактируя файлы конфигурации, пользователи могут настраивать систему и программы по своему вкусу, используя большое количество возможностей для персонализации. 

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59