sestatus signifie statut SELinux.
Cette commande est utilisée pour afficher l'état actuel du SELinux qui s'exécute sur votre système.
Ce didacticiel explique ce qui suit :
- Sortie de la commande sestatus expliquée avec détails
- Afficher le contexte de sécurité des objets sélectionnés dans sestatus
- Afficher les valeurs booléennes dans sestatus
1. Explication de la sortie de la commande sestatus
La commande sestatus affichera si SELinux est activé ou désactivé. Cela affichera également des informations supplémentaires sur certains des paramètres SELinux qui sont expliqués ici.
Voici la commande sestatus sur le système CentOS 7. Sur l'ancienne version de CentOS / RedHat, cette sortie sera légèrement différente.
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
Remarque :Dans la sortie ci-dessus, "mode actuel" est la ligne la plus importante à laquelle vous devez prêter attention, ce qui est expliqué ci-dessous.
Statut SELinux : Cela indique si le module SELinux lui-même est activé ou désactivé sur votre système. Gardez à l'esprit que même si cela peut indiquer activé, mais SELinux peut toujours ne pas être techniquement activé (appliqué), ce qui est vraiment indiqué par la ligne "mode actuel" expliquée ci-dessous.
Montage SELinuxfs : Il s'agit du point de montage du système de fichiers temporaire SELinux. Ceci est utilisé en interne par SELinux. C'est ce que vous ferez si vous essayez de faire un ls sur ce système de fichiers SELinux. Pour notre objectif pratique, nous ne pouvons rien manipuler dans ce répertoire, car il est géré en interne par SELinux.
# ls -l /sys/fs/selinux total 0 -rw-rw-rw-. 1 root root 0 Jun 4 22:16 access dr-xr-xr-x. 2 root root 0 Jun 4 22:16 avc dr-xr-xr-x. 2 root root 0 Jun 4 22:16 booleans -rw-r--r--. 1 root root 0 Jun 4 22:16 checkreqprot .. .. -r--r--r--. 1 root root 0 Jun 4 22:16 policy -rw-rw-rw-. 1 root root 0 Jun 4 22:16 relabel -r--r--r--. 1 root root 0 Jun 4 22:16 status -rw-rw-rw-. 1 root root 0 Jun 4 22:16 user
Répertoire racine de SELinux : C'est là que se trouvent tous les fichiers de configuration SELinux. Par défaut, vous verrez les fichiers et répertoires suivants. Ce répertoire contient tous les fichiers de configuration nécessaires au fonctionnement de SELinux. Vous pouvez modifier ces fichiers.
# ls -l /etc/selinux total 8 -rw-r--r--. 1 root root 546 May 1 19:08 config drwx------. 2 root root 6 May 1 19:09 final -rw-r--r--. 1 root root 2321 Jan 17 18:33 semanage.conf drwxr-xr-x. 7 root root 215 May 1 19:09 targeted drwxr-xr-x. 2 root root 6 Jan 17 18:33 tmp
Nom de la règle chargée : Cela indiquera quel type de politique SELinux est actuellement chargé. Dans presque toutes les situations courantes, vous verrez "ciblé" comme politique SELinux, car c'est la politique par défaut. Voici la politique SELinux possible disponible :
- ciblé - Cela signifie que seuls les processus ciblés sont protégés par SELinux
- minimum :il s'agit d'une légère modification de la politique de ciblage. Seuls quelques processus sélectionnés sont protégés dans ce cas.
- mls - Il s'agit d'une protection de sécurité à plusieurs niveaux. MLS est assez complexe et pratiquement pas utilisé dans la plupart des situations.
Mode actuel : Cela indique si SELinux applique actuellement les politiques ou non. En d'autres termes, techniquement, cela vous indiquera si SELinux est actuellement activé et en cours d'exécution sur votre système ou non.
Voici les modes SELinux possibles :
- enforcing - Cela indique que la politique de sécurité SELinux est appliquée (c'est-à-dire que SELinux est activé)
- permissif - Cela indique que SELinux imprime des avertissements au lieu de les appliquer. Ceci est utile lors du débogage lorsque vous voulez savoir ce que SELinux bloquerait potentiellement (sans vraiment le bloquer) en consultant les journaux SELinux.
- désactivé – Aucune stratégie SELinux n'est chargée.
Pour notre objectif pratique, l'application est égale à activé. permissive et disabled est égal à disabled.
L'état MLS de la politique indique l'état actuel de la politique MLS. Par défaut, cela sera activé.
L'état deny_unknown de la politique indique l'état actuel de l'indicateur deny_unknown dans notre politique. Par défaut, cela sera défini sur autorisé.
La version maximale de la politique du noyau indique la version actuelle de la politique SELinux qui est en nous. Dans cet exemple, il s'agit de la version 28.
Voici la sortie de sestatus sur CentOS et RedHat 6.
# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted
Si vous souhaitez désactiver SELinux sur votre système, vous pouvez utiliser l'une de ces méthodes :4 méthodes efficaces pour désactiver SELinux temporairement ou définitivement
2. Afficher le contexte de sécurité des objets sélectionnés dans le statut
En utilisant l'option -v, avec le statut selinux normal, vous pouvez également afficher le contexte SELinux pour les fichiers et processus sélectionnés.
Voici la sortie par défaut de l'option sestatus -v :
# sestatus -v SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 Process contexts: Current context: unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 Init context: system_u:system_r:init_t:s0 /usr/sbin/sshd system_u:system_r:sshd_t:s0-s0:c0.c1023 File contexts: Controlling terminal: unconfined_u:object_r:user_devpts_t:s0 /etc/passwd system_u:object_r:passwd_file_t:s0 /etc/shadow system_u:object_r:shadow_t:s0 /bin/bash system_u:object_r:shell_exec_t:s0 /bin/login system_u:object_r:login_exec_t:s0 /bin/sh system_u:object_r:bin_t:s0 -> system_u:object_r:shell_exec_t:s0 /sbin/agetty system_u:object_r:getty_exec_t:s0 /sbin/init system_u:object_r:bin_t:s0 -> system_u:object_r:init_exec_t:s0 /usr/sbin/sshd system_u:object_r:sshd_exec_t:s0
Dans la sortie ci-dessus :
- La section des contextes de processus affiche le contexte SELinux de quelques processus sélectionnés. Vous pouvez ajouter votre propre processus à cette liste en les ajoutant au fichier /etc/sestatus.conf. Comme vous le voyez ici, il affiche le contexte de sécurité du processus sshd.
- La section des contextes de fichiers affiche le contexte SELinux de quelques fichiers sélectionnés. Vous pouvez ajouter vos propres fichiers personnalisés à cette liste en les ajoutant au fichier /etc/sestatus.conf. Comme vous le voyez dans la sortie ci-dessus, il affiche le contexte de sécurité du mot de passe, du shadow et de quelques autres fichiers.
- De plus, si le fichier que vous avez spécifié est un lien symbolique, le contexte du fichier cible sera également affiché.
Cette section affichera toujours le contexte de sécurité du processus actuel, du processus d'initialisation et du contrôle contexte du fichier terminaux.
Voici la configuration par défaut du fichier /etc/sestatus.conf. Ajoutez vos fichiers personnalisés à la section [files] et ajoutez votre processus personnalisé à la section [process].
# cat /etc/sestatus.conf [files] /etc/passwd /etc/shadow /bin/bash /bin/login /bin/sh /sbin/agetty /sbin/init /sbin/mingetty /usr/sbin/sshd /lib/libc.so.6 /lib/ld-linux.so.2 /lib/ld.so.1 [process] /sbin/mingetty /sbin/agetty /usr/sbin/sshd
3. Afficher les valeurs booléennes dans sestatus
En utilisant l'option -b, vous pouvez afficher l'état actuel des booléens comme indiqué ci-dessous.
Comme indiqué ci-dessous, en dehors de la sortie typique de sestatus, dans la section "Policy booleans :", cela affichera les valeurs booléennes SELinux actuelles pour tous les paramètres.
# sestatus -b | more SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 Policy booleans: abrt_anon_write off abrt_handle_event off abrt_upload_watch_anon_write on antivirus_can_scan_system off antivirus_use_jit off auditadm_exec_content on authlogin_nsswitch_use_ldap off authlogin_radius off authlogin_yubikey off awstats_purge_apache_log_files off boinc_execmem on cdrecord_read_content off ... ... ... xend_run_blktap on xend_run_qemu on xguest_connect_network on xguest_exec_content on xguest_mount_media on xguest_use_bluetooth on xserver_clients_write_xshm off xserver_execmem off xserver_object_manager off zabbix_can_network off zarafa_setrlimit off zebra_write_config off zoneminder_anon_write off zoneminder_run_sudo off
La sortie ci-dessus montre généralement ce que vous verriez dans la sortie de la commande getsebool. c'est-à-dire que la commande "sestatus -b" ci-dessus équivaut à exécuter les deux commandes suivantes :
sestatus getsebool -a