Estado atual de Quota no Linux
1. Reconfigure o seu kernel
Reconfigure o seu kernel e adicione suporte a quota digitando y em:
Quota support (CONFIG_QUOTA) [n] y
2. Compile e instale os software de quota
A fonte de software de quota está disponível em ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.
Enquanto o pacote do software de quota que eu mencionei anterior já foi portado para o Linux e deveria compilar em todos os sistemas de Linux que rode kernels 2.x, você pode ter problemas onde o compilador de C reclame de alguma constante indefinida de MNTOPT. Se isto acontecer, você precisará copiar o seu mntent.h por cima de /usr/include/mntent.h e adquirir o quota para compilar.
3. Modifique o seu script init de sistema para conferir quota e ligar o quota no momento do boot
Aqui está um exemplo:
# Checando a quota e ligando a quota.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checando as quotas. Isto pode levar algum tempo."
/usr/sbin/quotacheck -avug
echo " Feito."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Ligando a quota."
/usr/sbin/quotaon -avug
fi
A regra dourada é aquele *always* que o quota devolve em *after* do seus sistemas de arquivo no /etc/fstab se estiverem montados, ou o quota não irar rodar. Eu recomendo que o quota esteja ligado ao término de seu script de init do sistema, ou se você gosta, corrija depois que o arquivo de sistemas esteja montado em seu script de init de sistema.
4. Modifique o /etc/fstab
As Partições que você não habilitou o quota olhar normalmente algo como:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 1
Adicione o quota para o sistema de arquivo, adicione "usrquota" para o quarto campo que contem a palavra "default".
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota 1 1
5. Crie um registro de quota "quota.user"
Este arquivo de registro de quota, quota.user, deve ser criado através do root, e tenha somente permissão de leitura-escritura para o root e nenhuma permissão para os outros.
Login como root. Vá para base da partição que você deseja habilitar a quota, e crie o quota.user fazendo:
touch /partition/quota.user
chmod 600 /partition/quota.user
6. Reinicie
Agora reinicie o sistema para as mudanças que você fez entrarem em vigor.
Também note aquelas partições subseqüentes que você deseja habilitar no quota no futuro somente requer os passos 4, 5, e 6.
Esta operação é executada com o comando edquota. Por exemplo, o comando "edquota bob" o levará ao vi (ou o editor especificado em sua variável de ambiente $EDITOR) edite o quota para o usuário "bob" para cada partição que queira habilitar no quota:
Quotas for user bob:
/dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
inodes in use: 356, limits (soft = 1000, hard = 1500)
"blocos em uso" é o número total de blocos (em kilobytes) que um usuário tem para consumir numa partição.
"inodes em uso" é o número total de arquivos que um usuário está usando numa partição.
Além do edquota, há 3 outras condições que você deve se familizar são: o Soft Limit, Hard Limit, and Grace Period.
Soft Limit Normalmente indica a quantidade máxima de uso do disco que um usuário de quota está usando numa partição. Mas quando combinada com o período de graça, age como uma fronteira para o usuário de quota é emite algumas advertências sobre a quota iminente e que ele passou do seu limite.
Hard Limit Só trabalha, quando um período de graça é fixo. Especifica o limite absoluto no uso do disco que um usuário de quota não pode ir além deste limite.
Grace Period Executado com o comando "edquota -t ", o período de graça é um prazo antes que o Soft Limit seja obrigado para um usuário de quota. Cronometra as unidades em sec(segundos), min(minutos), hour(horas), day(dias), week(semanas), e month(meses) que pode ser usado. Isto você verá com o comando "edquota -t ":
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0 days
Mude o 0 dias para qualquer duração de tempo que você ache razoável. Eu pessoalmente escolho 7 dias (ou 1 semana).
Quotacheck é usado para checar um sistema de arquivo para uso de disco e atualizar o arquivo de registro do quota "quota.user" para o estado mais recente. Eu recomendo rodar o quotacheck periodicamente no boot do sistema ou num cronjob toda vez pelo menos (digo, 1 semana).
Repquota produz uma informação resumida do quota para um sistema de arquivo. Aqui é amostra reproduzida do repquota:
# repquota -a
Block limits File limits
User used soft hard grace used soft hard grace
root -- 175419 0 0 14679 0 0
bin -- 18000 0 0 735 0 0
uucp -- 729 0 0 23 0 0
man -- 57 0 0 10 0 0
user1 -- 13046 15360 19200 806 1500 2250
user2 -- 2838 5120 6400 377 1000 1500
Quotaon é usado para virar o accouting do quota
Quotaoff é para desligar.
De fato ambos os arquivos são semelhantes. Eles são executados na inicialização do sistema e no shutdown.
Esse texto é de autoria de Bruno H. Collovini