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
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
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