7.4. Attribution de catégories aux utilisateurs dans MCS
Vous pouvez définir les autorisations des utilisateurs en attribuant des catégories aux utilisateurs de Linux. Un utilisateur auquel des catégories ont été attribuées peut accéder et modifier des fichiers qui relèvent d'un sous-ensemble de catégories de l'utilisateur. Les utilisateurs peuvent également affecter des fichiers qu'ils possèdent aux catégories qui leur ont été attribuées.
Un utilisateur Linux ne peut pas être affecté à une catégorie qui se situe en dehors de la plage de sécurité définie pour l'utilisateur SELinux concerné.
L'accès aux catégories est attribué lors de la connexion. Par conséquent, les utilisateurs n'ont pas accès aux catégories nouvellement attribuées tant qu'ils ne se sont pas reconnectés. De même, si vous révoquez l'accès d'un utilisateur à une catégorie, cette révocation n'est effective qu'après une nouvelle connexion de l'utilisateur.
Conditions préalables
-
Le mode SELinux est défini sur
enforcing
. -
La politique SELinux est définie sur
targeted
oumls
. -
Le paquet
policycoreutils-python-utils
est installé. Les utilisateurs de Linux sont affectés à des utilisateurs confinés SELinux :
-
Les utilisateurs non privilégiés sont affectés à
user_u
. -
Les utilisateurs privilégiés sont affectés à
staff_u
.
-
Les utilisateurs non privilégiés sont affectés à
Procédure
Définir la plage de sécurité pour l'utilisateur SELinux.
# semanage user -m -rs0:c0,c1-s0:c0.c9 <user_u>
Utilisez les numéros de catégorie
c0
àc1023
ou les étiquettes de catégorie définies dans le fichiersetrans.conf
. Pour plus d'informations, voir Définir des étiquettes de catégorie dans MCS.Attribuer des catégories MCS à un utilisateur Linux. Vous ne pouvez spécifier qu'une plage à l'intérieur de la plage définie pour l'utilisateur SELinux concerné :
# semanage login -m -rs0:c1 <Linux.user1>
NoteVous pouvez ajouter ou supprimer des catégories d'utilisateurs Linux à l'aide de la commande
chcat
. L'exemple suivant ajoute<category1>
et supprime<category2>
de<Linux.user1>
et<Linux.user2>
:# chcat -l -- <category1>,-<category2> <Linux.user1>,<Linux.user2>
Notez que vous devez spécifier
--
sur la ligne de commande avant d'utiliser la syntaxe-<category>
avant d'utiliser la syntaxe. Sinon, la commandechcat
interprète mal la suppression de la catégorie comme une option de commande.
Vérification
Dressez la liste des catégories attribuées aux utilisateurs de Linux :
# chcat -L -l <Linux.user1>,<Linux.user2> <Linux.user1>: <category1>,<category2> <Linux.user2>: <category1>,<category2>
Ressources supplémentaires
-
La page de manuel
chcat(8)
.