관리-도구
편집 파일: restorecon.cpython-39.pyc
a ����y�bZ����������������������@���s����d�dl�Z�e�jddd�Zej�Zd�dlT�d�dlmZ�d�dlZd�dlT�d�dlZda dd��Z g�d �Zd d��Zd�dlZG�dd ��d e�Z dS�)�����Nzsetroubleshoot-pluginsT)Zfallback)�*)�Pluginc�����������������C���s.���t�s&tt����}|����d�a�|����|�t�v�S�)N� )�customizable_types�open�selinuxZselinux_customizable_types_path�read�split�close)�target�fd��r ����//usr/share/setroubleshoot/plugins/restorecon.py�customizable ���s ����r���)z/sys/z/proc/z/memfd:c�����������������C���s���t�D�]}|��|�r�dS�qdS�)NTF)�excluded_paths� startswith)Ztarget_path�pathr ���r ���r���� excluded_path,���s����r���c�������������������@���sT���e�Zd�Zed�ZdZed�Zdd��Zed�Zdd��Z ed �Z d Zdd��Zd d��Z dS�)�pluginzN SELinux is preventing $SOURCE_PATH "$ACCESS" access to $TARGET_PATH. z/sbin/restorecon $TARGET_PATHz� You can restore the default system context to this file by executing the restorecon command. restorecon '$TARGET_PATH', if this file is a directory, you can recursively restore using restorecon -R '$TARGET_PATH'. c�����������������C���s���t�d�|d��S�)Na��� SELinux denied access requested by $SOURCE. $TARGET_PATH may be mislabeled. $TARGET_PATH default SELinux type is <B>%s</B>, but its current type is <B>$TARGET_TYPE</B>. Changing this file back to the default type may fix your problem. <p> File contexts can be assigned to a file in the following ways. <ul> <li>Files created in a directory receive the file context of the parent directory by default. <li>The SELinux policy might override the default label inherited from the parent directory by specifying a process running in context A which creates a file in a directory labeled B will instead create the file with label C. An example of this would be the dhcp client running with the dhcpc_t type and creating a file in the directory /etc. This file would normally receive the etc_t type due to parental inheritance but instead the file is labeled with the net_conf_t type because the SELinux policy specifies this. <li>Users can change the file context on a file using tools such as chcon, or restorecon. </ul> This file could have been mislabeled either by user error, or if an normally confined application was run under the wrong domain. <p> However, this might also indicate a bug in SELinux because the file should not have been labeled with this type. <p> If you believe this is a bug, please file a bug report against this package. ����)�_��self�avc�argsr ���r ���r����get_problem_description?���s�����zplugin.get_problem_descriptionzGIf you want to fix the label. $TARGET_PATH default label should be %s.c�����������������C���s���|�j�|d��S�)Nr���)�if_textr���r ���r ���r����get_if_text\���s����zplugin.get_if_textz�you can run restorecon. The access attempt may have been stopped due to insufficient permissions to access a parent directory in which case try to change the following command accordingly.z"# /sbin/restorecon -v $TARGET_PATHc�����������������C���s0���t��|�t��|��d��d|�_d|�_td�|�_d�S�)N�d���ZgreenTzRestore Context)r����__init__�__name__Zset_priority�levelZfixabler���Zbutton_text)r���r ���r ���r���r���d���s ���� zplugin.__init__c�������������� ���C���s:��|j�s d�S�|jjdv�rd�S�|jjtvr*d�S�|�d�r8d�S�i�}t|d<�t|d<�t|d<�t|d<�t |d<�|� |�����r6|jd�u�r�d�S�|jdkr�d�S�|jd �dkr�d�S�t |j�r�d�S�t|jj�r�d�S�zNt�|j�d �||j��d�}|�d�d �}||jjk�r|��d |f�W�S�W�n&�t�y4�}�zW�Y�d�}~n d�}~0�0�d�S�)N)Zcifs_tZnfs_tZ relabelto�dir�fileZlnk_fileZchr_fileZblk_file�/r����"r����:����)Zquery_environmentZtcontext�typeZ file_typesZall_accesses_are_in�S_IFDIR�S_IFREG�S_IFLNK�S_IFCHR�S_IFBLKZ has_tclass_in�keysZtpathr���r���r���Zmatchpathcon�stripZtclassr ���Zreport�OSError)r���r���Zrestorecon_filesZmconZ mcon_type�er ���r ���r����analyzek���s2���� zplugin.analyzeN)r ���� __module__�__qualname__r���ZsummaryZfix_cmdZfix_descriptionr���r���r���Z then_textZdo_textr���r2���r ���r ���r ���r���r���2���s���r���)�gettextZtranslationr���Zsetroubleshoot.utilZsetroubleshoot.Pluginr����os�statr���r���r���r���r���r���r ���r ���r ���r����<module>���s���