Go to main content
Guide de l'utilisateur du logiciel Oracle® Linux Fault Management Architecture

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Le démon fmd risque de ne pas démarrer si SELinux est en cours d'exécution

Le démon fmd risque de ne pas démarrer si SELinux est en cours d'exécution. SELinux protège l'accès à certains répertoires et dossiers. L'accès aux fichiers journaux sous /var/opt/fma/fm/fmd risque notamment d'être refusé.

Ce problème s'affiche lors de la tentative d'exécution de commandes fmadm. Par exemple, il est possible que le message d'erreur système suivant s'affiche :

fmadm: failed to connect to fmd: RPC: Program not registered

En outre, le journal système peut afficher des messages d'erreur tels que le suivant :

May 28 03:07:14 sca05-0a81e7e6 setroubleshoot: SELinux is preventing logrotate from read access on the directory /var/opt/fma/fm/fmd. For complete SELinux messages. run sealert -l 9eb4cb40-9d2b-4428-980f-c4e46606aec1

  1. Suivez les instructions d'exécution de sealert, comme indiqué dans le fichier journal. Par exemple :

    sealert -l 9eb4cb40-9d2b-4428-980f-c4e46606aec1

    Vous obtenez une sortie similaire à ce qui suit :

    [root@testserver16 ~]# sealert -l 9eb4cb40-9d2b-4428-980f-c4e46606aec1
    SELinux is preventing logrotate from read access on the directory /var/opt/fma/fm/fmd.
    
    *****  Plugin catchall_labels (83.8 confidence) suggests  ********************
    
    If you want to allow logrotate to have read access on the fmd directory
    Then you need to change the label on /var/opt/fma/fm/fmd
    Do
    # semanage fcontext -a -t FILE_TYPE '/var/opt/fma/fm/fmd'
    where FILE_TYPE is one of the following: abrt_var_cache_t, var_lib_t, configfile, domain, 
    var_log_t, var_run_t, cert_type, configfile, net_conf_t, inotifyfs_t, logrotate_t, 
    sysctl_kernel_t, mailman_log_t, sysctl_crypto_t, admin_home_t, varnishlog_log_t, 
    openshift_var_lib_t, user_home_dir_t, var_lock_t, bin_t, device_t, devpts_t, locale_t, 
    etc_t, tmp_t, usr_t, proc_t, abrt_t, device_t, lib_t, logrotate_var_lib_t, root_t, 
    etc_t, usr_t, sssd_public_t, sysfs_t, httpd_config_t, logrotate_tmp_t, logfile, 
    pidfile, named_cache_t, munin_etc_t, mysqld_etc_t, acct_data_t, security_t, var_spool_t, 
    nscd_var_run_t, sysctl_kernel_t, nfs_t.
    Then execute:
    restorecon -v '/var/opt/fma/fm/fmd'
    
    *****  Plugin catchall (17.1 confidence) suggests  ***************************
    
    If you believe that logrotate should be allowed read access on the fmd directory by 
    default.
    Then you should report this as a bug.
    You can generate a local policy module to allow this access.
    Do
    allow this access for now by executing:
    # grep logrotate /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp
  2. Exécutez les commandes suivantes, comme suggéré dans le fichier journal :

    grep logrotate /var/log/audit/audit.log | audit2allow -M name

    semodule -i name.pp

    name représente le nom de votre fichier du module de stratégie personnalisée.

  3. Répétez les étapes 1 et 2 pour tous les fichiers SELinux en accès refusé. Donnez des noms différents à chacun des fichiers .pp
  4. Une fois que c'est fait, réinitialisez le système.

    L'exécution des commandes fmadm doit renvoyer des sorties normales sans message d'erreur.