File: //usr/share/setroubleshoot/plugins/__pycache__/bind_ports.cpython-36.pyc
3
nm�a@ � @ sD d dl Z e jddd�Zej Zd dlT d dlmZ G dd� de�ZdS ) � Nzsetroubleshoot-pluginsT)Zfallback)�*)�Pluginc @ sL e Zd Zed�Zed�Zed�ZdZed�ZdZ dd� Z
d d
� Zdd� Zd
S )�pluginzO
SELinux is preventing $SOURCE_PATH from binding to port $PORT_NUMBER.
a�
SELinux has denied the $SOURCE from binding to a network port $PORT_NUMBER which does not have an SELinux type associated with it.
If $SOURCE should be allowed to listen on $PORT_NUMBER, use the <i>semanage</i> command to assign $PORT_NUMBER to a port type that $SOURCE_TYPE can bind to (%s).
If $SOURCE is not supposed
to bind to $PORT_NUMBER, this could signal an intrusion attempt.
aI
If you want to allow $SOURCE to bind to port $PORT_NUMBER, you can execute
# semanage port -a -t PORT_TYPE -p %s $PORT_NUMBER
where PORT_TYPE is one of the following: %s.
If this system is running as an NIS Client, turning on the allow_ypbind boolean may fix the problem. setsebool -P allow_ypbind=1.
� zFIf you want to allow $SOURCE_PATH to bind to network port $PORT_NUMBERz!you need to modify the port type.c C sB |d j d�}t|�dkr&td�| S td�|d |d f S d S )N� �,zc# semanage port -a -t PORT_TYPE -p %s $PORT_NUMBER
where PORT_TYPE is one of the following: %s.z+# semanage port -a -t %s -p %s $PORT_NUMBERr )�split�len�_)�self�avcZoptionsZports� r
�//usr/share/setroubleshoot/plugins/bind_ports.py�get_do_text2 s
zplugin.get_do_textc C s t j| t� | jd� d S )N�d )r �__init__�__name__Zset_priority)r r
r
r r : s zplugin.__init__c C sN |j ddddg�rJ|jdg�rJ|j� }|rJ| j|jjd�d dj|�f�S d S ) NZhi_reserved_port_tZreserved_port_tZport_tZunreserved_port_tZ name_bindr
r z, )Zmatches_target_typesZhas_any_access_inZallowed_target_typesZreportZtclassr �join)r r Z
allowed_typesr
r
r �analyze>