Domanda: Stavo cercando di configurare il server Web Apache su una porta diversa dalla porta 80. Ad esempio, sulla porta 81, ma il demone httpd si è rifiutato di avviarsi sulla porta 81 e ha generato un messaggio di errore come "httpd già in esecuzione". Tuttavia, ho verificato che la porta è cambiata da 80 a 81 nel file httpd.conf, tuttavia non sono riuscito a ottenere httpd per l'ascolto sulla porta 81. Dopo aver cercato su Google per alcuni minuti, ho capito che SELINUX non consentiva al servizio di ascoltare su un porto diverso. Inoltre, ho ricevuto il comando seguente che mostra l'elenco delle porte accettate in SELINUX per httpd.
semanage port -l|grep http
Ecco il mio problema:semanage, comando non trovato errore nella macchina CentOS. Ho provato a installare "semanage" tramite yum, ma non sono riuscito a trovare alcun pacchetto del genere. Puoi dirmi quale pacchetto avrà il comando semanage?
Soluzione:
Ecco i passaggi.
Come trovare quale pacchetto fornisce il comando 'semanage' usando yum
# yum provides /usr/sbin/semanage (or) # yum whatprovides /usr/sbin/semanage
Risultato di esempio:
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
Installa il pacchetto policycoreutils-python per il comando 'semanage'.
# yum -y install policycoreutils-python .............................. Installed: policycoreutils-1.33.12-14.13.el5.x86_64
Ora troverai "semanage ' comando.
# semanage port -l|grep http
Se è necessario aggiungere la porta 81 all'elenco delle porte consentite per http, di seguito è riportato il comando.
# semanage port -a -t http_port_t -p tcp 81