Linux-сервер своими руками
Шрифт:
3.6.3. Использование программы linuxconf для определения квот
Очень удобно редактировать ограничения с помощью linuxconf. Для этого запустите linuxconf и выберите в меню Filesystems→Set quotas default (см. рис. 3.8).
Рис. З.8. Редактирование квот программой linuxconf
Здесь можно указать ограничения, которые будут использованы по умолчанию для пользователей или групп. При этом можно также указать интервал времени (grace period),
Рис. 3.9. Определение квот для пользователя
По умолчанию используется значение Default, то есть для этого пользователя будут использованы такие же ограничения, как и для всех остальных. Значение No limit — без ограничения. Ограничения можно задавать отдельно и для разных файловых систем.
Для квотирования сетевой файловой системы (NFS) нужно установить quota на сервере, а на клиенте она не нужна. Клиент получит сведения об ограничениях с помощью rquotad, который должен быть установлен и запущен на сервере. Вам не нужно устанавливать флаги usrquota или grpquota для монтирования NFS-дисков. Вместо этого установите quota на своем файловом сервере и запустите на нем из rc-файла сервер rpc.rquotad.
3.7. Сценарий создания пользователей
В качестве завершения этой главы приведу обещанный мною сценарий добавления новых пользователей (см. листинг 3.2). Данный сценарий нужно поместить в каталог /sbin и сделать этот файл исполнимым:
4
Файловая система Linux
4.1. Файлы и каталоги. Дерево каталогов
В свое время, при использовании DOS вводилось определение файла как поименованной области данных на диске — на то DOS и дисковая операционная система. В Linux понятие файла значительно расширено. Практически все, с чем вы имеете дело в Linux, является файлом. Команды, которые вы вводите с клавиатуры, — это файлы, которые содержат программы. Устройства вашего компьютера – это тоже файлы. Грубо говоря, файл — это последовательность битов, а жесткий диск — просто смесь нулей и единиц. Linux представляет биты так, как вам понятно, и в этом заключается одна из ее основных функций — управление файловой системой. Файловая система — способ организации и представления битов на жестком диске.
Большинство файловых систем Unix-подобных операционных систем сходны между собой. Файловая система Linux — ext2 (ext3) — очень похожа на файловую систему ufs. К основным понятиям файловых систем в мире unix относятся:
1. Блок загрузки (boot block).
2. Суперблок (superblock).
3. Индексный (информационный) узел (inode).
4. Блок данных (data block).
5. Блок каталога (directory block).
6. Косвенный блок (indirection block).
Блок загрузки содержит программу для первоначального запуска Unix.
В суперблоке содержится общая информация о файловой системе. В суперблоке также содержится информация о количестве свободных блоков и информационных узлов. Для повышения устойчивости создается несколько копий суперблока, но при монтировании используется только одна. Если первая копия суперблока повреждена, то используется его резервная копия.
В индексном (информационном) узле хранится вся информация о файле, кроме его имени. Имя файла и его дескриптор (номер информационного узла — inode) хранятся в блоке каталога. В информационном узле есть место только для хранения нескольких блоков данных. Если же нужно обеспечить большее количество, то в этом случае динамически выделяется необходимое пространство для указателей на новые блоки данных. Такие блоки называются косвенными. Для того, чтобы найти блок данных, нужно найти его номер в косвенном блоке.
Файловая система ext2 имеет следующую структуру (см. рис. 4.1):
1. Суперблок.
2. Описатель группы.
3. Карта блоков.
4. Карта информационных узлов.
5. Таблица информационных узлов.
6. Блоки данных.
Рис. 4.1. Структура файловой системы
Суперблок, как уже отмечалось выше, содержит информацию обо всей файловой системе. Он имеется в каждой группе блоков, но это всего лишь копия суперблока первой группы блоков: так достигается избыточность файловой системы.
Описатель (дескриптор) группы содержит информацию о группе блоков. Каждая группа имеет свой дескриптор группы. Карты блоков и информационных узлов — это массивы битов, которые указывают на блоки или информационные узлы соответственно. Таблица информационных узлов содержит информацию о выделенных для данной группы блоков в информационных узлах.
Блоки данных — это блоки, содержащие реальные данные.
Что касается файлов, то в операционной системе Linux существует четыре типа файлов: