Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pratique:informatique:quota_user [26/10/2025 19:41] Zatalyzpratique:informatique:quota_user [16/11/2025 17:16] (Version actuelle) Zatalyz
Ligne 2: Ligne 2:
 Permet de définir des quotas d'espace disque pour des groupes et des utilisatrices.  Permet de définir des quotas d'espace disque pour des groupes et des utilisatrices. 
  
-Dans le cas d'un "mutualisé", le quota par utilisatrice évite que l'une prenne trop de place. Sauf erreur, pour les groupes on prend le total du groupe. Donc si on a 100 user avec le droit à 1Go chacune mais que le groupe est limité à 50Go, les utilisatrices les plus chiches seront bloquées avant ? De mémoire faut pas trop mélanger les deux...+Dans le cas d'un "mutualisé", le quota par utilisatrice évite que l'une prenne trop de place. Sauf erreur, pour les groupes on prend le total du groupe. Donc si on a 100 user avec le droit à 1Go chacune mais que le groupe est limité à 50Go, les utilisatrices les plus chiches seront bloquées avant ? Non, parce qu'il n'est pas possible d'avoir un répertoire appartenant à plusieurs quotas. Donc on choisit : groupe ou user, et on évite de mélanger. Et finalement par ''user'' et leurs ''home'', c'est souvent le moins casse-gueuleOn pourrait aussi mettre un quota sur www-data (et donc tous les répertoires web) mais ça me semble générateur de bizarreries et fait porter le ménage à la sysadmin, qui a d'autres choses à faire que de trancher si on vire le site de Gudule ou de Marcelle
  
-  * Les soft limits peuvent être temporairement dépassés (période de grâce).+  * Les soft limits peuvent être temporairement dépassés (période de grâce). Par défaut la période est à 7 jours. Elle peut se changer avec ''edquota -t''.
   * Les hard limits ne peuvent pas être dépassés.   * Les hard limits ne peuvent pas être dépassés.
 +
 +On peut définir les limites sur les blocs ou les inodes.
 +  * Les blocs sont le "poids" des fichiers. En ext4, 1 bloc = 4 Ko. On peut déclarer aussi avec des unités informatiques (comme 4G).
 +  * Les inodes sont les fichiers et dossiers. Chaque fichier/dossier consomme 1 inode.
 +
 +
 +<WRAP center round info 100%>
 +Le quota s'applique aux propriétaire d'un fichier. D'où l'importance de ne pas mélanger groupe et user, vu qu'un fichier appartient toujours à un user ET à un groupe ; ça peut donner des trucs étranges.
 +
 +Si j'ai le ficher "machin.bin" dans le dossier /home/alice/ : il ne suffit pas qu'alice soit proprio de son dossier. Le fichier est à qui ? c'est ça qui est pesé. Si on utilise le quota par user, et que 
 +
 +<code>ls -l
 +-rw-r--r-- 1 alice asso     52428800 16 nov.  16:06 machin.bin
 +</code>
 +=> le poids sera compté à alice.
 +
 +<code>ls -l
 +-rw-r--r-- 1 asso asso     52428800 16 nov.  16:06 machin.bin
 +</code>
 +=> le poids sera compté à asso (en tant qu'user et non en tant que groupe). 
 +
 +Dans le cas de dossiers où plusieurs intervenantes agissent, si elles ne remettent pas les droits proprement, elles peuvent donc voir monter leur propre quota... Dans le cas des sites web gérés à plusieurs, cette subtilité peut donner des effets intéressants (permette de mutualiser les quotas en se répartissant les fichiers, ou se retrouver à ne plus pouvoir écrire parce qu'on a oublié de remettre les droits à l'asso...). 
 +
 +</WRAP>
 +
  
 ===== Initialiser ===== ===== Initialiser =====
Ligne 30: Ligne 55:
   apt install quota   apt install quota
  
-<WRAP center round todo 60%> 
-Pause, c'est pas clair dans ma tête. 
-</WRAP> 
  
 ==== Méthode quotacheck ==== ==== Méthode quotacheck ====
Ligne 38: Ligne 60:
  
 On va ensuite executer "quotacheck". Il scanne le système de fichiers et met à jour les fichiers de quota (aquota.user et aquota.group) pour garder un jalon de l'utilisation actuelle du disque. Il faut impérativement l'exécuter tant que les quotas ne sont pas actifs (on le fait juste après).  On va ensuite executer "quotacheck". Il scanne le système de fichiers et met à jour les fichiers de quota (aquota.user et aquota.group) pour garder un jalon de l'utilisation actuelle du disque. Il faut impérativement l'exécuter tant que les quotas ne sont pas actifs (on le fait juste après). 
-c : Crée les fichiers de quota (aquota.user, aquota.group) +  * c : Crée les fichiers de quota (aquota.user, aquota.group) 
-v : Mode verbeux +  v : Mode verbeux 
-u : Scan pour les quotas utilisateur +  u : Scan pour les quotas utilisateur 
-g : Scan pour les quotas groupe +  g : Scan pour les quotas groupe 
-m : Force le scan même si le système de fichiers est monté en écriture +  m : Force le scan même si le système de fichiers est monté en écriture 
-a : Scan tous les systèmes de fichiers avec quotas dans fstab+  a : Scan tous les systèmes de fichiers avec quotas dans fstab
  
   quotacheck -cavugm   quotacheck -cavugm
Ligne 52: Ligne 74:
 ''quotacheck: Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running 'tune2fs -O quota <device>'.'' ''quotacheck: Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running 'tune2fs -O quota <device>'.''
  
-Pas la peine de trop chercher, on teste la méthode ext4 plus haut ;)+Pas la peine de trop chercher, on garde la méthode ext4 plus haut ;)
 </WRAP> </WRAP>
  
  
 ===== Usages ===== ===== Usages =====
