GNU/Linux >> Tutoriels Linux >  >> Linux

Comment définir des limites sur les processus d'exécution de l'utilisateur sous Linux

L'une des beautés de Linux est que vous pouvez contrôler presque tout à ce sujet. 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 vous montrerons 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 .

Le fichier a la syntaxe 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 GUID, etc.
  • Tapez – limites souples et dures
  • Article - l'élément qui sera limité - taille du noyau, taille du fichier,  nproc etc
  • Valeur – c'est la valeur pour la limite donnée

Un bon exemple de limite est :

@student          hard           nproc                20

La ligne ci-dessus définit une limite stricte de 20 processus maximum sur l'"student" groupe.

Si vous voulez voir les limites d'un certain processus, vous pouvez simplement "cat" le fichier de limites comme celui-ci :

# cat /proc/PID/limits

PID est l'ID de processus réel, vous pouvez trouver l'ID de processus en utilisant ps commande. Pour une explication plus détaillée, lisez notre article qui dit - Trouver les processus Linux en cours d'exécution et définir les 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 à peu près explicites. Cependant, si vous souhaitez en savoir plus sur les paramètres, vous pouvez les saisir dans limits.conf fichier, vous pouvez consulter le manuel fourni ici.

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


Linux
  1. Comment changer un nom d'utilisateur sous Linux

  2. Comment ajouter un utilisateur à un groupe sous Linux

  3. Comment définir la variable $Path sous Linux

  4. Comment afficher les processus en cours d'exécution de n'importe quel utilisateur dans SSH ?

  5. Définir ou modifier un mot de passe utilisateur sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment ajouter un utilisateur à un groupe sous Linux

Comment définir ou modifier le nom d'hôte sous Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Comment changer d'utilisateur sous Linux

Comment utiliser la commande ulimit sous Linux