Go to main content
Oracle® Linux Fault Management Architecture 소프트웨어 사용 설명서

인쇄 보기 종료

업데이트 날짜: 2015년 10월
 
 

SELinux 실행 중 fmd 데몬이 시작되지 않을 수 있음

SELinux 실행 중 fmd 데몬이 시작되지 않을 수 있습니다. SELinux에서는 특정 디렉토리 및 파일에 대한 액세스를 보호합니다. 특히 /var/opt/fma/fm/fmd의 로그 파일에 대한 액세스가 거부될 수 있습니다.

이 문제는 fmadm 명령을 실행하려고 시도할 때 나타납니다. 예를 들면 다음 오류가 표시됩니다.

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

또한 다음과 같이 시스템 로그에서 오류 메시지를 찾을 수 있습니다.

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. 로그 파일에 지정된 대로 sealert 실행을 위한 지침을 따릅니다. 예를 들면 다음과 같습니다.

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

    출력은 다음과 비슷합니다.

    [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. 로그 파일에 제안된 대로 다음 명령을 실행합니다.

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

    semodule -i name.pp

    여기서 name은 사용자 정의 정책 모듈 파일의 이름입니다.

  3. 모든 SELinux 파일 액세스 실패에 대해 1-2단계를 반복합니다. 각 .pp 파일마다 다른 이름을 제공합니다.
  4. 완료되면 시스템을 재부트합니다.

    이제 fmadm 명령을 실행하면 실패 메시지 없이 올바른 출력이 반환되어야 합니다.