Limiter l’espace disque des utilisateurs

Avec notre configuration, notre serveur fonctionne mais en FTP, il est très important de définir une taille maximale que chaques utilisateurs ne pourra pas dépasser sans quoi un utilisateur pourrait saturé votre disque. Chaques utilisateurs peut une taille maximale différente mais elle peut aussi être identique. Nous allons utiliser le paquet quota.

Sous Debian:
sudo apt-get install quota
Sous Fedora:
sudo dnf install quota

Pour éviter tout problème, il est consiller de faire des tests sur d’autres comptes utilisateurs que le votre créez en un si ce n’est pas déjà fait. Ensuite, nous devons ajouter usrquota dans le fichier /etc/fstab pour gérer les utilisateurs. Ouvrez donc ce fichier avec votre éditeur de text préféré. Votre fichier devrai ressembler à ceci:

PARTUUID=97709945-01 /boot vfat defaults 0 0
PARTUUID=97709945-02 / ext4 defaults,noatime 0 1
#a swapfile is not swap partition

Dans la deuxième ligne, après le mot clé default, ajoutez usrquota et laissez noatime qui suit. Enregistrez ce fichier. IL se peut qu’il y ai une troisième ligne surtout dans le cas ou il y aurai une partition /home si tel est le cas, ajoutez usrquota dans cette dernière et non dans la partition / . Pour que cette instruction soit prise en compte, remontez votre partition soit dans notre cas / avec la commande suivante:

sudo mount -o remount /

Maintenant, il nous faut initialiser quota avec cette commande:

sudo quotacheck -cum /

Si vous obtenez l’erreur suiavnte:

Cannot stat() mounted device /dev/root: Aucun fichier ou dossier de ce type

Il faut rentrez cette commande:

ln -s /dev/sdb2 /dev/root

Maintenant, nous pouvons activer les quotas avec la commande suivante:

sudo quotaon /

Ensuite, nous pouvons initialiser quota avec quotacheck présenté ci-dessus. Définissons le quota pour un utilisateur appelé usr2 par exemple.

sudo edquota -u usr2

Nano ou Vi va souvrir et vous aurez quelque chose comme ceci:

Disk quotas for user usr2 (uid 1006):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 900 1000 1000 9 0 0

block est l’espace utilisé actuelement. soft est la taille limite que l’utilisateur peut dépasser pour un certain temps. hard est la taille limite que l’utilisateur ne peut pas dépasser. Et inodes, correspond au nombre de fichiers. Pour assigné une limite à un utilisateur, vous devez remplacer le 0 dans le champs soft et hard . Dans le cas ci-dessus, l’utilisateur usr2 a consommé 900 block sur 1000 maximum. Un block correspond quasiment à 1 Ko. Pour affichez les quotas, on va copier un fichier de quelques Ko et on exécute cette commande:

sudo repquota /

C’est terminé. A présen votre serveur FTP fonctionne, il est sécurisé et une taille est limité pour les dossiers personnels des utilisateurs.