В Linux есть целый список конфигурационных файлов, отвечающих за поведение тех или иных компонентов системы. Принято считать их частью платформы. Но на деле, конфигурационные файлы относятся к определенным приложениям, которые управляют операционной системой и некоторыми ее функциями.
Большая часть самых полезных и востребованных параметров хранятся в папке /etc/. Далее рассмотрим каждый из них более подробно.
/etc/adjtime
Этот файл, как можно понять по его названию, отвечает за время. Данные из этого документа считывает программа systemd-timedated. Она использует настройки из файла и выставляет правильный формат времени на системном уровне.
Обычно в /etc/adjtime используется одно из двух значений: LOCAL — для отображения в системе времени текущего часового пояса. UTC — для отображения всемирного координированного времени. Естественно, значение можно сменить вручную или изменить его с помощью приложения timedatectl.
На этом все. Других функций у описанного конфигурационного файла нет.
/etc/bash.bashrc
Технически это даже не конфигурационный файл. Этот документ представляет собой скрипт, который запускается каждый раз, когда к нему обращается оболочка bash. Собственно, в скрипт включается целый список параметров для настройки системы bash.
/etc/crontab
В этом файле настраивается расписание работы утилит Cron. По сути, это инструмент планирования. В него можно занести список команд, которые вы хотите выполнить и указать время их запуска вкупе с периодичностью. Это может пригодиться на тот случай, если вдруг захочется заставить Linux автоматически обновлять список пакетов каждый вечер или перезагружаться в какой-то заранее выбранный участок времени.
/etc/environment
А здесь указываются переменные окружения, загружаемые в оболочку при запуске терминала. Обычно живые люди этот файл не трогают. Его содержимое считывается с помощью оболочки Bash во время запуска ее базового скрипта.
/etc/fstab
Еще один файл, в который обычно никто не лезет, потому что в свежих версиях Linux с ним работает программа systemd, ретранслирующая данные в нужный формат. А вообще в /etc/fstab хранятся записи для монтирования файловых систем. Тут можно посмотреть UUID отдельных устройств, путь до них, тип файловой системы и так далее.
Естественно, все можно отредактировать на свой вкус. Главное, делать это осторожно, чтобы ничего не поломать. Иначе все может закончиться полной переустановкой ОС.
/etc/group
Тут содержатся все системные группы. И те, что создаются автоматически, и те, что добавил какой-то из пользователей. Файл можно редактировать, добавляя сюда группы самостоятельно. Или же изменяя какие-то отдельные их свойства. Например, можно добавить новых пользователей в группу или изменить ее привилегии. Все это возможно, но так делать не принято. Для управления группами давно придумали удобную и понятную утилиту usermod.
/etc/hostname
Здесь нет ничего кроме имени хоста. По сути, это ваше имя. Файл считывается системой еще на запуске и фиксируется ею. После этого все приложения будут обращаться к вам, используя то имя, что было прочитано в файле /etc/hostname.
Данные в этот файл записываются еще на этапе первичной настройки операционной системы. Впрочем, поменять их можно в любой момент. Без последствий.
/etc/hosts
Тут хранятся псевдонимы для всевозможных сетевых узлов. Они используются, чтобы подключаться к сайтам в обход DNS-сервера, передающего информацию об адресах этих самых сайтов. То есть вы сами указываете, какой адрес будет использоваться при подключении к определенному ресурсу.
Этот механизм хитро используют для блокировки определенных сайтов или рекламных баннеров. Пользователи настраивают файл так, чтобы все нежелательные элементы веб-страниц переправлялись на несуществующие или локальные адреса.
/etc/issue
Вообще, название файла переводится как «выпуск», и тут закономерно хранится информация о Linux-дистрибутиве, который вы используете. Туда же попадают данные о версии ядра Linux. Эта информация отображается при входе в любую программную оболочку (проще говоря, при запуске терминала).
При желании можно заменить ее на другой текст. На работу системы это никак не повлияет, но при подключении по SSH или при запуске командной строки будут выводиться не сведения о системе, а тот текст, что вы туда вбили.
/etc/login.defs
В этом файле содержится список параметров, которые используются для управления пользователями и настройками входа в ОС. Здесь можно указать довольно большой список особенностей поведения системы в разных ситуациях. Например, что делать компьютеру, если кто-то удалит пользовательскую папку, или сколько раз можно пытаться войти в систему, вводя неправильный пароль (до блокировки системы).
/etc/mime.types
Здесь находятся данные для системы MIME. Это некий свод правил, который преобразует расширения файлов и дает системе понять, какие инструменты стоит выбирать, чтобы открывать те или иные типы файлов.
По умолчанию /etc/mime.types доступен только для чтения, и вам вряд ли придется в нем что-то менять.
/etc/modprobe.d
Это не файл, а директория. Здесь хранится целый список конфигурационных файлов для управления модулями ядра Linux. Можно выбрать, какие модули будут загружаться вместе с системой, а какие будут игнорироваться. Также тут есть параметры для каждого модуля в отдельности. Список файлов в папке modprobe можно посмотреть с помощью команды ls /etc/modprobe.d. Затем можно выбрать любой из отобразившихся файлов и открыть его в текстовом редакторе.
/etc/nsswitch.conf
Это файл с тонкими настройками для всех утилит в системе, что написаны на языках C. Здесь можно задать список разных баз данных и список запросов для них, которые будет выполнять Linux в ходе работы ОС.
/etc/ntp.conf
NTP — еще один конфигурационный файл, который отвечает за отображение времени в системе. Только в отличие от других схожих документов NTP не показывает время. Он связывается с серверами синхронизации времени и напрямую взаимодействует со службой NTPD. Собственно, сами серверы указываются в файле /etc/ntpd.conf.
/etc/os-release
Файл /etc/os-release обычно используют вкупе с утилитой cat, чтобы без лишних телодвижений вывести в терминал информацию об операционной системе. В этом файле отображается версия дистрибутива, его название, иногда ссылки на официальные ресурсы и так далее. Редактировать его бессмысленно. Никакой пользы в этом не будет, а вот информация, вписанная в него по умолчанию в будущем может пригодиться.
/etc/passwd
Несмотря на то, что название файла намекает на пароли (раньше они действительно хранились тут), с паролями он связан только косвенно. На самом деле, там хранятся данные о пользователях компьютера. Естественно, их имена, также дата, когда должен быть заменен пароль конкретного пользователя, и путь до программной оболочки. Обычно никто не меняет данные в этом файле вручную. Для этого есть отдельная программа.
/etc/profile
Еще один скрипт в нашем списке. Он запускается вместе с любой программной оболочкой. То есть при включении Bash система читает содержимое файла /etc/profile и запускает все команды, которые в него вписаны. В общем, если понимаете, о чем идет речь и знаете, как можно изменить или дополнить запуск оболочки, то теперь знаете, где это можно сделать.
/etc/shadow
А вот и файл с паролями. Так исторически сложилось, что пароли переехали на новое место для обеспечения безопасности и теперь находятся тут. Впрочем, они хранятся в зашифрованном виде — здесь лежат именно хэши, а не пароли сами по себе. Обычно пароль меняют с помощью специальной программы или ее аналога в графической оболочке. Но при желании можно изменить пароль и в файле /etc/passwd. Правда, придется сначала зашифровать его в соответствующем формате.