selinux(centos)でwebalizerを許可する

selinux(centos)でwebalizerを許可する

私はおおよそ次の指示に従いました。http://library.linode.com/web-applications/analytics/webalizer/centos-5複数の仮想ホストで実行するようにWebalizerをインストールして構成します。残念ながら私が実行しようとしたとき:

webalizer -n site.net -o /var/www/webalizer /etc/httpd/logs/site.net-apache_log

私は得る:

Error: Can't open log file /etc/httpd/logs/site.net-apache_log

しかし、実行後:

echo 0 > /selinux/enforce

効果がある

webalizerを実行するようにselinuxにどのように指示しますか?

編集する

[root@web-01 logs]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 access_log
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 error_log
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 tt.net-access_log
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 tt.net-error_log
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 ck.tt.net-access_log
-rw-r--r--. root root unconfined_u:object_r:httpd_log_t:s0 ck.tt.net-error_log

[root@web-01 ~]# service --status-all
auditd (pid  1132) is running...

[root@web-01 ~]# /opt/webalizerScript.sh 
Error: Can't open log file /etc/httpd/logs/tt.net-access_log
Error: Can't open log file /etc/httpd/logs/ck.tt.net-access_log

[root@web-01 ~]# audit2allow -w -a
<no matches>

答え1

audit2allowwebalizerがブロックされた理由を特定し、webalizerが必要なファイルにアクセスできるようにローカルSELinuxポリシーモジュールを構築するために使用されます。

赤い帽子SELinuxトラブルシューティングガイド持つこのプロセスの詳細なステップ

答え2

2つのhttpdログ(access_logとssl_acces_logがリンクされ、日付でソートされている)を組み合わせて作成されたログでwebalizerを実行すると、同じ問題が発生しました。これら2つのファイルのいずれかで完全に実行されますが、これら2つのファイルを結合すると、「ログファイルを開けません」というメッセージが表示されます。

李氏の場合、audit.logにはエラーの兆候はありませんでした。

ただし、次のコマンドを実行すると:

chcon --type=httpd_log_t /var/log/combined-httpd.log

webalizerがついにファイルを読み取る権限を得ました...

関連情報