-Vérifier tous les quotas actuels +Vérifier tous les quotas actuels (''a'' pour "tout", ''s'' affiche ça en valeur lisibles, sinon c'est en bloc) 
-  repquota -a+  repquota -as
  
-Vérifier les quotas d'un utilisateur +Vérifier les quotas d'un utilisatrice 
-  quota -u utilisateur +  quota -u utilisatrice
-   +
-Définir un quota pour un utilisateur spécifique (pas copier bêtement, faudra creuser la doc) +
-  edquota -u utilisateur  +
-  setquota -u utilisateur 1G 2G 0 0 /+
  
-Copier les quotas d'un utilisateur à un autre +Pour des chiffres un peu plus clairs :  
-  edquota -p utilisateur_modele nouvel_utilisateur+  quota -s -u utilisatrice 
 + 
 +  * ''-s'' est donc "human-readable". Les arguments sont "[ kgt ],[ kgt ]" (pour kilo, giga, tera), le premier étant pour les bloc et le second pour les inodes. Donc "-sg,k" va donner les blocs en giga et les inodes en kilo.  
 +    * Attention cependant, ça arrondit à la grosse louche, 1600 blocs donnent "1G". Et la première colonne arrondit même de façon aberrante, mes "32" blocs utilisés ont été transformés en "1G"
 +  * En laissant juste ''-s'', l'affichage va donner les unités en Méga et Kilo seulement ; j'ai par exemple "501M* 15000K  16000K" (ce qui me permet de voir que j'ai grave dépassé le quota avec l'étoile, et que surtout j'ai confondu les chiffres en faisant mes quotas ! On est resté en dessous du Go, ce qui est peu !). 
 + 
 +Copier les quotas d'une utilisatrice à un autre 
 +  edquota -p utilisatrice_modele nouvel_utilisatrice
  
 Désactiver temporairement les quotas Désactiver temporairement les quotas
Ligne 75: Ligne 100:
 Activer les quotas Activer les quotas
   quotaon -av   quotaon -av
 +
 +Pour tester, on peut créer un faux fichier d'un vrai poids avec ''fallocate''
 +  fallocate -l 50M fauxfichier
 +
 +==== Définir les quotas ====
 +
 +Définir un quota pour un utilisateur spécifique (pas copier bêtement, voir les explications)
 +  edquota -u utilisatrice 
 +  setquota -u utilisatrice 1G 2G 0 0 /home/utilisatrice
 +
 +Comment ça marche ?
 +
 +La commande ''edquota -u utilisatrice'' ouvre un éditeur de texte qui va afficher quelque chose comme ceci : 
 +
 +<code>Quotas disque pour user alice (uid 1001) :
 + Système de fichiers           blocs       souple     stricte   inodes    souple   stricte
 +  /dev/xvda2                       32          0          0          8        0        0
 +</code>
 +
 +La colonne "blocs" affiche le nombre de blocs actuellement utilisés, et inodes, c'est la même chose, mais sur les inodes ! Ici on voit que les limites sont à zéro, ce qui veut dire qu'il n'y a en réalité aucune limite définie. 
 +
 +Pour setquota, la syntaxe est "<block-softlimit> <block-hardlimit> <inode-softlimit> <inode-hardlimit> <répertoire>". Mieux vaut préciser soigneusement le répertoire où le quota s'applique.
  
 ===== Sources ===== ===== Sources =====
   * https://debian-handbook.info/browse/fr-FR/stable/sect.quotas.html   * https://debian-handbook.info/browse/fr-FR/stable/sect.quotas.html
 +  * https://debian-facile.org/doc:systeme:quota
 +  * https://wiki.debian.org/fr/Quota
   * https://linux.die.net/man/8/quotacheck   * https://linux.die.net/man/8/quotacheck
   * https://www.man7.org/linux/man-pages/man8/quotaon.8.html   * https://www.man7.org/linux/man-pages/man8/quotaon.8.html
pratique/informatique/quota_user.1761504079.txt.gz · Dernière modification : 26/10/2025 19:41 de Zatalyz