Помилка SElinux: ValueError: Порт 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параметр на -mдля зміни, додано порт tcp 5000 доhttp_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

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