Как использовать квоту в Ubuntu?

quota — это встроенная функция ядра Linux, которая используется для установки лимита дискового пространства, которое может использовать пользователь или группа. Он также используется для ограничения максимального количества файлов, которые пользователь или группа могут создавать в Linux. Файловая система, в которой вы хотите использовать квоту, также должна поддерживать квоту. Некоторые файловые системы, поддерживающие квоты в Linux, — это ext2, ext3, ext4, xfs.

В этой статье я покажу вам, как использовать квоту в многопользовательской среде Ubuntu. Итак, приступим.

Установка утилит управления квотами в Ubuntu:

В Ubuntu/Debian вы можете установить пакет quota из официального репозитория пакетов Ubuntu/Debian. Пакет quota устанавливает необходимые программы, для работы с квотами.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

Теперь установите пакет квот с помощью следующей команды: sudo apt install quota

Включение квоты файловой системы:

Cуществует 2 типа квот: пользовательская квота и групповая квота. Вы можете включить любую из квот или обе, в зависимости от ваших потребностей.

Чтобы навсегда включить квоту в файловой системе, откройте файл /etc/fstab с помощью следующей команды:

sudo nano /etc/fstab

Теперь добавьте параметры usrquota и/или grpquota в поле параметров (4-й столбец) файловой системы, для которой вы хотите включить квоту в файле /etc/fstab . Когда вы закончите, сохраните файл, нажав Ctrl+x, затем y, а затем нажмите <Enter>.

Чтобы включить квоту пользователя, используйте только параметр usrquota . Если вы хотите включить только данные группы, используйте параметр grpquota . Чтобы включить как пользовательскую, так и групповую квоту, используйте параметр usrquota, grpquota.

Теперь перезагрузите компьютер, чтобы изменения вступили в силу.

Если вы просто хотите опробовать квоту, вы можете использовать команду mount, чтобы временно включить квоту в файловой системе.

Чтобы временно включить квоту в корневой файловой системе, выполните следующую команду:

$ sudo mount -o remount,usrquota,grpquota /

Инициализация квоты в файловых системах:

Чтобы подготовить файловую систему к квоте, вы должны запустить команду quotacheck для каждой файловой системы, в которой вы хотите использовать квоту.

Если вы хотите использовать как пользовательскую, так и групповую квоту, выполните следующую команду:

sudo quotacheck -cugm /

Теперь включите квоту в корневой (/) файловой системе с помощью следующей команды:

sudo quotaon -v /
/dev/sda2 [/]: group quotas turned on
/dev/sda2 [/]: user quotas turned on

Теперь квота включена.

Работа с пользовательской квотой:

Теперь предположим, что вы хотите добавить дисковую квоту для пользователя bob . Для этого выполните следующую команду:

sudo edquota -u bob

Вот несколько терминов, которые вам следует знать.

Filesystem : это раздел диска, к которому должна применяться эта квота. В моем случае это /dev /sda2 , раздел корневой ( / ) файловой системы. Не пытайтесь это изменить.

Blocks : это объем дискового пространства (в блоках), который может использовать пользователь bob .

Вы не можете напрямую использовать здесь МБ или ГБ. Вы должны преобразовать единицы МБ или ГБ в эквивалентный размер блока и использовать здесь размер блока. 1 блок равен 1 КБ или 1024 байтам.

Допустим, вы хотите, чтобы пользователь bob использовал только 1 ГБ дискового пространства. Вам необходимо преобразовать ГБ или МБ в единицы КБ.

Итак, 1 ГБ = 1024 МБ = 1024 * 1024 КБ.

Сколько блоков в 1 ГБ? Итак, (1024 * 1024 КБ / 1 КБ) = 1048576 блоков на каждую единицу ГБ.

На каждую единицу ГБ приходится 1048576 блоков.

Итак, для 5 ГБ дискового пространства размер блока составляет 5 * 1048576 = 5242880 блоков.

Inode : это количество файлов, которые вы можете создать в файловой системе. Итак, если пользователю bob разрешено иметь 1000 индексов, он может создать только 1000 файлов или каталогов. Даже если общий размер 1000 файлов или каталогов меньше количества блоков, которые он может использовать, он не сможет создавать какие-либо новые файлы или каталоги. Так что я бы держал его немного выше.

Хорошей мерой является сохранение около 60-70% от общего размера блока.

Итак, для размера блока 1048576 достаточно хорошим числом inode было бы 629146 или 734004.

Soft и hard ограничения: блок и индексный дескриптор могут иметь мягкое и жесткое ограничение. Пользователь или группа могут превысить мягкий лимит на определенное количество дней, называемое льготным периодом . Но им ни в коем случае нельзя превышать жесткий предел. Вы можете установить 0 для мягкого ограничения, чтобы отключить его, если хотите. В этом случае будет использоваться только жесткий лимит.

ПРИМЕЧАНИЕ . Вам следует устанавливать только мягкие и жесткие пределы. Не изменяйте значения блоков и столбцов inode . Они представляют блоки и индексы, которые пользователь в настоящее время использует.

Я установил квоту для пользователя bob следующим образом. Как только вы закончите, сохраните файл. Квота должна примениться.

Работа с групповой квотой:

Чтобы установить групповую квоту для групповых www-data (например), выполните следующую команду:

$ sudo edquota -g www-data

Теперь вы можете установить групповую квоту так же, как и пользовательскую квоту.

Создание отчетов о квотах

Чтобы создать отчеты об использовании квот, выполните следующую команду: sudo repquota -auf

Проверка квот на всех файловых системах где они включены: quotacheck -vagumf , где
v — режим с подробным выводом результатов работы;
g — проверка только групповых квот, перечисленных в файле /etc/mtab или в указанных файловых системах;
u — проверка только пользовательских квот, перечисленных в файле /etc/mtab или в указанных файловых системах, опцию можно не указывать, т.к. она активна по умолчанию;
m — не пытаться перемонтировать файловую систему только для чтения;
f — форсировать проверку, то есть проверить и записать новые файлы квот на ФС с включенными квотами;

Добавить комментарий