Mini-Howto Enable Quota on Linux

Albert M. C. Tam (bertie@scn.org)
Última atualização: Sat Jul 27 21:04:38 PDT 1996
Traduzido por: Bruno H. Collovini - buick@microlink.com.br
Traduzido em: 6 de Setembro de 1997.
Nota de tradução: em muitos dos casos mantive a refêrencia para "quota" ao invés do "cota" em português.

Aviso: Esta tradução não está relacionada com o Projeto de Documentação do Linux LDP) que no Brasil é representada pela LDP-BR em <http://www.dca.fee.unicamp.br/~malheiro/linux/LDP-br.html>, este material é uma tradução técnica e básica somente para auxiliar os colegas com a leitura em português.

Outros documentos você pode obter em: <http://www.microlink.com.br/~buick/>

Preâmbulo: Este documento é criado por Albert M.C. Tam (bertie@scn.org). Permissão para usar, copiar, e distribuir este documento não-comercialmente são concedidos propósitos por este meio, contanto que o autor/nome do editor e esta advertência aparece em todo e/ou cópias que utilizem este documento; este documento não seja modificado. Este documento é distribuído espero que seja útil, mas SEM QUALQUER GARANTIA, expresso ou implicito. Enquanto todo esforço foi levado para assegurar a precisão da informação deste documento, o autor/editor/responsável NÃO ASSUME QUALQUER RESPONSABILIDADE POR ERROR, ou por resultados de danos com o uso das informação aqui contida.

Este documento descreve como habilitar o arquivo quota do sistema em um host de Linux, controlando quota para usuários, e como também o uso de miscelanias de comandos de quotas. É voltado para usuários com o núcleo 2.x corrente (testado no 2.0.7). É recomendado que os usuários com núcleos mais velhos o modifiquem.

Sinta livre para enviar qualquer realimentação ou comentários a bertie@scn.org se você acha algum erro, ou qualquer informação imprecissa.
Eu gosto disto!


O que é Quota?

Quota permite especificar limites em dois aspectos de armazenamento de disco: o número de inodes que um usuário pode possuir; e o número de blocos de disco que podem ser alocado a um usuário.

A idéia atrás do quota é que os usuários são forçados a ficar debaixo do limite de consumação do disco na maioria do tempo e tomar a habilidade deles no consumo do espaço do disco ilimitado no sistema.

Estado atual de Quota no Linux

O suporte do quota foi integrado na versão 1.3.8x do núcleo que eu vi, e está muito bem no lançamento do núcleo 2.0. Se o seu sistema não tem suporte ao quota, eu recomendo uma nova versão.

Atualmente, o quota só trabalha com sistema de arquivo do tipo ext2.

Exigências para a utilização do Quota no Linux

Núcleo
A fonte do núcleo 2.x está disponível em ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/

O software de quota
Dependendo da distribuição do Linux que você tem, você pode, ou não pode ter o software de quota instalado em seu sistema. A fonte do software de quota esta disponível em ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.


Configuração do quota no Linux - Parte I: A Configuração

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 esta 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.

Configuração do quota no Linux - Parte II: nomeando usuários para o quota

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, o soft limit 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 é emiti algumas advertências sobre a quota iminente e que ele passou do seu limite.

Hard Limit O 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 Hard Limit.

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 os 0 dias param qualquer duração de tempo que você ache razoável. Eu pessoalmente escolho 7 dias (ou 1 semana).


Miscelanias de comandos do quota Quotacheck
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 todo vez pelo menos (digo, 1 semana?).

Repquota
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 e Quotaoff
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.


[Help OnLine] [Distribuições] [Novidades] [Eventos] [Usuários] [Aplicativos] [Hardware] [Projetos] [Vendedores] [Serviços]
[Linux Brasil]
WebSite Design: Buick
Copyright © 1997-1998 - Buick. All Rights Reserved.
[Linux-Org]