« LINUX:SELinux-Concept » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 86 : | Ligne 86 : | ||
* [Role] : _r | * [Role] : _r | ||
* [Type] : _t | * [Type] : _t | ||
=Fcontext= | |||
Chaque fichier a un "Context". Par défaut, ils vont en recevoir un: "system_u:object_r:default_t:s0". Mais il est impératif que chaque fichier aie son propre context adapté selon sa fonction. | |||
Il existe deux moyens pour effectuer cette liaison: | |||
* via les modules: Un module est un ensemble cohérent de déclaratives, de règles, de liaisons de contexts aux fichiers,... Ces modules sont majoritairement installés via les logiciels. | |||
* via les commandes de lignes pour des adaptations personnelles | |||
Cette seconde approche peut être visualisée dans les fichiers du répertoire "/etc/selinux//targeted/contexts/files". | |||
Pour avoir une liste complète, exécutez la commande suivante: | |||
semanage fcontext -l | |||
Et pour ceux personnalisés: | |||
semanage fcontext -lC | |||
Pour effectuer cette liaison, on passe par deux étapes: | |||
* l'ajout d'une définition; on utilise la commande: | |||
semanage fcontext -a -t <type> <fichiers> | |||
Par exemple: | |||
semanage fcontext -a -t httpd_sys_content_t '/web(/.*)?' | |||
Qui ajoute ("-a") le type "httpd_sys_content_t" à tous les fichiers et répertoires de l'arborescence "/web". | |||
* l'élimination d'une définition; on utilise la commande: | |||
semanage fcontext -d -t <type> <fichiers> | |||
Par exemple: | |||
semanage fcontext -d -t httpd_sys_content_t '/web(/.*)?' | |||
Pour éliminer la définition précédente. | |||
* l'application de cette définition ou son retrait avec la commande suivante: | |||
restorecon -RFv <fichiers> | |||
Par exemple: | |||
restorecon -RFv /web/ | |||
Si par après, on ajoute un fichier ou un répertoire et si leur "Context" ne suit pas, on réapplique cette définition avec cette même commande. | |||
=Rôles et Types= | |||
Ligne 149 : | Ligne 165 : | ||
Et pour l'éliminer, voici la commande: | Et pour l'éliminer, voici la commande: | ||
semanage user -d administrateur_u | semanage user -d administrateur_u | ||
=Utilisateurs Linux et SELinux= | |||
On peut lister la liaison entre les utilisateurs Linux et les utilisateurs SELinux par la commande: | |||
semanage login -l | |||
qui donne: | |||
---- | |||
Nom pour l’ouverture de session Identité SELinux Intervalle MLS/MCS Service | |||
| |||
__default__ unconfined_u s0-s0:c0.c1023 * | |||
admin user_u s0 * | |||
root unconfined_u s0-s0:c0.c1023 * | |||
staff user_u s0 * | |||
---- | |||
Si un utilisateur Linux n'est pas repris, il est lié à l'utilisateur SELinux par défaut "__default__". | |||
La commande suivante permet d'effectuer cette liaison: | |||
semanage login -a -s user_u staff | |||
Ici on lie l'utilisateur Linux "staff" à l'utilisateur SELinux "user_u". | |||
Et pour l'éliminer, voici la commande: | |||
semanage login -d -s user_u staff | |||