7.5. Attribution de catégories aux fichiers dans MCS
Vous devez disposer de privilèges administratifs pour attribuer des catégories aux utilisateurs. Les utilisateurs peuvent ensuite attribuer des catégories aux fichiers. Pour modifier les catégories d'un fichier, les utilisateurs doivent avoir des droits d'accès à ce fichier. Les utilisateurs ne peuvent affecter un fichier qu'à une catégorie qui leur est attribuée.
Le système combine les règles d'accès par catégorie avec les autorisations classiques d'accès aux fichiers. Par exemple, si un utilisateur de la catégorie bigfoot
utilise le contrôle d'accès discrétionnaire (DAC) pour bloquer l'accès à un fichier par d'autres utilisateurs, les autres utilisateurs de bigfoot
ne peuvent pas accéder à ce fichier. Un utilisateur assigné à toutes les catégories disponibles peut néanmoins ne pas être en mesure d'accéder à l'ensemble du système de fichiers.
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é. Accès et permissions à un utilisateur Linux qui est :
- Attribué à un utilisateur SELinux.
- Affecté à la catégorie à laquelle vous souhaitez affecter le fichier. Pour plus d'informations, voir Affectation de catégories aux utilisateurs dans MCS.
- Accès et autorisations au fichier que vous souhaitez ajouter à la catégorie.
- À des fins de vérification : Accès et autorisations à un utilisateur Linux non affecté à cette catégorie
Procédure
Ajouter des catégories à un fichier :
$ chcat -- <category1>, <category2> <path/to/file1>
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.Vous pouvez supprimer des catégories d'un fichier en utilisant la même syntaxe :
$ chcat -- -<category1>,-<category2> <path/to/file1>
NoteLors de la suppression d'une catégorie, vous devez spécifier
--
sur la ligne de commande avant d'utiliser la syntaxe-<category>
avant d'utiliser la syntaxe. Sinon, la commandechcat
pourrait interpréter à tort la suppression de la catégorie comme une option de commande.
Vérification
Affichez le contexte de sécurité du fichier pour vérifier qu'il possède les catégories correctes :
$ ls -lZ <path/to/file> -rw-r--r-- <LinuxUser1> <Group1> root:object_r:user_home_t:_<sensitivity>_:_<category>_ <path/to/file>
Le contexte de sécurité spécifique du fichier peut être différent.
Facultatif : Tenter d'accéder au fichier en étant connecté en tant qu'utilisateur Linux n'appartenant pas à la même catégorie que le fichier :
$ cat <path/to/file> cat: <path/to/file>: Permission Denied
Ressources supplémentaires
-
La page de manuel
semanage(8)
. -
La page de manuel
chcat(8)
.