+
     6gu  c                   sx    ^ RI t ] P                  ! RRR7      t]P                   t^ RIt^ RIHt  ! R R]4      tR# )i    Nzsetroubleshoot-pluginsT)Zfallback)Pluginc                   s   a  ] tR t^t o ]! R4      t]! R4      t]! R4      tRt]! R4      t	]! R4      t
RtR tR	 tR
tV tR# )pluginz?
    SELinux prevented httpd $ACCESS access to http files.
    aZ  
    SELinux prevented httpd $ACCESS access to http files.

    Ordinarily httpd is allowed full access to all files labeled with http file
    context.  This machine has a tightened security policy with the $BOOLEAN
    turned off,  this requires explicit labeling of all files.  If a file is
    a cgi script it needs to be labeled with httpd_TYPE_script_exec_t in order
    to be executed.  If it is read only content, it needs to be labeled
    httpd_TYPE_content_t. If it is writable content, it needs to be labeled
    httpd_TYPE_script_rw_t or httpd_TYPE_script_ra_t. You can use the
    chcon command to change these context.  Please refer to the man page
    "man httpd_selinux" or
    <a href="http://fedora.redhat.com/docs/selinux-apache-fc3">FAQ</a>
    "TYPE" refers to one of "sys", "user" or "staff" or potentially other
    script types.
    zg
    Changing the "$BOOLEAN" boolean to true will allow this access:
    "setsebool -P $BOOLEAN=1"
    zsetsebool -P $BOOLEAN=1zcIf you want to allow httpd to execute cgi scripts and to unify HTTPD handling of all content files.z_you must tell SELinux about this by enabling the 'httpd_unified' and 'http_enable_cgi' booleansz1# setsebool -P httpd_unified=1 httpd_enable_cgi=1c                s^    \         P                  ! V \        4       V P                  ^4       R# )i   N)r    __init____name__Zset_priority)selfs   &2/usr/share/setroubleshoot/plugins/httpd_unified.pyr   Zplugin.__init__=   s    h'!    c                s6   VP                  R 4      '       d   VP                  R4      '       dk   VP                  R8X  g   VP                  R8X  dI   \        P                  ! R4      '       g-   \        P                  ! R4      '       g   V P                  4       # R# )zhttpd_t httpd_.*_script_tz	httpd_.*tZfileZdirZhttpd_unifiedZhttpd_enable_cgiN)Zmatches_source_typesZmatches_target_typesZtclassselinuxZsecurity_get_boolean_activeZreport)r   Zavcs   &&r   analyzeZplugin.analyzeA   sn    $$%@AA##K00JJ& CJJ%$744_EE445GHH;;= r    N)r   Z
__module__Z__qualname__Z__firstlineno___ZsummaryZproblem_descriptionZfix_descriptionZfix_cmdZif_textZ	then_textZdo_textr   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sh       	G   	"   	O
 (GuvGstIAG r   r   )ZgettextZtranslationr
   r   Zsetroubleshoot.Pluginr    r   r	   r   r   <module>r      s:   *  84H  (-V -r   