quinta-feira, dezembro 06, 2007

Definindo quotas manualmente

É possível também definir as quotas via linha de comando, usando o comando "edquota". Ele é uma ferramenta bastante rudimentar, mas funcional, que usa um editor de texto pré-definido para exibir e permitir a alteração das quotas.

O primeiro passo é escolher o editor que será usado, definindo a variável "EDITOR", que pode conter o nome de qualquer editor de linha de comando (que esteja instalado), como o joe, mcedit, pico, nano ou vi, como em:

# EDITOR=joe

Para editar a quota para um usuário use a opção "-u", como em:

# edquota -u gdh

Ele exibe um arquivo de texto, usando o editor escolhido, contendo campos com a utilização atual e os limites para blocos e para o número de arquivos:

index_html_6d78e6a9

O que você faz aqui é editar os valores dos campos referentes aos limites, salvar o arquivo e sair do editor. Ao fazer isso, o edquota checa as mudanças feitas e as aplica. Note que os dois primeiros campos "soft" e "hard" da esquerda para a direita contém os limites de blocos (ou seja, o espaço em disco que pode ser usado), enquanto os campos seguintes indicam os limites para o número de arquivos.

Os únicos valores editáveis dentro do arquivo são mesmo os 4 campos com os limites. Os demais (como o número de blocos usados) são exibidos apenas a título de informação. Você até pode alterar estes campos (afinal, trata-se de um arquivo de texto simples), mas as alterações são ignoradas pelo edquota.

Por default, cada bloco corresponde a 1 KB, de forma que o valor "2000000" corresponde a 2 GB, mas isso pode variar de acordo com as opções usadas ao formatar a partição. Se quiser checar, use o comando "fdisk -l" (como root). Ele mostra detalhes sobre as partições, incluindo o tamanho e o número de blocos.

Continuando, você pode editar também as quotas para os grupos, usando o parâmetro "-g", como em:

# edquota -g alunos

Para alterar o grace period, use o parâmetro "-t" (sem argumentos), como em:

# edquota -t

Ele exibe outro arquivo de texto, dessa vez oferecendo as opções "Block grace period" (referente ao soft limit para blocos) e o Inode grace period (que se aplica ao soft limit para o número de arquivos, caso usado). O tempo pode ser especificado em dias (days), horas (hours), minutos (minutes), ou segundos (seconds), como em "7days", "12 hours" ou "5minutes" (sempre sem espaço):

index_html_6bd71a9a

Para ver um relatório com as quotas definidas para cada usuário e o espaço atualmente ocupado por cada um, use o comando "repquota", seguido pela pasta (e não o device) onde as quotas foram ativadas, como em:

# repquota /home

O relatório é exibido no próprio terminal, usando uma formatação simples, com um usuário por linha:

index_html_m261a4f69

Como pode ver, o webmin facilita bastante a configuração, eliminando parte do trabalho manual, mas é perfeitamente possível se virar com os comandos de modo texto quando ele não estiver disponível.

Uma última dica é que, quando ativas, as quotas são aplicadas praticamente em tempo real. Assim que o usuário atinge o hard limit, a gravação é bloqueada instantaneamente, interrompendo a transferência do arquivo. Caso isso não aconteça, é sinal de que as quotas estão na verdade desativadas. Nesse caso, ative-as usando o comando "quotaon /pasta", como vimos anteriormente.