Quotas используются для ограничения дискового пространства, занимаемого определённым пользователем или группой.
Пакет: sys-fs/quota.
Пример: создадим ограничения для пользователя testuser на файловой системе reiserfs в разделе, смонтированном в /home, с лимитом 5 МБ.
/etc/fstab добавить к опциям монтирования usrquota,grpquota./home с новыми опциями (или выполнить reboot).edquota -u testuser и установить значение hard в байтах — 5120./etc/init.d/quota restart.С ядром 2.6.36-gentoo-r4 квоты не работают на reiserfs,
но работают на ext4.
С ядром 2.6.39-gentoo-r3 — работают и на reiserfs.
/etc/security/limits.conf —
он имеет простой синтаксис, но может ограничивать только размер создаваемого файла,
а не общий объём занятого пространства.
Можно реализовать ограничение без использования квот: создать файл нужного размера и подмонтировать его как файловую систему в домашний каталог пользователя.
dd if=/dev/zero of=/userdisk.fs bs=1024 count=100000
mkfs.ext3 /userdisk.fs
mount -t ext3 -o loop /userdisk.fs /home/testuser
Чтобы оценить влияние такого подхода на производительность файловой системы, можно использовать команду:
time dd if=/dev/zero of=/home/testuser/testfile bs=1M count=1000
Для созданной ext3:
astra ~ # time dd if=/dev/zero of=/home/testuser/testfile bs=1M count=800
800+0 записей считано
800+0 записей написано
скопировано 838860800 байт (839 MB), 25.1175 c, 33.4 MB/c
real 0m25.119s
user 0m0.002s
sys 0m1.648s
Для созданной reiserfs:
800+0 записей считано
800+0 записей написано
скопировано 838860800 байт (839 MB), 41.1458 c, 20.4 MB/c
real 0m41.450s
user 0m0.003s
sys 0m2.387s
Для текущей reiserfs:
800+0 записей считано
800+0 записей написано
скопировано 838860800 байт (839 MB), 10.0764 c, 83.3 MB/c
real 0m10.078s
user 0m0.000s
sys 0m2.477s
мда...