close
Unix, Linux & Tips

Les tribulations d'un admin sys

Travail

Limites Utilisateur ?

Image par Taken de Pixabay

Lors de l’utilisation d’un serveur Unix, un administrateur peut être amené à devoir gérer le contrôle des ressources systèmes via la commande ulimit.

Définition

Le contrôle des ressources qui est offert par le système est un élément important de la fiabilisation d’un système Unix. Un système qui est correctement configuré ne souffrira pas de déni de services en cas de dysfonctionnement d’un processus, ou encore d’attaques (qu’elles soient voulues ou non) par les utilisateurs (forkbombs notamment).

Celui-ci peut donc adapter les ressources dont il dispose via la commande ulimit, ou l’édition du fichier suivant en fonction des environnements :

  • AIX :/etc/security/limits
  • Solaris :/etc/system
  • Linux:/etc/security/limits.conf

Remarque : Ce fichier est chargé par le module PAM à chaque ouverture de session.

Principe d’utilisation

Il est possible de définir, pour un certain nombre de ressources (nombre de fichiers ouverts, taille des fichiers, nombre de processus instanciés, temps CPU, etc), une limite dite souple (limite soft) qui peut être augmentée par l’utilisateur, via la commande ulimit, jusqu’à une limite maximale qualifiée de limite dure (limite hard).
Le système ne dépasse pas la valeur de la limite soft. Si l’utilisateur souhaite repousser cette limite, il devra définir une nouvelle limite soft avec ulimit. Bien entendu, la limite soft est toujours inférieure ou égale à la limite hard. De manière générale, les limites appliquées à un utilisateur sont prioritaires sur celles appliquées à un groupe.

Les ressources gérées

Comme nous l’avons vu précédemment les limites sont fixées dans un fichier. La commande ulimit permet d’en modifier certaines telles que :

  • La taille des fichiers, nombre de fichiers ouverts, le nombre de processus, etc…

A contrario, d’autres limites sont imposées et seulement modifiables via le fichier, telles que :

  • Nombre de login simultanés, le nombre maximum d’utilisateurs connectés, la priorité maximale des processus utilisateur, etc…

Pour plus d’informations concernant l’utilisation des paramètres de la commande ulimit, vous pouvez vous reporter aux documentation suivantes : [AIX] [Solaris] [Linux]

Méthode d’utilisation

De manière générale, passer l’option « S » à ulimit impactera la limite effective (limite soft), et l’option « H » la limite hard (qui correspond à la valeur maximum pouvant être définie par l’utilisateur).

La commande ulimit -a retourne toutes les limites imposées au compte courant (donc les softs) :

Remarque : La commande ulimit -Ha retourne la liste des limites maximales pouvant être atteintes.

Les valeurs d’une ressource particulière sont affichées en utilisant les options qui leurs sont associées :

Remarque : L’ordre des options à de l’importance.

  • Pour afficher les ulimit d’un user :

  • Pour modifier les limites d’un utilisateur :

Remarque : Pour les valeurs stack,data et memory -> la valeur du ulimit est en kbytes alors que celle entrée avec le chuser est en block de 512 bytes. Donc, penser à multiplier la valeur par deux pour obtenir la bonne correspondance.

Tags : aixlimitlinuxsolarisunix
Emmanuel V.

The author Emmanuel V.

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.