Chaque processus comporte quatre jeux de privilèges qui déterminent s'il peut utiliser un privilège particulier. Le noyau calcule automatiquement le jeu effectif de privilèges. Vous pouvez modifier le jeu héritable de privilèges. Un programme codé pour utiliser des privilèges peut réduire le jeu autorisé du programme. Vous pouvez réduire le jeu limite de privilèges.
Jeu de privilèges effectif ou E (Effective) : jeu de privilèges actuellement en vigueur. Un processus peut ajouter des privilèges du jeu autorisé dans le jeu effectif. Un processus peut également supprimer des privilèges de E.
Jeu de privilèges autorisés ou P (Permitted) : jeu de privilèges disponible pour l'utilisation. Un programme peut disposer de privilèges par héritage ou par affectation. Un profil d'exécution est un moyen d'affecter des privilèges à un programme. La commande setuid affecte tous les privilèges dont dispose root sur un programme. Des privilèges peuvent être supprimés du jeu autorisé, mais pas ajoutés. Les privilèges supprimés de P sont automatiquement supprimés de E.
Un programme conscient des privilèges supprime de son jeu autorisé les privilèges qu'un programme n'utilise jamais. De cette manière, les privilèges superflus ne peuvent pas être exploités par le programme ou un processus malveillant. Pour plus d'informations sur les Conscient des privilèges, reportez-vous au Chapitre 2, Developing Privileged Applications du manuel Developer’s Guide to Oracle Solaris 11 Security .
Jeu de privilèges héritable ou I (Inheritable) : jeu de privilèges qu'un processus peut hériter d'un appel à exec. Après l'appel à exec, les privilèges hérités sont placés dans le jeu autorisé et le jeu effectif, lesquels deviennent alors identiques, sauf dans le cas particulier d'un programme setuid.
Pour un programme setuid, après l'appel à exec, le jeu héritable est d'abord restreint par le jeu limite. Ensuite, les privilèges hérités (I), moins les privilèges qui se trouvaient dans le jeu limite (L), sont affectés à P et E pour ce processus.
de limite, ou L (limit) : Jeu qui définit la limite extérieure des privilèges qui sont disponibles pour un processus et ses enfants. Par défaut, le jeu limite contient tous les privilèges. Les processus peuvent réduire le jeu limite mais ne peuvent jamais l'étendre. L permet de limiter I. Par conséquent, L limite P et E au moment de exec.
Si un utilisateur s'est vu affecter un profil qui inclut un programme qui a reçu des privilèges, l'utilisateur peut généralement exécuter ce programme. Sur un système non modifié, les privilèges affectés du programme se trouvent dans le jeu limite de l'utilisateur. Les privilèges affectés au programme deviennent partie intégrante du jeu autorisé de l'utilisateur. C'est à partir d'un Shell de profil que l'utilisateur doit exécuter le programme auquel des privilèges ont été affectés.
Le noyau reconnaît un jeu de privilèges de base. Sur un système non modifié, le jeu héritable initial de chaque utilisateur correspond au jeu de base défini au moment de la connexion. Si vous ne pouvez pas modifier le jeu de base, vous pouvez modifier les privilèges dont un utilisateur hérite du jeu de base.
Sur un système non modifié, les jeux de privilèges de l'utilisateur lors de la connexion ressemblent à ce qui suit :
E (Effective): basic I (Inheritable): basic P (Permitted): basic L (Limit): all
Au moment de la connexion, tous les utilisateurs ont le jeu de base dans leur jeu hérité, leur jeu autorisé et leur jeu effectif. Le jeu limite d'un utilisateur est l'équivalent du jeu limite par défaut pour la zone globale ou non globale.
Vous pouvez affecter d'autres, Privilèges Directement à un utilisateur à un ou de l'utilisateur de la mémoire de manière plus précise, de manière indirecte à de nombreux processus de connexion des utilisateurs par le biais d'un profil de droits, et en affectant une commande privilégiée indirectement à un utilisateur. Vous pouvez également supprimer des privilèges du jeu de base d'un utilisateur. Pour plus d'informations sur les procédures et Affecter des exemples, reportez-vous au Chapter Rights in Oracle Solaris 3,. Chapter 3, Affectation de droits dans Oracle Solaris