Antes mesmo de começarmos a falar sobre como limitar
o uso de espaço em disco para os usuários ou grupo
de usuários em Linux precisamos entender para que vamos
querer isso. É importante você saber que o uso
desse recurso só será válido em um ambiente
multi-usuário. Se você tem uma máquina que
possui muitos usuários, remotos ou não, é
vital o uso desse recurso. Ele pode ser usado, por exemplo,
para limitar o espaço em disco que cada usuário tem
acesso para receber emails, para sua conta shell, para uma
eventual conta de hospedagem de homepages ou uma área de
acesso FTP.
Tal recurso no Linux é conhecido como Quota. A
idéia de quota é limitar o uso de disco de cada
usuário do seu sistema. Esse limite implica em um
controle maior do seu servidor para evitar panes que uma
possível falta de espaço possa gerar.
A única limitação para o uso de quota
é que até o momento, quota só tem suporte para
o FileSystem ext2 (default no seu Linux).
Para fazer o uso desse recurso você vai precisar
preparar seu kernel para isso. O único define que
você precisa ativar é CONFIG_QUOTA=y.
Dependendo da distribuição do seu Linux,
você pode não ter os softwares controladores. Caso
você não tenha, o endereço para obtê-los
é:
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
.
É recomendado que o recurso de quota seja
inicializado durante o boot. Não faz sentido você
ter que fazer isso sempre que quiser manter esse recurso
ativo. No entanto, é importante saber que ele só
poderá ser inicializado depois que os filesystems, no
/etc/fstab, tiverem sido montados.
Um exemplo usual, que foi colocado dentro do arquivo
/etc/rc.d/rc.local [slackware]:
_____________________________________
# Check quota and then turn quota on.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checking quotas. This may take some time."
/usr/sbin/quotacheck -avug
echo " Done."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi
_____________________________________
Isso vai ativar o sistema de quota. É importante
verificar se seus scripts de shutdown possuem a habilidade de
desativar a Quota. Procure nos scripts de runlevels 0 (halt),
1 (administrative state), 6 (shutdown) para ver se possuem
alguma referência ao binário quotaoff. Caso
não haja, temos um exemplo:
_____________________________________
# Try to turn off quota and accounting.
if [ -x /usr/sbin/quotaoff ]
then
echo "Turning off quota.."
/usr/sbin/quotaoff -a
fi
_____________________________________