Quotas

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Scripts utilizados nessa implementação

Criação de vários usuários
#! /bin/bash
   for i in {1..100}
    do
      mkdir -p /mnt/home/userm$i
      chown userm$i:userm$i /mnt/home/userm$i
      useradd -m -d /home/userm$i -s /bin/bash userm$i
      echo "userm$i:userm$i" | chpasswd
   done


Setar cota para todos os usuários já criados

  1. ! /bin/bash
  2. verificando quota: xfs_quota -x -c 'report' /mnt/home

final_count=$(ls -l /mnt/home |wc -l)

  for i in $(seq 1 ${final_count})
   do
     user=$(ls -w 3 /mnt/home/ |head -n ${i} |tail -n 1)
     xfs_quota -x -c "limit -u bsoft=2M bhard=5M ${user}" /mnt/home
  done</syntaxhighlight>



Instalando o pacote quota

Para realizar a configuração de quota é necessário que o pacote esteja instalado. Basta executar o comando abaixo:

apt install quota -y

Configurando o fstab

Para que o sistema de quota funcione tem que adicionar alguns parâmetros no arquivo /etc/fstab, segue abaixo um exemplo onde foi adicionado cota de usuário e de grupo respectivamente:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    errors=remount-ro,usrquota,grpquota 0       1
/dev/sda5       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0

Após essa modificação é necessário a reinicialização do computador, sim tem que reiniciar o servidor de arquivos.

Editando as Quotas

Logado como root execute o comando:
# edquota usuario

Com isso ira abrir um editor de texto do Linux, o NANO
Dentro do arquivo de quotas temos o seguinte conteúdo:

Disk quotas for user usuário (uid 3031):
 Filesystem                   blocks       soft       hard     inodes     soft     hard
 /dev/mapper/rootvg-home       10240     51200     56320        462        0        0


Onde:

  • blocks - é o valor de espaço ocupados pelo usuário [OBS]: O CAMPO BLOCK NÃO DEVE SER ALTERADO
  • soft - é o valor da quota do usuário
  • hard - é o valor até onde o usuário pode usar em disco, ou seja, o usuário não ultrapassará esse valor de jeito nenhum

os outros dados não são usados

Os valores estão em uma forma pouco legível, para termos a real noção deles devemos dividir o valor por 1024, sendo assim, no nosso exemplo o usuário tem um total de dados no servidor de 10 Megabytes (10240/1024=10M)
Tem uma quota total de 50M (51200/1024=50M), e pode chegar a ter até 55M (56320/1024=55M) de arquivos.

Caso queira se dar mais quota ao usuário, por exemplo deixar a quota em 60M, devemos multiplicar este valor com 1024, 60*1024 = 61440. Esse é o valor que deve ser colocado no campo soft e no campo hard 5M (por padrão) a mais que o soft, ou seja, 65M, 65*1024 = 66560


Feita as alterações é só pressionar a tecla CTRL+X, conferir as alterações para verificar se não há nenhum erro e teclar ENTER para salvar o arquivo.

Para facilitar o calculo pode-se utilizar calculadoras web como essa: http://pt.calcuworld.com/calculadoras-informaticas/calculadora-de-megabytes/

Verificando Quotas dos Usuários

Logado como root execute os comando:
# repquota -a -s | grep usuario

  • repquota = Mostra o relatório de quotas
  • -a = parâmetro que mostra a quota de todos os usuários
  • -s = Mostra o valor das quotas em um formato mais legível


Fontes: Debian Handbook [1], Pt Wikibooks [2] e RedHat Documentation[3]