| Как известно, Linux - это многопользовательская операционная система. Это значит, что на одном компьютере могут работать несколько человек одновременно. Каждый из них имеет свою домашнюю директорию, которая находятся в разделе /home. Многие администраторы для /home создают отдельный раздел на жестком диске. Следовательно, что мы имеем? Есть отдельный раздел диска фиксированного размера и есть несколько пользователей, которые могут им пользоваться. Здесь возникает вопрос. А как разделить это пространство между всеми пользователями? Как застраховаться от ситуации, когда пользователь захочет перенести в свой раздел всю коллекцию фильмов или музыки? Для решения этой проблемы в Linux и существуют квоты. Установка дисковых квот. Первым делом в ядре должна быть включена поддержка квот. Если у вас ядро серии 2.6, то по умолчанию квоты включены, если - 2.4 - пересоберите ядро (посмотреть версию ядра можно командой uname -r). Для того, чтобы проделать все нижеописанное, Вам понадобится утилита quota, установленная на вашем компьютере. Бинарные пакеты существуют для всех распространенных дистрибутивов. $ sudo apt-get install quota Все. Никаких дополнительных пакетов не требуется. Теперь, как я уже упоминал выше, допустим, у нас есть папка /home, смонтированная на отдельном разделе жесткого диска, скажем /dev/sda8, размером 20Гб, и два пользователя - serhiy и nadiia с домашними директориями /home/serhiy/ и /home/nadiia. И что я хочу сделать? Правильно, ограничим пользователя nadiia всего 50 мегабайтами. Приступим. 1. Загрузитесь в однопользовательский режим. Поскольку директория /home будет перемонтирована, то мы должны застраховаться от того, что другие пользователи могут потерять свои данные. #init 1 (этого можно и не делать, если вы уверены, что за компьютером больше никто кроме вас не работает) 2. Отредактируйте файл /etc/fstab/: $sudo vi /etc/fstab/ добавив usrqouta к опциям раздела /home. /dev/sda8 /home ext3 defaults,usrquota 0 2 3. Перемонтируйте раздел /home: $ sudo mount -o remount /home 4. Создайте файлы aquota.user и/или aquota.group. Файлы должны быть созданы в самой верхней директории раздела. В нашем случае это /home. Поскольку я хочу ограничить квотами лишь пользователей, файл aquota.group я создавать не буду. $ sudo touch /home/aquota.user 5. Разрешаем linux читать файл aquota.user. Это делается с помощью команды quotackeck. Будьте готовы к тому, что будет выведена ошибка, как показано ниже. Это связано с тем, что файл был создан вручную, а не командами qouta. Также будет сказано об отсутствии файла для групп. Ничего страшного в этом нет $ sudo quotacheck -vagum 6. Задайте квоты для пользователей, используя команду edquota $sudo edquota -u nadiia Эта команда запустит редактор, установленный по умолчанию (переменная EDITOR) (в моем случае это редактор mc -mcedit): Disk quotas for user nadiia (uid 1001): (Если используемый по умолчанию редактор вам не нравится, всегда можно его изменить, запустив в консоли export EDITOR=vi. Вместо vi запишите удобный для вас редактор) В приведенном выше файле: Blocks : Место, используемое пользователем в блоках длиной 1kB. Ограничим пользователя всего 50-ю мегабайтами (приблизительно). Disk quotas for user nadiia (uid 1001): 7. Теперь можно выйти из однопользовательского режима (если вы работали в нем), набрав #init 5 Все. Теперь пользователь nadiia не может превысить 50Mb. Другие команды quota. Изменяем период отсрочки: $sudo edquota -t Эта команда установит период отсрочки для всех пользователей. Период отсрочки - это период, во время которого опция soft period будет лишь предупреждать, но не ограничивать. Могут быть использованы секунды, минуты, часы, дни, недели и месяцы (нужно вписать на английском языке seconds, minutes, hours, days, weeks и months ) Так выглядит запуск этой команды у меня: Grace period before enforcing soft limits for users: Редактирование квот для групп: $sudo edquota -g Регулярная проверка квот: Полезно регулярно выполнять quotacheck. Это можно реализовать, добавив задание в файл crontab 0 3 * * 0 /sbin/quotacheck -vagu (частоту выполнения задания можно выставить, используя синтаксис cron) Отчет об квотах: Команда repquota показывает суммарный отчет по квотам на файловой системе. У меня отчет выглядит следующим образом: $ sudo repquota /home | |
Категория: Интересные статьи |
Просмотров: 189 | Рейтинг: 0.0/0 | |
| Всего комментариев: 0 | |

