У меня есть виртуальная машина Centos, работающая с включенным SELinux. Я хочу, чтобы sshd прослушивал другой порт - говорит, 993. Я изменил файл sshd_config для прослушивания другого порта, но мне мешает SELinux. Я не хочу отключать SELinux. Как мне сказать SELinux, что sshd может читать TCP-соединения через порт 993?
Правильная команда для использования: semanage port -a -t ssh_port_t -p tcp 993
но я не могу использовать эту команду, потому что порт 993 уже используется в другой политике:
[centos@timedb ~]$ semanage port -a -t ssh_port_t -p tcp 993
ValueError: SELinux policy is not managed or store cannot be accessed.
[centos@timedb ~]$
Но я не могу удалить этот порт в политике, потому что он является частью базовой политики:
[centos@timedb ~]$ sudo semanage port -l|grep 993
pop_port_t tcp 106, 109, 110, 143, 220, 993, 995, 1109, 10993
[centos@timedb ~]$ sudo semanage port -d -t pop_port_t -p tcp 993
ValueError: Port tcp/993 is defined in policy, cannot be deleted
[centos@timedb ~]$
Мне нужно использовать порт, который уже определен, потому что я нахожусь в восходящем направлении от промежуточного ящика, который разрешает соединения только на портах, выделенных указанным службам, а порт 22 заблокирован.
Использовать semanage(8)
позволить это.
# semanage port -a -t ssh_port_t -p tcp 993