Les projets permettent d'imposer des limites d'utilisation des ressources pour différents utilisateurs et groupes. Ils peuvent être utilisés pour limiter le nombre de fichiers qu'un processus peut ouvrir, c'est la taille maximale du fichier, l'utilisation du processeur, l'allocation de mémoire et plus encore. Chaque processus et utilisateur appartient à un ou plusieurs projets. Le projet initial d'un utilisateur est déterminé au moment de la connexion et sera soit le projet par défaut, soit le projet défini dans la section Attributs utilisateur de ce module. Les utilisateurs peuvent basculer vers différents projets à l'aide de la commande newtask .
Chaque projet a une liste d'utilisateurs et de groupes autorisés à y accéder, par exemple en y basculant avec la commande newtask . Le fait qu'un utilisateur soit membre d'un projet ne signifie pas nécessairement qu'il y appartiendra automatiquement au moment de la connexion - cela doit être défini dans la section Attributs utilisateur .
Les attributs les plus importants d'un projet sont les limites de ressources qui s'appliquent à ses utilisateurs membres. Chacun a les attributs suivants:
- Ressource
- La ressource qu'il contrôle, comme process.max-file-descriptor pour la taille maximale du fichier pouvant être créé, ou process.max-cpu-time pour la quantité de temps processeur qu'un processus peut consommer.
- Type de ressource
- Détermine qui peut modifier cette limite de ressources et est presque toujours défini sur Privilège . Cet attribut est facultatif - si <Aucun> est sélectionné, la limite globale du système pour la ressource s'applique à la place. Les significations des autres options sont:
- Privilège - Ne peut être modifié que par des appelants privilégiés (superutilisateur).
- Système - Fixé pour la durée de l'instance du système d'exploitation.
- De base - Peut être modifié par le propriétaire du processus appelant.
- Limite supérieure
- Limite supérieure d'utilisation qu'un processus est autorisé à consommer avant le déclenchement de l'action. Il est entré en octets, secondes ou nombre de threads, selon le type de ressource.
- Action dépassée
- Détermine ce qui arrive à un processus qui dépasse la limite. En règle générale, il est défini sur Refuser , ce qui entraîne l'échec de l'appel système qui a tenté de dépasser la limite. Cependant, les options pour envoyer un signal au processus incriminé peuvent également être utiles.