Os arquivos
aquota.user e
aquota.group são arquivos binários e não podem ser editados diretamente por um editor de textos.
Para editar o limite de quotas de disco, utilizamos o comando
edquota (de EDitar QUOTA).
O comando edquota extrai as informações dos arquivos aquota.user e aquota.group em todos os pontos de montagem que as quotas estão habilitadas, cria um arquivo temporário e abre um editor para para que você possa ajustar as quotas.
Consulte o manual para mais informações sobre o comando edquota.
Sintaxe:
edquota [ -u | -g ] [ -F format-name ] [ -f filesystem ] -t
Exemplo:
# edquota roberto
GNU nano 1.3.10 Arquivo: /tmp//EdP.ac3bZ0u
Disk quotas for user roberto (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/hda4 10020 12000 13000 3 5 6
Explicando para que serve cada coluna:
- Filesystem - Partição que terá a quota do usuário/grupo editada. No exemplo /dev/hda4.
- blocks - Número máximo de blocos (especificado em Kbytes) que o usuário possui atualmente. No exemplo 10020 Kbytes.
- soft - Restrição mínima de espaço em disco usado. No exemplo 12000 Kbytes.
- hard - Limite máximo aceitável de uso em disco para o usuário/grupo sendo editado. O sistema de quotas nunca deixará este limite ser ultrapassado. No exemplo 13000 Kbytes.
- inodes - Número máximo de arquivos (inodes) que o usuário possui atualmente na partição especificada. No exemplo 3 inodes.
- soft - Restrição mínima de número de arquivos que o usuário/grupo possui no disco. No exemplo 5 inodes.
- hard - Restrição máxima de número de arquivos que o usuário/grupo possui no disco. No exemplo 6 inodes.
Ou seja, temos:
- O sistema de arquivos onde a quota está habilitada (Filesystem);
- Limite soft e hard para o número máximo de blocos;
- Limite soft e hard para o número máximo de inodes.
Quando o limite soft é atingido, o usuário é alertado por ter ultrapassado sua quota com a mensagem "hda4: warning, user file quota exceeded." (quota do usuário excedida).
Quando o limite hard é atingido, o usuário é alertado com a mensagem "hda4: write failed, user file limit reached." e posteriormente com a mensagem "mkdir: não é possível criar o diretório `novo_dir': Disk quota exceeded". E o usuário será bloqueado para criar novos arquivos ou diretórios. O limite hard nunca será ultrapassado.
Para desativar as restrições de quota coloque "0" no campo soft ou hard.
O limite soft é válido somente por um determinado tempo, após expirar este tempo, o valor do limite soft é utilizado como limite hard. Lembrando que o hard nunca poderá ser ultrapassado.
Para alterar o tempo que o limite soft é expirado, utilizamos o comando "edquota -t" para modificar estes valores na partição especificada:
# edquota -t
GNU nano 1.3.10 Arquivo: /tmp//EdP.aE3dnlb
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/hda4 3days 7days
Explicando as colunas:
- Filesystem - Sistema de arquivos que terá o período de tolerância modificado.
- Block grace period - Tempo máximo de tolerância para usuários/grupos que ultrapassaram sua quota soft de espaço em disco antes de passar a valer como hard. No exemplo, o usuário tem 3 dias para excluir possíveis arquivos ou contactar o administrador para redimensionar o tamanho de quota. O valor padrão é 7 dias.
- Inode grace period - Tempo máximo de tolerância para usuários/grupos que ultrapassaram sua quota soft de número de arquivos gravados antes de passar a valer como hard. No exemplo, o usuário tem 7 dias para excluir possíveis arquivos ou contactar o administrador para analisar seu tamanho de quota. O valor padrão é 7 dias.
Ou seja, temos:
- O sistema de arquivos onde a tolerância está habilitada. ( Filesystem )
- O número de dias para o limite soft para o número máximo de blocos.
- O número de dias para o limite soft para o número máximo de inodes.
Observações:
- O comando quotacheck deverá ser executado na partição sempre que novas restrições/limites forem editados com o edquota. Isto atualiza os arquivos aquota.user e aquota.group.
Primeiro desative o sistema de quotas, com o comando:
# quotaoff -augv
Execute o comando para checar as quotas:
# quotacheck -augv
Após isso é necessário ativar as quotas com o comando:
# quotaon -augv
Por este motivo é recomendável fazer isso em modo monousuário. Se você possuir quotas de disco na partição raiz "/" será necessário reiniciar o sistema.
- Para dar tempo de eliminar arquivos e não ser pego desprevenido com o bloqueio de gravação do limite hard, o sistema lhe mostrará mensagens alertando que o limite soft foi ultrapassado e que está próximo de atingir o limite hard. Lembrando que o limite hard nunca poderá ser ultrapassado.
- Quando o usuário exclui seus arquivos e volta a ficar abaixo dos limites soft da quota, o tempo de tolerância é resetado aos valores padrões especificados por edquota -t.
- As quotas de espaço em disco podem ser definidas automaticamente para os novos usuários adicionados ao sistema colocando o espaço em disco na variável QUOTAUSER=número do arquivo /etc/adduser.conf. Isto será equivalente a digitar o comando edquota -q QUOTA novo_usuário.
Copiando quotas
Agora imagine você editando quotas de disco para cada usuário. Seria uma tarefa trabalhosa se você tiver muitos usuários. Para resolver este problema utilizamos o parâmetro -p do comando edquota.
Ele duplica a quota do usuário especificado para cada um dos outros usuários especificados.
Este é o mecanismo normalmente utilizado para clonar quotas de um usuário para um grupos de usuários.
Exemplo:
# edquota -p roberto mario andre jsilva
Limites para grupo
Você pode também usar o comando edquota para restringir o espaço em disco para o grupo dono dos arquivos.
Por exemplo: Podemos limitar o total de arquivos criados ou espaço em disco para todos os membros do grupo devel para 50 MB e 5000 arquivos, como mostra o exemplo abaixo:
# edquota -g devel