Назад | Перейти на главную страницу

Ошибка SElinux: ValueError: порт tcp / 5000 уже определен

Я пытался добавить исключение в SELinux для apache на порту 5000, поэтому использовал команду:

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

Но возвращает ошибку,

ValueError: Port tcp/5000 already defined

Я попытался проверить, так ли это, с помощью команды:

semanage port -l |grep 5000

который дал результат,

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

Как видите, 5000 нет в списке.

Есть ли что-то очевидное, что мне не хватает? Заранее благодарим вас за ваши усилия

Итак, я обнаружил, что другая служба имеет определенный статус для TCP-порта 5000.

Но заменив -a вариант с -m для модификации добавлен tcp порт 5000 в http_port_t

Итак, я обнаружил, что другая служба имеет определенный статус для TCP-порта 5000.

Но заменив -a вариант с -m для изменения, добавлено tcp port 5000 к http_port_t

Итак, сработала команда:

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

В системах, которые у меня есть (C6, C7 и F24), TCP-порт 5000 имеет контекст SELinux commplex_port_t. Вот почему, когда вы пытаетесь добавить его, вы получаете сообщение об ошибке

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

Чтобы изменить контекст tcp-порта 5000 с commplex_port_t к http_port_t вам нужно будет использовать -m | - изменить переключатель

-m, --modify     Modify a OBJECT record NAME

так

semanage port -m -t http_port_t -p tcp 5000

должен делать то, что ты хочешь

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