web-dev-qa-db-fra.com

Erreur SElinux: ValueError: Port TCP / 5000 déjà défini

J'ai essayé d'ajouter une exception à SELinux pour Apache sur le port 5000, j'ai donc utilisé la commande:

 # semanage port -a -t http_port_t -p tcp 5000

Mais renvoie l'erreur,

ValueError: Port tcp/5000 already defined

J'ai essayé de vérifier si c'est le cas avec la commande:

semanage port -l |grep 5000

qui a donné la sortie,

http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000

Comme vous pouvez le voir, 5000 n'est pas sur la liste.

Y a-t-il quelque chose d'évident qui me manque? Merci d'avance pour vos efforts

J'ai donc constaté qu'un autre service avait un statut défini pour TCP port 5000.

Mais en remplaçant le -a option avec -m pour modifier, ajouté le port tcp 5000 à http_port_t

14

J'ai donc constaté qu'un autre service avait un statut défini pour TCP port 5000.

Mais en remplaçant le -a option avec -m pour modifier, ajouté tcp port 5000 à http_port_t

Donc, la commande qui a fonctionné était:

# semanage port -m -t http_port_t -p tcp 5000
30

Sur les systèmes que je dois gérer (C6, C7 et F24), le port tcp 5000 a un contexte SELinux de commplex_port_t. Ce sera pourquoi, lorsque vous essayez de l'ajouter, vous obtenez le message d'erreur

/usr/sbin/semanage: Port tcp/5000 already defined

Pour changer le contexte du port TCP 5000 depuis commplex_port_t à http_port_t vous devrez utiliser le -m | --modifier le commutateur

-m, --modify     Modify a OBJECT record NAME

donc

semanage port -m -t http_port_t -p tcp 5000

devrait faire ce que tu veux

semanage port -l | grep 5000
http_port_t                tcp      5000, 80, 81, 443, 488, 8008, 8009, 8443, 9000
10
user9517