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


13

Я пытался добавить исключение в 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опцию на -mfor, добавил порт TCP для 5000http_port_t

Ответы:


28

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

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

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

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

10

В системах, которые я должен передать (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

Да, спасибо, он сделал то, что мне было нужно. Я наткнулся на ответ в разделе комментариев блога также с помощью моего коллеги :)
panickedprocrastinator
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.