3.5. Удаление и модификация учетных записей
Для удаления пользователя можно воспользоваться командой userdel. Удалять учетные записи умеет и linuxconf. При удалении пользователя программа linuxconf спросит у вас, что делать с домашним каталогом удаляемого пользователя: удалить, архивировать или оставить без изменения. Что делать с ним — это уже вам решать.
Модифицирование учетной записи реализуется программой usermod. Здесь хочу дать один совет: для модифицирования (да и создания) учетных записей гораздо удобнее пользоваться программой linuxconf. Например, для создания учетной записи, введите команду linuxconf (или userconf — для Linux Mandrake). Затем запустите конфигуратор учетных записей, нажав на кнопку «User Accounts» (если вы запустили userconf, этого делать не нужно). В окне UserAccount Configurator перейдите на вкладку Normal (см. рис. 3.1) и нажмите на кнопку «User Accounts» (см. рис. 3.2), а затем на кнопку «Add».
Рис. 3.1. User Account Configurator
Рис. 3.2. Учетные записи
Рис. 3.3. Добавление учетной записи
3.6. Квотирование
Квотирование — мощный механизм ограничения дискового пространства, используемый еще в ранних версиях UNIX. Данный материал настолько объемный, что ему можно было бы смело посвятить целую главу. Надеюсь, читатель мне простит, если я немного отклонюсь «от основного курса». Вспоминается народная мудрость: все новое — это хорошо забытое старое. Квоты поддерживались самыми ранними версиями UNIX, тогда как в состав ОС семейства Windows компания Microsoft включила их только в Windows 2000, естественно, гордо заявив об этом.
Команда quota (см. дальше) позволяет просмотреть ограничения дискового пространства для данного пользователя. Ограничения, как правило, устанавливаются системным администратором. При этом существуют два типа ограничений — ограничение на количество файлов (inodes) и ограничение на использование дискового пространства (blocks). Если установлены оба ограничения, то они будут использоваться одновременно.
Ограничения на inodesи наblocksмогут быть установлены как для пользователя, так и для группы. Если вы входите в группу, которая превысила наложенное на нее ограничение, то вы не сможете использовать дисковое пространство, даже если вы не превысили квоту как пользователь.
Для каждого ограничения характерны четыре числа:
1. Ограничение, которое используется в данный момент.
2. «Мягкое» ограничение (softlimit).
3. «Жесткое» ограничение (hardlimit).
4. Время, по истечении которого «мягкое» ограничение будет интерпретироваться как «жесткое».
«Мягкое» ограничение определяет число блоков, которые пользователь все еще может превысить, «жесткое» ограничение превысить невозможно. При попытке сделать это, пользователь получит сообщение об ошибке. При истечении определенного времени (обычно 7 дней) «мягкое» ограничение переходит в «жесткое». За это время пользователь должен удалить ненужные ему файлы. Размер блока в Linux обычно составляет 1024 байт.
Для поддержки ограничений, прежде всего, нужно настроить ядро. Для этого необходимо включить quota support в меню Filesystem при конфигурировании ядра, а потом перекомпилировать ядро. С этой целью нужно перейти в каталог /usr/src/linux и выполнить команду make menuconfig, a затем ввести следующую последовательность команд:
make dep; make bzImage; make modules; make modules_install
Последние две нужно вводить в случае, если вы хотите перекомпилировать модули. Не забудьте ввести команду lilo (см. рис. 3.4) (перед этим нужно немного подправить файл /etc/lilo.conf, если вы этого не сделали раньше — см. гл. 18). Более подробно о конфигурировании ядра вы можете прочитать в гл. 18.
Звездочкой на рис. 3.4 отмечен раздел, загружаемый по умолчанию. Перед перекомпилированием ядра я настоятельно рекомендую прочитать п. 4.11 «Использование LILO» и гл. 18. Если при загрузке ядра на экране монитора вы увидите сообщение Turning onu ser and group quotas for local filesystems, это значит, что ваше ядро уже поддерживает квоты.
Рис. З.4. Запись загрузчика LILO
Теперь нужно определить, использование какой файловой системы вы хотите ограничить. Обычно это /home (домашние каталоги пользователей), /usr (пользователи имеют право записывать информацию в этот каталог) и, возможно, /var.
Для этого отредактируйте файл /etc/fstab следующим образом:
/dev/hda1 / ext2 defaults
/dev/hda4 /home ext2 defaults,usrquota
/dev/hda5 /usr ext2 defaults,usrquota,grpquota
none /proc proc defaults
Параметр usrquota означает ограничение пространства для пользователей на данном устройстве, a grpquota — для групп. Если вы пишите usrquota (grpquota) без знака «=», то подразумевается, что файлы ограничений находятся в корневом каталоге каждой файловой системы, для которой используются ограничения на дисковое пространство. Обычно эти файлы называются quota.user и quota.group для квот пользователей и групп соответственно. Однако вы сами можете указать какие файлы следует использовать для определения квот, например, usrquota= /quotas/user.quota. Старайтесь не указывать слишком длинный путь.
Периодически необходимо проверять содержащиеся в файле ограничения на целостность действительного числа блоков и файлов, выделенных для пользователя. Для этого используется команда quotacheck. Ее можно выполнять даже на смонтированных файловых системах, а также на файловых системах, на которых не используются квоты. Для проверки файловой системы на число блоков, которые используются пользователем, выполните команду:
# quotacheck –avug
В основном данную проверку нужно выполнять при некорректной перезагрузке. При этом вы можете включить эту команду в один из rc-сценариев и выполнять ее так же, как и fsck.
Для того, чтобы включить систему ограничений при загрузке операционной системы, добавьте команду quotaon –avug в сценарии загрузки системы.
Рис. 3.5. Результат выполнения команды quotacheck –avug
Только root имеет право использовать команды, связанные с квотированием. Команда quota, как уже было выше отмечено, используется для проверки используемых ограничений любого пользователя, а команда repquota — для проверки используемого пространства и ограничений для всех пользователей на данной файловой системе. При выполнении команды quotacheck –avug будут автоматически изменены файлы квот, а также будет изменена таблица ядра. Файлы квот имеют размер 2 Мб, даже если ни один из пользователей не использует квот.
Для того, чтобы получить информацию об ограничениях, наложенных на пользователя (группу), используется команда repquota –ua (см.рис. 3.6).
Рис. З.6. Результат выполнения команды repquota –ua
3.6.1. Определение ограничений
Для определения (задания) ограничений используется команда edquota. Ограничение дискового пространства пользователя производится командой edquota с параметром –u (см. рис. 3.7), а определение квот для группы — с параметром –g. После выполнения этой команды будет запущен редактор, который указан в переменной окружения $EDITOR, для редактирования квот. Редактировать надо только число, которое следует за словом hard или soft.
Рис. З.7. Результат выполнения команды edquota –u den
#edquota -u den
Перед выполнением этой команды выполните две следующие команды:
quotacheck –u <filesystem> quotaon –u <filesystem>