私はおおよそ次の指示に従いました。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
audit2allow
webalizerがブロックされた理由を特定し、webalizerが必要なファイルにアクセスできるようにローカル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がついにファイルを読み取る権限を得ました...