a
èZ`@ ã @ sD d dl Z e jdddZej 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 semanage 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 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 | t¡ | d¡ d S )Néd )r Ú__init__Ú__name__Zset_priority)r r
r
r r : s zplugin.__init__c C sJ | g d¢¡rF| dg¡rF| ¡ }|rF| |j d¡d d |¡f¡S d S )N)Zhi_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> s
ÿ zplugin.analyzeN)
r Ú
__module__Ú__qualname__r
ZsummaryZproblem_descriptionZfix_descriptionZfix_cmdZif_textZ then_textr r r r
r
r
r r s r )ÚgettextZtranslationr
Zsetroubleshoot.utilZsetroubleshoot.Pluginr r r
r
r
r Ú s