« 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.






=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
&nbsp;
__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:
=Rôles et Types=
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




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
&nbsp;
__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