Recherche de site Web

Comment définir des limites pour l’utilisateur exécutant des processus sous Linux


L’une des beautés de Linux est que vous pouvez contrôler presque tout ce qui s’y rapporte. Cela donne à un administrateur système un grand contrôle sur son système et une meilleure utilisation des ressources système.

Bien que certains n’aient peut-être jamais pensé à le faire, il est important de savoir que sous Linux, vous pouvez limiter la quantité de ressources qu’un seul utilisateur peut utiliser et pendant combien de temps.

Lire aussi : Comment augmenter la limite du nombre de fichiers ouverts sous Linux

Dans ce court sujet, nous allons vous montrer comment limiter le nombre de processus démarrés par l’utilisateur et comment vérifier les limites actuelles et les modifier.

Avant d’aller plus loin, il y a deux choses que nous devons souligner :

  1. Vous avez besoin d’un accès root à votre système pour modifier les limites d’utilisateurs
  2. Vous devez être extrêmement prudent si vous envisagez de modifier ces limites

Pour configurer les limites d’utilisateurs, nous devrons modifier le fichier suivant :


/etc/security/limits.conf

Ce fichier est utilisé pour appliquer ulimit créé par le pam_module. 

La syntaxe du fichier est la suivante :

<domain> <type> <item> <value>

Ici, nous nous arrêterons pour discuter de chacune des options :

  • Domaine – cela inclut les noms d’utilisateur, les groupes, les plages de guids, etc.
  • Type – limites souples et dures
  • Item – l’élément qui sera limité – taille du noyau, taille du fichier, nproc, etc.
  • Valeur – il s’agit de la valeur de la limite donnée

Un bon échantillon pour une limite est :

@student          hard           nproc                20

La ligne ci-dessus fixe une limite stricte de 20 processus maximum sur le groupe « étudiant ».

Si vous voulez voir les limites d’un certain processus, vous pouvez simplement « cat » le fichier de limites comme ceci :


cat /proc/PID/limits

Lorsque PID est l’ID de processus réel, vous pouvez le trouver à l’aide de la commande ps. Pour une explication plus détaillée, lisez notre article qui dit - Trouver l’exécution de processus Linux et définir des limites de processus par niveau d’utilisateur

Voici donc un exemple :


cat /proc/2497/limits
Exemple de sortie

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

Toutes les lignes sont assez explicites. Cependant, si vous voulez plus de paramètres que vous pouvez entrer dans le fichier limits.conf, vous pouvez jeter un coup d’œil au manuel fourni ici.

Si vous avez des questions ou des commentaires, n’hésitez pas à les soumettre dans la section des commentaires ci-dessous.

Articles connexes: