O espaço em disco não é infinito pelo que por vezes é necessário limitar a quantidade de dados (quotas) que cada utilizador pode armazenar.
Nesta configuração iremos definir quotas para os utilizadores na partição /dev/sda6
, montada em /home
.
root@server:~# apt install quota
O sistema de ficheiro deve ser montado com as opções para suportar quotas. Para tal, devemos editar o ficheiro de configuração /etc/fstab e acrescentar as opções usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0
nas opções de montagem de /home
:
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # [...] /dev/sda6 /home ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 2 # [...]
O sistema de ficheiros deverá ser montado novamente, de modo a ter em conta as alterações:
root@server:~# mount -o remount /home
Em seguida o sistema de quotas deverá ser inicializado:
root@server:~# quotacheck -cugm /home
E finalmente o sistema de quotas dever ser ativado:
root@server:~# quotaon -guvp /home group quota on /home (/dev/sda6) is on user quota on /home (/dev/sda6) is on
As cotas podem ser definidas por utilizador, recorrendo ao editor de quotas edquota -u <utilizador>
:
root@server:~# edquota -u fribeiro
O valor hard
é o máximo absoluto que o utilizador pode usar; o valor soft
pode ser excedido por algum tempo, definido como um período de graça (grace time
) definido por omissão para 7 dias.
Disk quotas for user fribeiro (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda6 4852 10223616 10485760 469 0 0
Neste exemplo definimos quotas de 9,5Gb (ou 10223616Kb) para o limite soft
e 10Gb (ou 10485760Kb) para o limite hard
para o utilizador fribeiro
.
A quotas por utilizador podem ser consultadas com o comando quota
:
root@server:~# quota -s fribeiro Disk quotas for user fribeiro (uid 1000): Filesystem space quota limit grace files quota limit grace /dev/sda6 4852K 9984M 10240M 469 0 0
Também é possível gerar um relatório das quotas para todos os utilizadores com o comando repquota
:
root@server:~# repquota -as *** Report for user quotas on device /dev/sda6 Block grace time: 7days; Inode grace time: 7days Space limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 28K 0K 0K 4 0 0 fribeiro -- 4852K 9984M 10240M 469 0 0