Uma quota de disco permite limitar a quantidade de espaço em disco e/ou o número de arquivos um usuário (ou membros do grupo) podem usar. As quotas são alocadas em uma base de sistema per-file (por-arquivo) e são impostas pelo kernel.
Configuração no Linux
O pacote de ferramentas de quota geralmente precisa ser instalada, que contem ferramentas em linha de comando.
Ative a quota de usuário no fstab e remonte a partição. Se a partição estiver ocupada, ou todos os arquivos bloqueados devem ser fechados, ou o sistem deve ser reiniciado. Adicione usrquota
as opções do montagem do fstab, por exemplo:
/dev/sda2 /home reiserfs rw,acl,user_xattr,usrquota 1 1
# mount -o remount /home
# mount # Verifica se o usrquota está ativo, caso contrario reboot
Inicialize o arquivo quota.user com quotacheck
.
# quotacheck -vum /home
# chmod 644 /home/aquota.user # Para deixar os usuários verificarem suas próprias quotas
Ativar a quota ou com o script fornecido (ex. /etc/init.d/quotad no SuSE) ou com o quotaon
:
quotaon -vu /home
Verificar que a quota está ativa com o:
quota -v
Configuração no FreeBSD
As ferramentas de quota são parte do sistema base, no entanto o kernel precisa da opção quota. Se não estiver la, adicione e recompile o kernel.
options QUOTA
Assim como com o Linux, adicione a quota ás opções do fstab (userquota, não usrquota):
/dev/ad0s1d /home ufs rw,noatime,userquota 2 2
# mount /home # Para remontar a partição
Habilita quartos de disco em /etc/rc.conf e inicia a quota.
# grep quotas /etc/rc.conf enable_quotas="YES" # lig quotas no startup (ou NO). check_quotas="YES" # Verfica quotas no startup (or NO). # /etc/rc.d/quota start
Atribuir limites de quota
As quota não são limitadas por padrão (defina a 0). Os limites são definidos com edquota
por usuários. Uma quota podem ser duplicadas para muitos usuários.A estrutura de arquivo é diferente entra as implementações de quota, mas o principio é o mesmo: Os valores de blocos e inodes podem ser limitados. Somente altere os valores do soft e hard. Se não especificado, os blocos são de 1k. O grace period é definido com edquota -t
. Por exemplo:
# edquota -u colin
Linux
Quotas de disco para o usuário colin (uid 1007): Filesystem blocks soft hard inodes soft hard /dev/sda8 108 1000 2000 1 0 0
FreeBSD
Quotas para os usuário colin: /home: kbytes in use: 504184, limits (soft = 700000, hard = 800000) inodes in use: 1792, limits (soft = 0, hard = 0)
Para muitos usuários
O comando edquota -p
é usado para duplicar uma quota a outros usuários. Por exemplo, para duplicar uma quota de referencia a todos os usuários:
# edquota -p refuser `awk -F: '$3 > 499 {print $1}' /etc/passwd`
# edquota -p refuser user1 user2 # Duplicate to 2 users
Verificações
Usuários podem verificar suas quotas ao simplesmente digitar quota
(o arquivo quota.user deve ser legível). O root pode verificar todas as quotas.
# quota -u colin # Verifica quota para um usuário # repquota /home # relatório total para a partição (para todos os usuários nesse caso)