Professional Documents
Culture Documents
www.4linux.com.br
Contedo
Quotas de Disco 8.1 Introduo Terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Quotas por Usurio . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 6
8.1.2 Quotas por Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . 10 8.2 Replicando quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8.3 Criando usurio com quota denida (S funciona no Debian) . . . . . . 13 8.3.1 Aviso de quota excedida . . . . . . . . . . . . . . . . . . . . . . . 13
Quotas de Disco
8.1 Introduo Terica
A utilizao de um sistema de quotas um assunto to importante quanto dividir o disco rgido em parties. O sistema de quotas serve para limitarmos a quantidade de blocos e inodes que um usurio ou grupo pode utilizar em uma determinada partio. Imagine um HD com 100MB de home e 10 usurios. Se no utilizarmos um sistema de quota por nmero de blocos possvel que um dos usurios resolva fazer o download de um arquivo de 90MB utilizando 90% do espao disponvel, fazendo com que os outros usurios tenham que dividir os outros 10MB livres. Se aplicarmos um sistema de quotas, podemos denir que cada usurio utilizar no mximo 10MB, de forma que cada um ter o mesmo espao disponvel, tornando a diviso justa. Em um cenrio como este, resolvemos parte do problema, pois o usurio capaz de criar um nmero, sucientemente grande de arquivos com tamanho zero de forma que ele no ocupe os 10MB atribudos a ele mas estoure o nmero mximo de inodes que o sistema de arquivos dispe, impossibilitando assim, que outro usurio grave qualquer coisa neste sistema de arquivos, mesmo que haja espao livre. O sistema de quotas uma funcionalidade do lesystem e do kernel, sendo assim, ambos tm que serem capazes de suport-lo. Uma vez que o lesystem suporta quotas, devemos adicionar os parmetros de montagem, usrquota e grpquota ao lesystem que utilizaremos com esse sistema. Isso feito no arquivo /etc/fstab. Alm disso, temos que criar, na raiz desses lesystems, os arquivos de controle,
4Linux www.4linux.com.br
chamados aquota.user e aquota.group. Uma vez criada essa estrutura, basta editar os arquivos de controle de quotas e distribuir as quantidades de forma apropriada. A quota somente pode ser aplicada por parties. Instale o pacote de quota:
Edite o arquivo /etc/fstab e inclua as opes de quota por usurio e por grupo em /home:
/ home ext3
defaults ,
# mount
Pgina 4
4Linux www.4linux.com.br
-c -> cria arquivos de quota -u -> checa quotas de usurios -g -> checa quotas de grupos Caso d erro: -f -> fora checagem das quotas -m -> fora checagem no lesystem montado como leitura e escrita , no remonta o lesystem como somente leitura em caso de erro. Certique-se de que os arquivos de controle de quota foram criados: "aquota.group"e "aquota.user".
# ls -l / home
# quotaon / home
# quotaoff / home
Verique se o sistema de quota est ativo, listando as suas informaes de quotas para usurios:
Pgina 5
4Linux www.4linux.com.br
# repquota - va
Verique se o sistema de quota est ativo, listando as suas informaes de quotas para grupos:
# repquota - vag
# edquota -u mandark
Dentro do edquota, faremos as conguraes para que a quota do usurio mandark, seja de 50MB e ele possa criar 100 arquivos, com um limite mximo acima da sua quota de 10MB e 10 arquivos. Altere o arquivo para que que como mostrado a seguir:
1 2 3 4
Disk quotas for user mandark ( uid 1 Filesystem blocks / dev / sda3 5 soft hard 6 inodes 1
1) : soft 11 hard
^ - - - - - - - N O MEXER - - - - - - -^
Onde:
Pgina 6
4Linux www.4linux.com.br
Filsesystem -> partio onde ser aplicada a quota. blocks -> tamanho real utilizado em KBytes. (no possvel alterar) soft -> limite da quota de espao disponvel para gravao, ao ultrapassar este limite o usurio estoura sua quota. hard -> limite mximo permitido de espao disponvel para gravao, aps exceder sua quota, existe um perodo de tempo chamado grace time para uso deste limite. inodes -> tamanho real utilizado em nmero de arquivos. (no possvel alterar) soft -> limite da quota de nmero de arquivos que podem ser criados, ao ultrapassar este limite o usurio estoura sua quota. hard -> limite mximo permitido de nmero de arquivos que podem ser criado, aps exceder sua quota, existe um perodo de tempo chamado grace time para uso deste limite. Verique se o limite j est aplicado:
# repquota -v -a
J que zemos a gentileza de determinar que o usurio poder usar 10MB ou 10 arquivos a mais caso ele estoure a sua quota, devemos determinar tambm por quanto tempo ele poder usar esse espao a mais. Determine que os usurios tero 5 dias de grace period:
# edquota -t
Caso o usurio estoure sua quota ele tem um tempo(grace period) antes de sua
Pgina 7
4Linux www.4linux.com.br
conta ser bloqueada para apagar os arquivos necessrios para utilizar o limite de sua quota. Consulte a quota do usurio mandark.
# quota -u mandark
Efetue login em outro terminal utilizando o usurio mandark e vamos rodar um comando para encher o disco:
$ yes > a
Depois que a quota estourou, volte ao terminal do root, examine o status da quota e veja se a quota do usurio mandark est estourada por espao utilizado:
# repquota - va
Vamos executar o seguinte comando para estourar o nmero de inodes permitidos para o usurio mandark:
Depois que a quota estourou, volte ao terminal do root, examine o status da quota e veja se a quota do usurio mandark est tambm por nmero de arquivos:
# repquota - va
Quando o usurio est com a quota estourada possvel aumentar o "grace period"para ele:
Pgina 8
4Linux www.4linux.com.br
864
/ home
Onde: -u -> deni que a quota pra um usurio mandark -> usurio que receber a denio de quota -T -> dene o prodo de grace time 86400 -> tempo em segundos (por tamanho) 86400 -> tempo em segundos (por inode) /home -> partio que ser denida a quota Voltando ao terminal logado, como usurio mandark, vamos apagar os arquivos criados:
$ rm a file *
# quota -u mandark
Outra forma de denir a quota do usurio atravs do comando setquota, este comando muito til para scripts. Vamos aumentar o tamanho da quota do usurio mandark:
# setquota -u mandark 2
21
1 1
/ home
-u -> indica que ser denida quota para um usurio mandark -> usurio que receber os valores da quota 200000 -> soft para espao disponvel para uso 210000 -> hard para espao disponvel para uso
Pgina 9
4Linux www.4linux.com.br
1000 -> soft para nmero de arquivos 1010 -> hard para nmero de arquivos home -> partio para aplicar a quota Cheque os valores da quota do usurio mandark:
# quota -u mandark
# setquota -g users 5
11
Ou
# edquota -g users
1 2 3 4
Disk quotas for group users ( gid 1 Filesystem blocks / dev / sda3 5 soft hard 6
): soft 1 11 hard
inodes
^-- - - - - - - - - N O MEXER - - - - - - - - - -^
# repquota - vag
Pgina 10
4Linux www.4linux.com.br
Verique os detalhes mais avanados sobre o uso das quotas nas parties.
# quotastats
Troque sua permisso para toda vez que um arquivo for criado, pertena ao grupo users, para isso mude tambm o grupo do diretrio para users:
1 2
Acesse o diretrio /home/users com o usurio mandark e estoure a quota de grupo por tamanho:
$ yes > a
Pgina 11
4Linux www.4linux.com.br
# repquota - vag
# repquota - va
O usurio mandark tem quota denida e o usurio rh no tem, ento vamos copiar a quota do usurio mandark para o usurio herdeiro:
Onde: -u -> usurio -p -> prottipo -g -> grupo Verique a quota por usurios:
# repquota - va
Pgina 12
4Linux www.4linux.com.br 8.3 Criando usurio com quota denida (S funciona no Debian)
1 2 3 4
# vim / etc / adduser . conf # linha 67 completo com o nome do usu rio que tem quota definida : QUOTAUSER = " mandark "
Crie um usurio com o comando adduser e veja que ele j ter quota denida:
1 2
1 2 3
# Programa usado para enviar as mensagens MAIL_CMD = " / usr / sbin / sendmail -t " # Campo de origem da mensagem
Pgina 13
8.3 Criando usurio com quota denida (S funciona no Debian) 4Linux www.4linux.com.br
4 5 6 7 8 9
FROM = " root@localhost " # but they don t have to be : SUBJECT = Quota excedida CC_TO = " root@localhost " SUPPORT = " root@localhost " PHONE = " 5555 -2525 "
O e-mail enviado aos usurios.. Quando a quota por grupo deve-se eleger um usurio para receber os e-mails de quota excedida do grupo. O arquivo /etc/quotagrpadmins serve para congurar o usurio que receber os emails de quota excedida do grupo:
1 2 3
1 2
# warnquota -u # warnquota -g
1 2 3
# vim / etc / crontab # min -u hora dia_do_mes 15 15 -g * * * * m s dia_da_semana usu rio comando * * root root / usr / sbin / warnquota / usr / sbin / warnquota
Pgina 14
4Linux www.4linux.com.br 8.3 Criando usurio com quota denida (S funciona no Debian)
Pgina 15