CGIでソケット通信を行えるようにするには、SELinuxの設定変更が必要

Pocket

Linux上のApacheでCGIを利用してソケット通信を行いたい場合がありますが、SELinuxではデフォルトで許可されていません。

今回は、CGIでftp通信を行おうとしたのですが、拒否されてしまいました。

対策としては、SELinuxの設定を変更してApache(httpd)から発行されたソケット通信を含む処理を許可してあげます。

以下はその方法です。

まずデフォルトの設定状態を確認します。

# getsebool -a | grep httpd_can_network
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off

次にhttpd_can_network_connectを許可します。

# setsebool -P httpd_can_network_connect on

再度、設定内容を確認します。

# getsebool -a | grep httpd_can_network
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off

これで、ソケット通信は可能になります。

 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください