segunda-feira, 2 de janeiro de 2012

Instalando e Configurando o Quota – Debian Squeeze

Quotas de disco permitem controlar o uso do disco por usuário ou grupo, ou por ambos (usuário e grupo). São normalmente utilizadas em sistemas com vários usuários e não com 1 ou um número relativamente baixo de usuários.
Estas quotas garantem um limite de espaço em disco, se este limite for ultrapassado, o usuário ou grupo de usuários não será capaz de criar novos arquivos até que os mesmos sejam apagados ou a quota seja redimensionada.
Desta maneira, esse recurso se torna indispensável para aplicações que envolvem ambientes multiusuários, servidores etc.
 

Introdução

Cada sistema de arquivos pode ter cinco tipos de limites de quotas, que são especificados em blocos (blocks) de 1024 bytes cada:

Hard Limit (Limite Físico) por usuário:
É o máximo de espaço em disco que um usuário pode ter na partição configurada com quotas de disco. Uma vez que este limite de quota é ultrapassado, o usuário não poderá gravar arquivos na partição.

Soft Limit (Limite Temporário) por usuário:
Indica a quantidade máxima de espaço temporária em disco numa partição. Quando este limite é ultrapassado, o usuário é informado que seu espaço em disco está terminando e o Grace Period é acionado. O usuário ainda poderá gravar arquivos até o Grace Period terminar ou até que o Hard Limit seja alcançado.

Hard Limit para grupo de usuários:
É o máximo de espaço em disco que um grupo de usuários pode ter. Quando esse limite é ultrapassado, nenhum usuário poderá gravar arquivos em disco mesmo que tenham espaço disponível.

Soft Limit para grupo de usuários:
Indica a quantidade máxima de espaço temporária em disco numa partição. Quando este limite é ultrapassado, o grupo de usuários é informado que seu espaço em disco está terminando e o Grace Period é acionado. Os usuários ainda poderão gravar arquivos até o Grace Period terminar ou até que o Hard Limit por grupo seja alcançado. 


Comandos para gerência de quotas

quota

O comando quota é usado para visualizar informações sobre as quotas de espaço em disco configuradas para um determinado usuário ou grupo de usuários. Ele possui as seguintes opções:
  • -u - Mostra a quota definida para um determinado usuário;
  • -g - Mostra a quota definida para um determinado grupo de usuários;
  • -v - Mostra as quotas mesmo que nenhuma esteja definida;
  • -q - Mostra somente quando a rota for excedida;
  • -i - Ignora pontos de montagem montados pelo automounter;
  • -l - Mostra apenas quotas de sistemas de arquivos locais;

Somente o superusuário pode visualizar as informações de quotas de outros usuários, sendo que um usuário comum só pode ver a sua quota e a quota do grupo que ele pertence.

# quota -u fred
Disk quotas for user fred (uid 1001):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/sdb2    2740*   1000    2000              60       0       0    


edquota

O comando edquota é um utilitário usado somente pelo superusuário para edição de quotas de usuários e grupos. O editor vi é o editor padrão usado com o edquota para editar os arquivos quota.user e quota.group. Ele possui as seguintes opções:
Observe a edição da quota do usuário fred:

# edquota -u fred

Disk quotas for user fred (uid 1001):
Filesystem   blocks  soft   hard  inodes    soft     hard
/dev/sdb2    2740    3000   5000  60        0        0

Agora, vamos mudar o período de soft limit de todos os usuários:

# edquota -tu

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/sdb2      5days                  3days

Podemos usar dias, horas, minutos ou segundos para configurar o Soft Limit, no exemplo acima, o período de graça para espaço em disco está configurado para 5 dias e 3 dias para armazenamento de arquivos.

repquota

O comando repquota gera um relatório do uso das quotas de discos de usuários e grupos de um determinado dispositivo. Observe as opções mais usadas:


Instalando o Quota

Primeiramente instale o quota:

# apt-get install quota

Edite o arquivo de partições do Debian:

# vim /etc/fstab

Modifique a linha onde está montada a partição que deseja ativar o quota adicionando os parâmetros usrquota e grpquota: 
 /dev/hda1          /home          ext3          defaults          0          2
 Para: 
/dev/hda1          /home          ext3          defaults,usrquota,grpquota         0          2
* Se desejar ativar o Quota para todo o disco basta incluir os parâmetros na linha onde está presente a raiz do sistema ( / ).
Agora deverá ser criado um arquivo de controle na pasta onde foi ativado o Quota:

# cd home
# touch aquota.user aquota.group quota.user quota.group
# chmod 600 aquota.user
# chmod 600 aquota.group
# chmod 600 quota.user
# chmod 600 quota.group

Modifique agora a quota disponível para cada usuário:

# edquota -u usuário

Altere a terceira coluna (soft) para o valor da quota em Mb: 
/dev/disk/by-uuid/70a445e3-a7c4-5b1e-9d4e-c4r4d0        0          400000         0        0  [...]
* No exemplo estipulei 400 Mb de quota
Reinicie o quota e pronto:

# /etc/init.d/quota restart

Comando para ver as quotas estipuladas no sistema:

# repquota -av

Pode-se também configurar quota para todos os usuários que serão criados, basta criar um usuário modelo (não precisa ter shell válido, nem password e nem pasta home, fica a gosto mas sem essas opções o sistema fica mais vulnerável):

# adduser –shell /bin/false –disabled-password –no-create-home <usuário>

Abra o arquivo de configuração do comando adduser:

# vim /etc/adduser.conf

Modifique a linha (provavelmente a 67): 
QUOTAUSER=”"
Para: 
QUOTAUSER=”usuário”
E pronto, agora utilize somente o comando adduser para adicionar novos usuários.

Nenhum comentário:

Postar um comentário

DropBox