LXF114-114:DrBrown2
|
|
|
Разоблачение fstab
- Удобный иллюстрированный путеводитель по синтаксису файла fstab.
Файл /etc/fstab есть во всех дистрибутивах Linux: он связан с монтированием файловых систем. Это важный файл, и ошибки в нем могут привести к тому, что система не загрузится вовсе. Формат файла fstab был достаточно очевидным, но огромное количество типов файловых систем, опций монтирования и вариантов определения разделов усложнили его. На нашем уроке по основам основ, мы попробуем разобраться в структуре fstab.
Каждая строка файла fstab разбивается на шесть следующих полей:
- Поле 1 Устройство, содержащее файловую систему. На диаграмме слева для идентификации раздела диска используется имя устройства. В последних дистрибутивах для этого используются метки дисков или UUID. Для файловой системы NFS это поле содержит строку типа docserver:/usr/share, что означает «каталог /usr/share на сервере NFS с именем docserver». В случае с логическими томами это поле будет содержать имя устройства, осуществляющего отображение [device mapper], типа /dev/VolGroup00/LogVol00.
- Поле 2 Точка монтирования. Обычно это имя пустого каталога в корневом разделе. [Не совсем правильно, это имя каталога где угодно и совершенно не обязательно каталог должен быть пустым, но при этом следует помнить что если каталог не пуст то при монтировании сторонней файловой системы в него данные из него исчезают, а при отмонтировнаии вновь появляются]
- Поле 3 Тип файловой системы. Linux поддерживает множество файловых систем; те, что распознаются вашим ядром, можно найти в /proc/filesystems.
- Поле 4 Здесь определяются параметры монтирования. Набор возможных опций частично зависит от типа файловой системы, а их великое множество. См. таблицу «Опции монтирования» с подробной информацией. Если указывать параметры не требуется, здесь появляется слово “defaults”.
- Поле 5 Это поле почти вышло из употребления. Оно используется dump (программой создания инкрементных резервных копий) и обозначает диски, которые нужно архивировать.
- Поле 6 Это поле определяет порядок, в котором файловый системы будут проверяться (утилитой fsck) во время загрузки. Обычно оно содержит ‘1’ для корневого раздела и ‘2’ для остальных.
Мнимые файловые системы
Не все файловые системы fstab настоящие. Некоторые из них – лишь плод воображения ядра. В последние годы концепция «файла» расширилась, и теперь файлом считается любой источник данных (не обязательно нечто хранимое на диске), к которому можно получить доступ с помощью стандартных системных вызовов ввода-вывода данных из файла и который можно просмотреть стандартными командами типа ls или cat. Наверное, самая известная из этих псевдофайловых систем – это файловая система proc, которая предоставляет доступ к внутренним данным ядра, включая подкаталоги с информацией о каждом процессе.
Строки, которые мы видели, определяют операции монтирования, которые будут выполняться во время загрузки командой mount где-то в скрипте загрузки. На схеме ниже показана строка для съемного устройства, такого как CD. Эта строка здесь не для того, чтобы определить монтирование во время загрузки, а для того, чтобы упростить монтирование съемных устройств. Прежде всего, она означает, что можно смонтировать CD, просто набрав команду
$ mount /dev/hdc
В заключение рассмотрим еще несколько опций монтирования. Существует огромное количество параметров, здесь не указанных. Просмотрите man-страницы для fstab и mount, там все в самом деле очень подробно.
- ro Монтировать в режиме только для чтения. Например, если каталог /usr находится на отдельном разделе, его монтирование в режиме только для чтения улучшит безопасность, так как защитит от изменения двоичные файлы в /usr/bin и библиотеки в /usr/lib.
- noatime Не обновлять время последнего доступа к файлу. При определенных условиях это может повысить производительность. В Ubuntu используется аналогичная опция “relatime”.
- sync Принудительно синхронизирует все операции записи (данные сразу пишутся на диск).
- nosuid Нивелирует действие атрибутов “setuid” и “setgid”. Эта опция часто назначается сменным носителям. Она не позволит злоумышленникам получить доступ администратора, например, с помощью CD с оболочкой с установленным битом setuid, владельцем которой является root.