HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/share/setroubleshoot/plugins/__pycache__/httpd_unified.cpython-39.pyc
a

�Z`u�@sDddlZejddd�ZejZddlZddlmZGdd�de�ZdS)�Nzsetroubleshoot-pluginsT)Zfallback)�Pluginc@sLeZdZed�Zed�Zed�ZdZed�Zed�Z	dZ
dd	�Zd
d�ZdS)
�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"
    zsetsebool -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=1cCst�|t�|�d�dS)N�)r�__init__�__name__Zset_priority)�self�r�2/usr/share/setroubleshoot/plugins/httpd_unified.pyr=szplugin.__init__cCsH|�d�rD|�d�rD|jdks(|jdkrDt�d�sDt�d�sD|��SdS)Nzhttpd_t httpd_.*_script_tz	httpd_.*t�file�dirZ
httpd_unifiedZhttpd_enable_cgi)Zmatches_source_typesZmatches_target_typesZtclass�selinuxZsecurity_get_boolean_activeZreport)rZavcrrr	�analyzeAs
�����zplugin.analyzeN)
r�
__module__�__qualname__�_ZsummaryZproblem_descriptionZfix_descriptionZfix_cmdZif_textZ	then_textZdo_textrr
rrrr	rsr)�gettextZtranslationrrZsetroubleshoot.Pluginrrrrrr	�<module>s