The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Дисковые квоты в Linux (disk quota limit linux debian)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: disk, quota, limit, linux, debian,  (найти похожие документы)
From: Serhiy Cherevko <http://linux-ru.blogspot.com>; Date: Sun, 10 Mar 2008 17:02:14 +0000 (UTC) Subject: Дисковые квоты в Linux Оригинал: http://linux-ru.blogspot.com/2007/03/linux.html Как известно, Linux - это многопользовательская операционная система. Это значит, что на одном компьютере могут работать несколько человек одновременно. Каждый из них имеет свою домашнюю директорию, которая находятся в разделе /home. Многие администраторы для /home создают отдельный раздел на жестком диске. Следовательно, что мы имеем? Есть отдельный раздел диска фиксированного размера и есть несколько пользователей, которые могут им пользоваться. Здесь возникает вопрос. А как разделить это пространство между всеми пользователями? Как застраховаться от ситуации, когда пользователь захочет перенести в свой раздел всю коллекцию фильмов или музыки? Для решения этой проблемы в Linux и существуют квоты. Установка дисковых квот. Для того, чтобы проделать все нижеописанное, утилита quota должна быть установлена на вашем компьютере. Бинарные пакеты существуют для всех распространенных дистрибутивов. В Debian-производных дистрибутивах установка с помощью утилиты apt-get выглядит так: $ 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 $ sudo chmod 600 /home/aquota.user 5. Разрешаем linux читать файл aquota.user. Это делается с помощью команды quotackeck. Будьте готовы к тому, что будет выведена ошибка, как показано ниже. Это связано с тем, что файл был создан вручную, а не командами qouta. Также будет сказано об отсутствии файла для групп. Ничего страшного в этом нет $ sudo quotacheck -vagum quotacheck: WARNING - Quotafile /home/aquota.user was probably truncated. Can't save quota settings... quotacheck: Scanning /dev/sda8 [/home] quotacheck: Old group file not found. Usage will not be substracted. done quotacheck: Checked 5265 directories and 74403 files 6. Задайте квоты для пользователей, используя команду edquota $sudo edquota -u nadiia Эта команда запустит редактор, установленный по умолчанию (переменная EDITOR) (в моем случае это редактор mc -mcedit): Disk quotas for user nadiia (uid 1001): Filesystem blocks soft hard inodes soft hard /dev/sda8 16 0 0 5 0 0 (Если используемый по умолчанию редактор вам не нравится, всегда можно его изменить, запустив в консоли export EDITOR=vi. Вместо vi запишите удобный для вас редактор) В приведенном выше файле: Blocks : Место, используемое пользователем в блоках длиной 1kB. inodes : Число используемых пользователем файлов Soft Limit : Максимальное количество блоков/файлов, которое пользователь может иметь на данном разделе. Если используется период отсрочки (grace period), то вместо жесткого ограничения, пользователь нарушивший данные требования, получит лишь сообщение об этом. Значение 0 отключает данную опцию. Hard Limit : Максимальное количество блоков/файлов, которое пользователь может иметь на данном разделе даже с установленным периодом отсрочки. Это жесткое ограничение, которое пользователь не может превысить. Ограничим пользователя всего 50-ю мегабайтами (приблизительно). Disk quotas for user nadiia (uid 1001): Filesystem blocks soft hard inodes soft hard /dev/sda8 16 50000 0 5 0 0 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: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sda8 7days 7days Редактирование квот для групп: $sudo edquota -g Регулярная проверка квот: Полезно регулярно выполнять quotacheck. Это можно реализовать, добавив задание в файл crontab 0 3 * * 0 /sbin/quotacheck -vagu (частоту выполнения задания можно выставить, используя синтаксис cron) Отчет об квотах: Команда repquota показывает суммарный отчет по квотам на файловой системе. У меня отчет выглядит следующим образом: $ sudo repquota /home
  • Report for user quotas on device /dev/sda8 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace root -- 131312 0 0 15 0 0 serhiy -- 18774192 0 0 79512 0 0 sshd -- 14512 0 0 137 0 0 nadiia -- 16 50000 0 5 0 0 Для более подробной информации обращайтесь к страницам man. Также рекомендую почитать перевод Quota mini-HOWTO. Источники: Disk Quotas in GNU/Linux explained Quota mini-HOWTO File system quota

  • << Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

    Обсуждение [ RSS ]
  • 1, koffu (??), 02:23, 22/10/2008 [ответить]  
  • +/
    Отличная статья!


    Можно файл квот создать и так:
    quotacheck -cugm /home

    нужные права доступа сами выставятся.

     
     
  • 2, yavik (ok), 15:54, 04/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Все работает, но есть проблема. Как посмотреть по конкретному пользователю, какие файлы сожрали его квоту. ?  В винде без проблем. А в Линуксе ???
     

  • 3, Robocop (?), 10:02, 31/12/2012 [ответить]  
  • +/
    du -hc или baobab.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру