3.3. Capacités des utilisateurs SELinux


La politique SELinux associe chaque utilisateur Linux à un utilisateur SELinux. Cela permet aux utilisateurs Linux d'hériter des restrictions des utilisateurs SELinux.

Vous pouvez personnaliser les autorisations pour les utilisateurs confinés dans votre politique SELinux en fonction de besoins spécifiques en ajustant les booléens dans la politique. Vous pouvez déterminer l'état actuel de ces booléens à l'aide de la commande semanage boolean -l. Pour dresser la liste de tous les utilisateurs SELinux, de leurs rôles SELinux et des niveaux et plages MLS/MCS, utilisez la commande semanage user -l comme root.

Tableau 3.1. Rôles des utilisateurs SELinux
UserRôle par défautAutres rôles

unconfined_u

unconfined_r

system_r

guest_u

guest_r

 

xguest_u

xguest_r

 

user_u

user_r

 

staff_u

staff_r

sysadm_r

unconfined_r

system_r

sysadm_u

sysadm_r

 

root

staff_r

sysadm_r

unconfined_r

system_r

system_u

system_r

 

Notez que system_u est une identité d'utilisateur spéciale pour les processus et les objets du système, et que system_r est le rôle associé. Les administrateurs ne doivent jamais associer cet utilisateur system_u et le rôle system_r à un utilisateur Linux. Par ailleurs, unconfined_u et root sont des utilisateurs non restreints. Pour ces raisons, les rôles associés à ces utilisateurs SELinux ne sont pas inclus dans le tableau suivant Types et accès aux rôles SELinux.

Chaque rôle SELinux correspond à un type SELinux et fournit des droits d'accès spécifiques.

Tableau 3.2. Types et accès aux rôles SELinux
RôleTypeConnexion à l'aide du système X Windowsu et sudoExécuter dans le répertoire personnel et à l'adresse /tmp (par défaut)Mise en réseau

unconfined_r

unconfined_t

yes

yes

yes

yes

guest_r

guest_t

non

non

yes

non

xguest_r

xguest_t

yes

non

yes

navigateurs web uniquement (Firefox, GNOME Web)

user_r

user_t

yes

non

yes

yes

staff_r

staff_t

yes

seulement sudo

yes

yes

auditadm_r

auditadm_t

 

yes

yes

yes

secadm_r

secadm_t

 

yes

yes

yes

sysadm_r

sysadm_t

uniquement lorsque le booléen xdm_sysadm_login est on

yes

yes

yes

  • Les utilisateurs de Linux dans les domaines user_t, guest_t et xguest_t ne peuvent exécuter les applications set user ID (setuid) que si la politique SELinux le permet (par exemple, passwd). Ces utilisateurs ne peuvent pas exécuter les applications setuid su et sudo et ne peuvent donc pas utiliser ces applications pour devenir root.
  • Les utilisateurs de Linux dans les domaines sysadm_t, staff_t, user_t, et xguest_t peuvent se connecter en utilisant le système X Window et un terminal.
  • Par défaut, les utilisateurs de Linux dans les domaines staff_t, user_t, guest_t et xguest_t peuvent exécuter des applications dans leurs répertoires personnels et /tmp.

    Pour les empêcher d'exécuter des applications, qui héritent des autorisations des utilisateurs, dans les répertoires auxquels ils ont accès en écriture, définissez les booléens guest_exec_content et xguest_exec_content sur off. Cela permet d'éviter que des applications défectueuses ou malveillantes ne modifient les fichiers des utilisateurs.

  • Le seul accès au réseau dont disposent les utilisateurs de Linux dans le domaine xguest_t est la connexion de Firefox aux pages web.
  • L'utilisateur sysadm_u ne peut pas se connecter directement en utilisant SSH. Pour activer les connexions SSH pour sysadm_u, définissez le booléen ssh_sysadm_login sur on:

    # setsebool -P ssh_sysadm_login on

Outre les utilisateurs SELinux déjà mentionnés, il existe des rôles spéciaux qui peuvent être attribués à ces utilisateurs à l'aide de la commande semanage user. Ces rôles déterminent ce que SELinux permet à l'utilisateur de faire :

  • webadm_r ne peut administrer que les types SELinux liés au serveur HTTP Apache.
  • dbadm_r ne peut administrer que les types SELinux liés à la base de données MariaDB et au système de gestion de base de données PostgreSQL.
  • logadm_r ne peut administrer que les types SELinux liés aux processus syslog et auditlog.
  • secadm_r ne peut qu'administrer SELinux.
  • auditadm_r ne peut administrer que les processus liés au sous-système d'audit.

Pour dresser la liste de tous les rôles disponibles, entrez la commande seinfo -r:

seinfo -r
Roles: 14
   auditadm_r
   dbadm_r
   guest_r
   logadm_r
   nx_server_r
   object_r
   secadm_r
   staff_r
   sysadm_r
   system_r
   unconfined_r
   user_r
   webadm_r
   xguest_r

Notez que la commande seinfo est fournie par le paquetage setools-console, qui n'est pas installé par défaut.

Ressources supplémentaires

  • seinfo(1), semanage-login(8), et xguest_selinux(8) pages de manuel
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.