Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 23
Текст из файла (страница 23)
Запрет квоты для пользователя или группыИногда не нужно ограничивать какого-то отдельного пользователя — и всамом деле, не будете же вы ограничивать самого себя? Тогда для этого вамнужно использовать программу edquota и установить значения soft и hardравными 0. После этого данный пользователь или группа сможет использовать дисковое пространство без ограничений.•3.6.3. Использование программы linuxconf для определения квотОчень удобно редактировать ограничения с помощью linuxconf. Для этого запустите linuxconf и выберите в меню Filesystems -> Set quotas default(см. рис.
3.8).WevfhdaS-User default;;Disk .space soil M::се giace periodf-tes soft (rift:H jsfliaee period .'\.•••*••••:-.•••• Qraupdeiau tРис.- З.8. Редактирование квот программой linuxconfЗдесь можно указать ограничения, которые будут использованы по умолчанию для пользователей или групп. При этом можно также указать интервал времени (grace period), по истечении которого «мягкое» ограничениеперейдет в «жесткое» .
Ограничения можно задать отдельно и для конкретного пользователя. Для этого выберите в меню программы User accounts -»User accounts и укажите пользователя, для которого вы хотите задать ограничения (см. рис. 3.9).91Учетные записи пользователейYou must spectfy at feast the login name.1! тюте :Disk space hard foistРис. 3.9.
Определение квот для пользователяПо умолчанию используется значение Default, то есть для этого пользователя будут использованы такие же ограничения, как и для всех остальных.Значение No limit — без ограничения. Ограничения можно задавать отдельнои для разных файловых систем.Для квотирования сетевой файловой системы (NFS) нужно установитьquota на сервере, а на клиенте она не нужна. Клиент получит сведения обограничениях с помощью rquotad, который должен быть установлен и запущен на сервере. Вам не нужно устанавливать флаги usrquota или grpquota длямонтирования NFS-дисков.
Вместо этого установите quota на своем файловом сервере и запустите на нем из гс-файла сервер rpc.rquotad.3.7. Сценарий создания пользователейВ качестве завершения этой главы приведу обещанный мною сценарийдобавления новых пользователей (см. листинг 3.2). Данный сценарий нужнопоместить в каталог /sbin и сделать этот файл исполнимым: chmod 711 /sbin/nu.Листинг 3.2. Сценарий пи# !/bin/bash# nu (New User) — Сценарий добавления пользователей.I Группа по умолчанию92Учетные записи пользователейGROUP=100# Оболочка по умолчаниюSHELL=/bin/bash# Префикс для домашнего каталогаHOME=/home# Время окончания действия пароля (дни)EXPIRE=30# Минимальное количество дней до смены пароляDAYS=0# За 5 дней предупреждаем пользователяWARN=5ЛлWHOAMI= /usr/bin/whoamiif [ $WHOAMI!="root" ]; thenecho "Access violation."exit 1fiecho -n "Enter new name: "read USERNAMEecho -n "Enter full name: "read FULLNAMEadduser -c "5FULLNAME" -d $HOME/$USERNAME -e $EXPIRE-g $GROUP -S $SHELL $USERNAMEpasswd -n $DAYS -w $WARN $USERNAMEpasswd $USERNAME\93Файловая система Linux4.1.
Файлы и каталоги. Дерево каталогов1.2.3.4.5.6.94В свое время, при использовании DOS вводилось определение файла какпоименованной области данных на диске — на то DOS и дисковая операционная система. В Linux понятие файла значительно расширено. Практическивсе, с чем вы имеете дело в Linux, является файлом. Команды, которые вывводите с клавиатуры, — это файлы, которые содержат программы. Устройства вашего компьютера -- это тоже файлы.
Грубо говоря, файл -- этопоследовательность битов, а жесткий диск — просто смесь нулей и единиц.Linux представляет биты так, как вам понятно, и в этом заключается одна изее основных функций — управление файловой системой. Файловая система способ организации и представления битов на жестком диске.Большинство файловых систем Unix-подобных операционных системсходны между собой. Файловая система Linux — ext2 (ext3) — очень похожана файловую систему ufs.
К основным понятиям файловых систем в миреUnix относятся:Блок загрузки (boot block).Суперблок (superblock).Индексный (информационный) узел (inode).Блок данных (data block).Блок каталога (directory block).Косвенный блок (indirection block).Блок загрузки содержит программу для первоначального запуска Unix.В суперблоке содержится общая информация о файловой системе. Всуперблоке также содержится информация о количестве свободных блоков иинформационных узлов.
Для повышения устойчивости создается несколькокопий суперблока, но при монтировании используется только одна. Еслипервая копия суперблока повреждена, то используется его резервная копия.Файловая система LinuxВ индексном (информационном) узлехранится вся информация о файле, кроме его имени. Имя файла и его дескриптор (номер информационногоузла — inode) хранятся в блоке каталога. В информационном узле есть местотолько для хранения нескольких блоков данных. Если же нужно обеспечитьбольшее количество, то в этом случаединамически выделяется необходимоеРис. 4.1.
Структура файловой системыпространство для указателей на новыеблоки данных. Такие блоки называются косвенными. Для того, чтобы найтиблок данных, нужно найти его номер в косвенном блоке.Файловая система ext2 имеет следующую структуру (см. рис. 4.1):1. Суперблок.2. Описатель группы.3. Карта блоков.4. Карта информационных узлов.5. Таблица информационных узлов.6. Блоки данных.Суперблок, как уже отмечалось выше, содержит информацию обо всейфайловой системе. Он имеется в каждой группе блоков, но это всего лишькопия суперблока первой трупы блоков: так достигается избыточность файловой системы.Описатель (дескриптор) группы содержит информацию о группе блоков.Каждая группа имеет свой дескриптор группы.
Карты блоков и информационных узлов — это массивы битов, которые указывают на блоки или информационные узлы соответственно. Таблица информационных узлов содержит информацию о выделенных для данной группы блоков в информационных узлах.Блоки данных — это блоки, содержащие реальные данные.Что касается файлов, то в операционной системе Linux существуетчетыре типа файлов:1. Файлы устройств.2. Каталоги.3. Обычные файлы.4.
Ссылки.Файлы устройств представляют собой устройства вашего компьютера.Файлы устройств находятся в каталоге /dev. Например, /dev/ttySO первый последовательный порт (СОМ1). Обычные файлы, в свою очередь,делятся на нормальные (текстовые) и двоичные.Каталоги — это специальные файлы, содержащие информацию о другихфайлах (файлах устройств (/dev), обычных файлов и ссылок). Конечно, этодовольно грубое определение, скорее интуитивное, чем точное.95Файловая система LinuxСсылки позволяют хранить один и тот же файл, но под разными именами. Немного позже мы поговорим более подробно о ссылках, а сейчасрассмотрим команды для работы с файлами и каталогами.
Максимальнаядлина имени файла составляет 254 символа. Имя может содержать практически любые символы, кроме: / \ ? > < | " *В своей работе я не рекомендую использовать слишком длинные, атакже русскоязычные имена файлов. Linux чувствительна к регистру символов, поэтому file.txt, FILE.TXT и File.txt — совершенно разные имена файлов, и данные файлы могут находиться в одном каталоге. Понятие «расширение файла» в Linux отсутствует. Напомню, что в DOS имена файловстроились по схеме 8+3: 8 символов — для имени и 3 — для расширения.Расширением (или типом в терминологии Windows) называется последовательность символов после точки.Свойства файловой системы ext2:Максимальный размер файловой системы4 Тбайт.Максимальный размер файла2 Гбайт.Максимальная длина имени файла255 символов.Минимальный размер блока1024 байт.Количество выделяемых индексных дескрипторов1 на 4096 байт раздела.4.2.
Команды для работы с файлами и каталогами4.2.1. Команды для работы с файламиПрежде чем приступить к описанию команд для работы с файлами,необходимо отметить, что для выполнения операций над файлами вы должны иметь права доступа к этим файлам. О правах доступа будет написанониже, а здесь предполагается, что пользователь имеет права доступа киспользуемым файлам.Создание и просмотр файлаДля просмотра файла обычно используется команда cat. Например:$ cat f i l e . t x tПри этом на стандартный вывод, то есть на ваш терминал, будет выведен файл f i l e . t x t . Однако более удобными командами для просмотрафайлов являются команды more или less:$ less f i l e . t x tСоздать файл можно так:$ cat > f i l e .
t x tЗдесь используется перенаправление ввода/вывода, о котором подробносказано в гл. 5. Данные со стандартного ввода (клавиатуры) перенаправляются в файл f i l e . txt. Проще говоря все, что вы после этой команды введете склавиатуры, будет записано в файл f i l e . txt. Чтобы закончить ввод нажмитеCtrl+D. Помните, что вы не сможете создать файл в каталоге, к которому у96Файловая система Linuxвас нет доступа.