You are on page 1of 15

4451

Linux System Administration

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,

8.1 Introduo Terica

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:

# aptitude install quota

# yum install quota

Edite o arquivo /etc/fstab e inclua as opes de quota por usurio e por grupo em /home:

UUID =12 e9cf3f -99 b3 -4 e8e -8 79 - d4337b2ce9c8 usrquota , grpquota 2

/ home ext3

defaults ,

Remonte o /home para que as alteraes sejam efetuadas:

# mount -o remount / home

Verique se as opes de quota foram aplicadas:

# mount

Crie os arquivos de quota na raiz da partio que receber o sistema de quotas:

Pgina 4

Linux System Administration

4Linux www.4linux.com.br

8.1 Introduo Terica

# quotacheck - cug / home

-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

Habilite a quota na partio /home:

# quotaon / home

Caso queira desabilitar a quota na partio o comando :

# quotaoff / home

Verique se o sistema de quota est ativo, listando as suas informaes de quotas para usurios:

Linux System Administration

Pgina 5

8.1 Introduo Terica

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

8.1.1 Quotas por Usurio


Vamos denir qual a quantidade de recursos do HD que cada usurio poder utilizar. Vamos impor que o usurio mandark poder utilizar at 50MB com um limite mximo de 60MB ou 100 arquivos com o limite mximo de 110 arquivos. Editando a quota do usurio mandark:

# 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

Linux System Administration

4Linux www.4linux.com.br

8.1 Introduo Terica

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

Linux System Administration

Pgina 7

8.1 Introduo Terica

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:

$ touch file {1..1

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

Linux System Administration

4Linux www.4linux.com.br

8.1 Introduo Terica

# setquota -u mandark -T 864

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 *

Cheque os valores da quota do usurio mandark:

# 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

Linux System Administration

Pgina 9

8.1 Introduo Terica

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

8.1.2 Quotas por Grupo


Dena quota por grupo para o grupo users:

# 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 - - - - - - - - - -^

Verique o status da quota por grupo:

# repquota - vag

Pgina 10

Linux System Administration

4Linux www.4linux.com.br

8.1 Introduo Terica

Verique os detalhes mais avanados sobre o uso das quotas nas parties.

# quotastats

Adicione o usurio mandark ao grupo users:

# adduser mandark users

Crie um diretrio para teste de quota por grupo:

# mkdir / home / users

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

# chmod 2775 / home / users # chgrp users / home / users

Acesse o diretrio /home/users com o usurio mandark e estoure a quota de grupo por tamanho:

$ yes > a

Estoure a quota de grupo por nmero de arquivos:

$ touch arq {1..1 1}

Verique o status da quota por grupo:

Linux System Administration

Pgina 11

8.2 Replicando quotas

4Linux www.4linux.com.br

# repquota - vag

8.2 Replicando quotas


Verique a quota por usurios:

# 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:

# edquota - up mandark herdeiro

Onde: -u -> usurio -p -> prottipo -g -> grupo Verique a quota por usurios:

# repquota - va

Pgina 12

Linux System Administration

4Linux www.4linux.com.br 8.3 Criando usurio com quota denida (S funciona no Debian)

8.3 Criando usurio com quota denida (S funciona no Debian)


Edite o arquivo /etc/adduser.conf e adicione um usurio que j tenha uma quota denida na opo QUOTAUSER= . Ex: o usurio mandark j tem cota denida e quero passar esta quota para um usurio novo:

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

# adduser compras # repquota - va

8.3.1 Aviso de quota excedida


Avisos sobre quota ultrapassada podem ser enviadas automaticamente a todos os usurios pelo utilitrio warnquota. Ele poder ser executado periodicamente atravs do cron (por padro isto feito diariamente na distribuio Debian pelo script /etc/cron.daily/quota), no CentOS necessrio agendar a execuo do comando warnquota. Dados adicionais sobre o envio das mensagens devem ser especicados no arquivo /etc/warnquota.conf seu formato o seguinte:

1 2 3

# Programa usado para enviar as mensagens MAIL_CMD = " / usr / sbin / sendmail -t " # Campo de origem da mensagem

Linux System Administration

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

# vim / etc / quotagrpadmins grupo : usuario users : mandark

Para receber o aviso para usurios e para grupos execute:

1 2

# warnquota -u # warnquota -g

Caso queira pode colocar no crontab para executar de tempos em tempos:

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

Linux System Administration

4Linux www.4linux.com.br 8.3 Criando usurio com quota denida (S funciona no Debian)

Obs.: O Debian j faz a checagem por padro no crontab: /etc/cron.daily/quota.

Linux System Administration

Pgina 15

You might also like