A utilização de um sistema de quotas é um assunto tão importante quanto dividir o
disco rígido em partições. O sistema de quotas serve para limitarmos a quantidade
de blocos e “inodes” que um usuário ou grupo pode utilizar em uma determinada
partição.
O sistema de quotas é uma funcionalidade do “filesystem” e do kernel, sendo assim,
ambos têm que serem capazes de suportá-lo. Uma vez que o “filesystem” suporta
quotas, devemos adicionar os parâmetros de montagem, “usrquota” e “grpquota” ao
“filesystem” que utilizaremos com esse sistema. Isso é feito no arquivo “/etc/fstab”.
Além disso, temos que criar, na raiz desses “filesystems”, os arquivos de controle,
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 partições.
Instale o pacote de quota:
# aptitude install quota
#apt-get install quota
# yum install quota
Edite o arquivo “/etc/fstab” e inclua as opções de quota por usuário e por grupo em
“/home”:
UUID =12 e9cf3f -99b3 -4 e8e -8079 - d4337b2ce9c8 / home ext3 defaults ,
usrquota , grpquota 0 2
Remonte o “/home” para que as alterações sejam efetuadas:
mount -o remount / home
Verifique se as opções de quota foram aplicadas:
# mount
Crie os arquivos de quota na raiz da partição que receberá o sistema de quotas:
# quotacheck -cug / home
-c -> cria arquivos de quota
-u -> checa quotas de usuários
-g -> checa quotas de grupos Caso dê erro:
-f -> força checagem das quotas
-m -> força checagem no filesystem montado como leitura e escrita , não remonta o
filesystem como somente leitura em caso de erro.
Certifique-se de que os arquivos de controle de quota foram criados: "aquota.group"e
"aquota.user".
# ls -l / home
Habilite a quota na partição /home:
# quotaon / home
Caso queira desabilitar a quota na partição o comando é:
# quotaoff / home
Verifique se o sistema de quota está ativo, listando as suas informações de quotas
para usuários:
# repquota -va
Verifique se o sistema de quota está ativo, listando as suas informações de quotas
para grupos:
# repquota -vag
Quotas por Usuário:
Vamos definir qual a quantidade de recursos do HD que cada usuário poderá utilizar.
Vamos impor que o usuário “mandark” poderá utilizar até 50MB com um limite
máximo de 60MB ou 100 arquivos com o limite máximo de 110 arquivos.
Editando a quota do usuário mandark:
Editando a quota do usuário mandark:
# edquota -u mandark
Dentro do “edquota”, faremos as configurações para que a quota do usuário mandark,
seja de 50MB e ele possa criar 100 arquivos, com um limite máximo acima da
sua quota de 10MB e 10 arquivos. Altere o arquivo para que fique como mostrado a
seguir:
Disk quotas for user mandark ( uid 1001) :
Filesystem blocks soft hard inodes soft hard
/dev/ sda3 0 50000 60000 0 100 110
^-------NÃO MEXER -------^
Onde:
Filsesystem -> partição onde será aplicada a quota.
blocks -> tamanho real utilizado em KBytes. (não é possível alterar)
soft -> limite da quota de espaço disponível para gravação, ao ultrapassar este limite
o usuário estoura sua quota.
hard -> limite máximo permitido de espaço disponível para gravação, após exceder
sua quota, existe um período de tempo chamado “grace time” para uso deste limite.
inodes -> tamanho real utilizado em número de arquivos. (não é possível alterar)
soft -> limite da quota de número de arquivos que podem ser criados, ao ultrapassar
este limite o usuário estoura sua quota.
hard -> limite máximo permitido de número de arquivos que podem ser criado, após
exceder sua quota, existe um período de tempo chamado “grace time” para uso deste
limite.
Verifique se o limite já está aplicado:
# repquota -v -a
Já que fizemos a gentileza de determinar que o usuário poderá usar 10MB ou 10
arquivos a mais caso ele estoure a sua quota, devemos determinar também por
quanto tempo ele poderá usar esse espaço a mais.
Determine que os usuários terão 5 dias de “grace period”:
# edquota -t
Caso o usuário estoure sua quota ele tem um tempo(grace period) antes de sua conta ser bloqueada para apagar os arquivos necessários para utilizar o limite de
sua quota.
Consulte a quota do usuário “mandark”.
# quota -u mandark
Efetue login em outro terminal utilizando o usuário “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 usuário mandark está estourada por espaço utilizado:
# repquota -va
Vamos executar o seguinte comando para estourar o número de “inodes” permitidos
para o usuário mandark:
$ touch file {1..100}
Depois que a quota estourou, volte ao terminal do “root”, examine o status da quota
e veja se a quota do usuário mandark está também por número de arquivos:
# repquota -va
Quando o usuário está com a quota estourada é possível aumentar o "grace period"
para ele:
# setquota -u mandark -T 86400 86400 / home
Onde: -u -> defini que a quota é pra um usuário mandark -> usuário que receberá a
definição de quota -T -> define o príodo de grace time 86400 -> tempo em segundos
(por tamanho) 86400 -> tempo em segundos (por inode) /home -> partição que será
definida a quota
Voltando ao terminal logado, como usuário “mandark”, vamos apagar os arquivos
criados:
$ rm a file *
Cheque os valores da quota do usuário mandark:
# quota -u mandark
Outra forma de definir a quota do usuário é através do comando setquota, este comando
é muito útil para scripts.
Vamos aumentar o tamanho da quota do usuário mandark:
# setquota -u mandark 200000 210000 1000 1010 / home
-u -> indica que será definida quota para um usuário
mandark -> usuário que receberá os valores da quota
200000 -> soft para espaço disponível para uso
210000 -> hard para espaço disponível para uso
1000 -> soft para número de arquivos
1010 -> hard para número de arquivos
home -> partição para aplicar a quota
Cheque os valores da quota do usuário mandark:
# quota -u mandark
Quotas por Grupo
Defina quota por grupo para o grupo “users”:
# setquota -g users 50000 60000 100 110
ou
Disk quotas for group users ( gid 100) :
Filesystem blocks soft hard inodes soft hard
/dev/ sda3 0 50000 60000 0 100 110
^----------NÃO MEXER ----------^
Verifique o status da quota por grupo:
# repquota -vag
Verifique os detalhes mais avançados sobre o uso das quotas nas partições.
# quotastats
Adicione o usuário mandark ao grupo users:
# adduser mandark users
Crie um diretório para teste de quota por grupo:
# mkdir / home / users
Troque sua permissão para toda vez que um arquivo for criado, pertença ao grupo
users, para isso mude também o grupo do diretório para ”users”:
# chmod 2775 / home / users
# chgrp users / home / users
Acesse o diretório /home/users com o usuário mandark e estoure a quota de grupo
por tamanho:
$ yes > a
Estoure a quota de grupo por número de arquivos:
$ touch arq {1..101}
Verifique o status da quota por grupo:
# repquota -vag
Replicando quotas
Verifique a quota por usuários:
# repquota -va
O usuário mandark tem quota definida e o usuário rh não tem, então vamos copiar a
quota do usuário mandark para o usuário herdeiro:
# edquota -up mandark herdeiro
Onde:
-u -> usuário
-p -> protótipo
-g -> grupo
Verifique a quota por usuários:
# repquota -va
Criando usuário com quota definida (Só funciona
no Debian)
Edite o arquivo /etc/adduser.conf e adicione um usuário que já tenha uma quota
definida na opção QUOTAUSER= . Ex: o usuário mandark já tem cota definida e
quero passar esta quota para um usuário novo:
# vim /etc/ adduser . conf
# linha 67 completo com o nome do usu á rio que tem quota definida :
QUOTAUSER =" mandark "
Crie um usuário com o comando adduser e veja que ele já terá quota definida:
# adduser compras
# repquota -va
Aviso de quota excedida
Avisos sobre quota ultrapassada podem ser enviadas automaticamente a todos os
usuários pelo utilitário ‘warnquota’. Ele poderá ser executado periodicamente através
do ‘cron’ (por padrão isto é feito diariamente na distribuição ’Debian’ pelo script
’/etc/cron.daily/quota’), no CentOS é necessário agendar a execução do comando
warnquota. Dados adicionais sobre o envio das mensagens devem ser especificados
no arquivo ’/etc/warnquota.conf’ seu formato é o seguinte:
# Programa usado para enviar as mensagens
MAIL_CMD = "/usr/ sbin / sendmail -t"
# Campo de origem da mensagem
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 usuários..
Quando a quota é por grupo deve-se eleger um usuário para receber os e-mails de
quota excedida do grupo.
O arquivo /etc/quotagrpadmins serve para configurar o usuário que receberá os emails
de quota excedida do grupo:
# vim /etc/ quotagrpadmins
grupo : usuario
users : mandark
Para receber o aviso para usuários e para grupos execute:
# warnquota -u
# warnquota -g
Caso queira pode colocar no crontab para executar de tempos em tempos:
# vim /etc/ crontab
#min hora dia_do_mes mês dia_da_semana usu á rio comando
00 15 * * * root / usr / sbin / warnquota -u
4 00 15 * * * root / usr / sbin / warnquota -g
Obs.: O Debian já faz a checagem por padrão no crontab: /etc/cron.daily/quota.
Quotas de Disco no Linux
Dicas e conf's para servidores Linux
- marcelo0786
- Global Moderator
- Mensagens: 127
- Registrado em: 17 Jun 2013 17:43
- Status: Offline
Ir para
- Administração
- ↳ Apresentação
- ↳ Suporte
- ↳ Solicitação de Categoria
- ↳ Recursos
- Normativas & Padronizações
- ↳ ITIL v3
- ↳ Cobit
- ↳ ISO/IEC 27001
- Certificação
- ↳ LPI
- ↳ LPI 101
- ↳ Dicas
- ↳ Simulados
- ↳ LPI 102
- ↳ Dicas
- ↳ Simulados
- ↳ LPI 201
- ↳ Dicas
- ↳ Simulados
- ↳ LPI 202
- ↳ Dicas
- ↳ Simulados
- ↳ Videos Aulas
- ↳ Google Adwords
- Redes - Servidores - Internet
- ↳ INFRAESTRUTURA DE REDE
- ↳ Nimbus OpenSource Backup
- ↳ Video Aula e Tutoriais
- ↳ Duvidas
- ↳ Bugs e Mods
- ↳ MailCleaner Community
- ↳ Tutoriais
- ↳ Mods
- ↳ Dúvidas
- ↳ Endian Firewall Community
- ↳ Video Aula e Tutoriais
- ↳ Duvidas
- ↳ Projetos
- ↳ Bugs e Mods
- ↳ Projetos de Rede e Datacenter/CPD
- ↳ Ajuda
- ↳ Tutoriais
- ↳ pfSense Open Source Firewall
- ↳ Tutoriais
- ↳ Dicas
- ↳ Dúvidas
- ↳ Mikrotik Routeros
- ↳ Dúvidas
- ↳ Tutoriais
- ↳ Dicas
- ↳ Video Aula
- ↳ CISCO
- ↳ Zimbra
- ↳ Servidores Microsoft Windows
- ↳ Scripts
- ↳ Servidores
- ↳ Dúvidas
- ↳ Acesso Remoto
- ↳ Cloud Computing
- ↳ Videos Aulas
- ↳ Amazon AWS
- ↳ Windowns Azure
- ↳ Office 365
- ↳ Asterix Voip
- ↳ Videos Aulas
- ↳ Tutoriais
- ↳ Servidores GNU/Linux
- ↳ Resara Server
- ↳ Scripts
- ↳ Servidores
- ↳ Tutoriais
- ↳ Zentyal
- ↳ Dúvidas
- ↳ Sistemas Operacionais
- ↳ Prints
- ↳ Shell Script
- ↳ Iomega Stor Center
- ↳ Iptables
- ↳ Video Aula
- ↳ Dúvida
- ↳ ISPConfig
- ↳ Tutoriais
- ↳ Ajuda
- ↳ PMG - Proxmox Mail Gateway
- ↳ Tutoriais
- ↳ Dúvidas
- ↳ MODS
- Virtualização
- ↳ Profissional
- ↳ XenServer
- ↳ VMWARE Vsphire
- ↳ Vmware ESXI
- ↳ KVM
- ↳ VMWare Workstation
- ↳ Hyper-V
- ↳ Proxmox
- ↳ Dúvidas
- ↳ Uso Pessoal
- ↳ VirtualBox
- ↳ Vmware Player
- ↳ Docker
- ↳ Rancher
- Segurança
- ↳ Antivírus Empresarial
- ↳ Sophos Endpoint Protection
- ↳ Panda Security
- ↳ Kaspersky
- ↳ Segurança da Informação
- ↳ Videos Aulas
- ↳ Anti-Spam
- ↳ Monitoramento
- ↳ Zabbix
- ↳ FAN - Fully Automated Nagios
- ↳ Nagios
- ↳ PRTG Network Monitor
- ↳ Zenoss
- ↳ Cacti
- ↳ IDS e IPS
- ↳ Monitorix
- SGDB - Banco de Dados
- ↳ SQL Server
- ↳ MongoDB
- ↳ Interbase - Firebird
- ↳ PostgreSQL
- ↳ Oracle
- ↳ Video Aula
- ↳ Mysql - MariaDB
- Softwares Diversos - Tablets - Smartphones - Android - IOS
- ↳ Android
- ↳ Softwares Windows
- Linguagem De Programação
- ↳ Python
- ↳ Videos Aulas
- ↳ C#
- ↳ Video Aulas
- ↳ Dúvidas
- ↳ HTML 5
- ↳ Video Aula
- ↳ Wordpress
- ↳ Videos Aulas
- ↳ Dicas
- ↳ JavaScript
- ↳ Scripts
- ↳ Hibernate
- ↳ Video Aula
- ↳ Visual Basic
- ↳ Video Aula
- ↳ Lógica De Programação
- ↳ Video Aula
- ↳ Java
- ↳ PHP
- ↳ Dicas
- Office
- ↳ Excel
- ↳ Videos Aulas
- ↳ Dicas
- ↳ MS Project 2010
- ↳ Video Aula
- Noticias
- ↳ Noticias
- Hardware
- ↳ Desktops
- ↳ Servidores
- ↳ Laptops
- ↳ Embarcados e Arduino
- DevSecOps
- ↳ CI/CD
- CPBR7
- ↳ Palestras