Otázka: Zkoušel jsem nastavit webový server Apache na jiném portu než na portu 80. Například na portu 81, ale démon httpd se odmítl spustit na portu 81 a vyvolal chybovou zprávu „httpd již běží“. I když jsem ověřil, že se port změnil z 80 na 81 v souboru httpd.conf, stále se mi nepodařilo získat httpd, aby naslouchal na portu 81. Po několika minutách googlování jsem pochopil, že SELINUX nedovoluje službě poslouchat na jiný port. Také jsem dostal níže uvedený příkaz, který zobrazuje seznam akceptovaných portů v SELINUX pro httpd.
semanage port -l|grep http
Zde je můj problém – správa, příkaz nenalezen chyba na stroji CentOS. Zkoušel jsem nainstalovat ‚semanage‘ přes yum, ale žádný takový balíček jsem nenašel. Můžete mi prosím říci, který balíček bude mít příkaz semanage?
Řešení:
Zde jsou kroky.
Jak zjistit, který balíček poskytuje příkaz ‚semanage‘ pomocí yum
# yum provides /usr/sbin/semanage (or) # yum whatprovides /usr/sbin/semanage
Ukázkový výstup:
policycoreutils-1.33.12-14.13.el5.x86_64 : SELinux policy core utilities. Repo : base Matched from: Filename : /usr/sbin/semanage policycoreutils-1.33.12-14.13.el5.x86_64 : SELinux policy core utilities. Repo : centos Matched from: Filename : /usr/sbin/semanage
Nainstalujte balíček policycoreutils-python pro příkaz „semanage“.
# yum -y install policycoreutils-python .............................. Installed: policycoreutils-1.33.12-14.13.el5.x86_64
Nyní najdete ‘semanage ‘ příkaz.
# semanage port -l|grep http
Pokud potřebujete přidat port 81 do seznamu povolených portů pro http, níže je příkaz.
# semanage port -a -t http_port_t -p tcp 81