Настройка квот CentOS

  1. Добавляем в /etc/fstab следующие параметры
    /dev/mapper/VolGroup-home /home ext4 defaults,usrquota,grpquota 1 1
  2. Перемонтируем файловую систему
    mount -o remount /home
  3. Устанавливаем необходимый пакет quota
    yum install -y quota
  4. Создаем файлы баз данных квот
    quotacheck -cug /home
    quotacheck: Cannot create new quotafile /home/aquota.user.new: Отказано в доступе
    quotacheck: Cannot initialize IO on new quotafile: Отказано в доступе
    quotacheck: Cannot create new quotafile /home/aquota.group.new: Отказано в доступе
    quotacheck: Cannot initialize IO on new quotafile: Отказано в доступе

    Дело в том, что файловая система создана без контекста безопасности SELinux

    egrep AVC /var/log/audit/audit.log
    type=AVC msg=audit(1354790105.659:55): avc:  denied  { write } for  pid=1941 comm="quotacheck" name="/" dev=dm-2 ino=2 scontext=unconfined_u:unconfined_r:quota_t:s0-s0:c0.c1023 tcontext=system_u:object_r:file_t:s0 tclass=dir


    Комманда restorecon восстановит заданный по умолчанию контекст безопасности, ключ -R — рекурсивно поменять метки

    restorecon -R -v /home
    restorecon reset /home context system_u:object_r:file_t:s0->system_u:object_r:home_root_t:s0
    restorecon reset /home/lost+found context system_u:object_r:file_t:s0->system_u:object_r:lost_found_t:s0

    После этого еще раз пробуем

    quotacheck -cug /home

    Проверяем

    ls /home

  5. Теперь необходимо построить таблицу текущего использования диска в файловых системах, в которых включены квоты
    quotacheck -avug
    • a — Проверяет все локально смонтированные файловые системы, в которых включены квоты
    • v — Выводит подробную информацию о процессе проверке квот
    • u — Проверяет информацию о дисковых квотах пользователей
    • g — Проверяет информацию о дисковых квотах групп
    quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
    quotacheck: Scanning /dev/mapper/VolGroup-home [/home] done
    quotacheck: Checked 2 directories and 2 files

    Это означает, что мы можем включить журналирование файлов квот, и в случае некорректного завершения работы quotacheck будет запускаться автоматически. Сделаем это, в /etc/fstab добавляем

    usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0

    Теперь он выглядит так:

    /dev/mapper/VolGroup-home /home         ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1


    Перемонтируем

    mount -o remount /home

    Проверяем

    mount | grep home
    /dev/mapper/VolGroup-home on /home type ext4 (rw,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0)

    Выполняем

    quotacheck -avugm
    quotaon -avug

    Настроим ограничения для тестового пользователя neo

    edquota neo

    Disk quotas for user neo (uid 500):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/mapper/VolGroup-home         16          0          0          4        0        0

    Мы можем ограничить количество используемых пользователем блоков и количество создаваемых им файлов. Узнаем размер блока файловой системы

    tune2fs -l /dev/VolGroup/home | grep Block
    Block count:              1310720
    Block size:               4096
    Blocks per group:         32768


    Размер блока 4Kib
    Выставим ограничение в 200Mb для пользователя neo

    edquota neo
    Disk quotas for user neo (uid 500):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/mapper/VolGroup-home         16          0     204800          4        0        0

    Проверяем

    [neo@localhost ~]$ dd if=/dev/zero of=~/file.img bs=1024 count=204800
    dm-2: write failed, user block limit reached.
    dd: запись «/home/neo/file.img»: Превышена дисковая квота
    204785+0 записей считано
    204784+0 записей написано
     скопировано 209698816 байт (210 MB), 0,728007 c, 288 MB/c
    [neo@localhost ~]$ du -shc
    200M	.
    200M	итого

  6. Для того, чтобы посмотреть назначенные квоты
    repquota -a

Настройка квот CentOS: 2 комментария

  1. Добрый день! подскажите как-либо можно задавать квоты по умолчанию при создании пользователей?

    1. Проще всего автоматизировать процесс регистрации пользователя и назначения ему квот на баше.

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

Ваш адрес email не будет опубликован.