Quota – это встроенная функция ядра Linux, которая используется для установки лимита дискового пространства, которое может использовать пользователь или группа. Он также используется для ограничения максимального количества файлов, которые пользователь или группа могут создавать в Linux. Файловая система, в которой вы хотите использовать квоту, также должна поддерживать квоту. Некоторые файловые системы, поддерживающие квоты в Linux, – это ext2, ext3, ext4, xfs и т. д.
В этой статье мы покажем вам, как использовать квоту в многопользовательской среде Ubuntu. Итак, приступим.
В Ubuntu/Debian вы можете установить пакет quota из официального репозитория пакетов Ubuntu/Debian. Пакет квот устанавливает необходимые программы, необходимые для работы с квотами.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$ sudo apt update
Теперь установите пакет квот с помощью следующей команды:
$ sudo apt install quota
Как мы уже говорили, существует 2 типа квот; пользовательская квота и групповая квота. Вы можете включить любую из квот или обе, в зависимости от ваших потребностей.
Чтобы навсегда включить квоту в файловой системе, откройте файл /etc/fstab с помощью следующей команды:
$ sudo nano /etc/fstab
Теперь добавьте параметры usrquota и/или grpquota в поле параметров файловой системы, для которой вы хотите включить квоту в файле /etc/fstab. Когда вы закончите, сохраните файл, нажав <Ctrl> + x, а затем y, а затем нажмите <Enter>.
Теперь перезагрузите компьютер, чтобы изменения вступили в силу.
$ sudo reboot
Если вы просто хотите опробовать квоту, вы можете использовать команду mount, чтобы временно включить квоту в файловой системе. Чтобы временно включить квоту в корневой файловой системе, выполните следующую команду:
$ sudo mount -o remount,usrquota,grpquota /
Чтобы подготовить файловую систему к квоте, вы должны запустить команду quotacheck для каждой файловой системы, которую вы хотите использовать квоту.
Допустим, вы хотите использовать только пользовательскую квоту в корневой (/) файловой системе. Для этого инициализируйте квоту следующим образом:
$ sudo quotacheck -cum /
Если вы хотите использовать только групповую квоту, тогда команда будет такой:
$ sudo quotacheck -cgm /
Если вы хотите использовать как пользовательскую, так и групповую квоту, выполните следующую команду:
$ sudo quotacheck -cugm /
Теперь включите квоту в корневой (/) файловой системе с помощью следующей команды:
$ sudo quotaon -v /
Если по какой-то причине вы решили отключить квоту, вы можете сделать это с помощью следующей команды:
$ sudo quotaoff -v /
Теперь предположим, что вы хотите добавить дисковую квоту для пользователя andreyex. Для этого выполните следующую команду:
$ sudo edquota -u andreyex
Вот несколько терминов, которые вам следует знать.
Filesystem: это раздел диска, к которому должна применяться эта квота. В моем случае это /dev/sda2, раздел корневой (/) файловой системы. Не пытайтесь это изменить.
Blocks: это объем дискового пространства (в блоках), который может использовать пользователь andreyex .
Вы не можете напрямую использовать здесь МБ или ГБ. Вы должны преобразовать единицы МБ или ГБ в эквивалентный размер блока и использовать здесь размер блока. 1 блок равен 1 КБ или 1024 байтам.
Допустим, вы хотите, чтобы пользователь andreyex использовал только 1 ГБ дискового пространства. Вам необходимо преобразовать ГБ или МБ в единицы КБ.
Итак, 1 ГБ = 1024 МБ = 1024 * 1024 КБ.
Сколько блоков в 1 ГБ? Итак, (1024 * 1024 КБ / 1 КБ) = 1048576 блоков на каждую единицу ГБ.
На каждую единицу ГБ приходится 1048576 блоков.
Итак, для 5 ГБ дискового пространства размер блока составляет 5 * 1048576 = 5242880 блоков.
Легко, правда?
Хорошей мерой является сохранение около 60-70% от общего размера блока.
Итак, для размера блока 1048576 достаточно хорошим номером inode 629146 или 734004.
Мягкое и жесткое ограничение: И блок, и индексный дескриптор могут иметь мягкое и жесткое ограничение. Пользователь или группа могут превысить мягкий лимит на определенное количество дней, называемое льготным периодом . Но им ни в коем случае нельзя превышать жесткий предел. Вы можете установить 0 для мягкого ограничения, чтобы отключить его, если хотите. В этом случае будет использоваться только жесткий лимит.
Мы установили квоту для пользователя andreyex следующим образом. Как только вы закончите, сохраните файл. Квота должна применяться.
Чтобы установить групповую квоту для групповых www-данных (скажем), выполните следующую команду:
$ sudo edquota -g www-data
Теперь вы можете установить групповую квоту так же, как и пользовательскую квоту.
Чтобы изменить льготный период для мягкого лимита, выполните следующую команду:
$ sudo edquota -t
Теперь измените количество дней для льготного периода блокировки и inode в зависимости от ваших потребностей. Как только вы закончите, сохраните файл.
Чтобы создать отчеты об использовании квот, выполните следующую команду:
$ sudo repquota -aug
Как видите, отчет о квотах для пользователей и групп создан.
Если вы хотите только создавать отчеты о пользовательских квотах, выполните следующую команду:
$ sudo repquota -au
Таким же образом, если вы хотите создавать отчеты о групповых квотах, выполните следующую команду:
$ sudo repquota -ag
Итак, вот как вы используете квоту в Ubuntu. Спасибо, что прочитали эту статью.