web-dev-qa-db-ja.com

AWStats:/var/log/Apache2/access.logにアクセスできません

新しいUbuntu Lucidサーバーにawstatsをインストールしましたが、cronがユーザーwww-dataとして実行しようとすると、cannot access /var/log/Apache2/access.log: Permission deniedと文句を言います。

/usr/share/doc/awstats/README.Debianには次の段落があります。

デフォルトでは、Apacheはuid = rootおよびgid = admのログファイル(バージョン1.3.22-1以降)を保存するため、次のいずれかを行う必要があります...

1)/etc/logrotate.d/Apacheのログファイルの権限を変更して、www-dataが少なくとも読み取りアクセスできるようにします。

2)1)と同じですが、特定のユーザーに変更し、ApacheのsuEXEC機能を使用して同じユーザーとして実行します(および/ var/lib/awstatsの権限も変更するか、別のディレクトリを使用します)。これはより複雑ですが、ログは一般的にサーバーにアクセスできません(おそらくApacheのデフォルトのポイントでした)。

3)awstats.plをグループadmに変更します(ただし、マシンの管理スタッフへのCGIスクリプトアクセスを許可するリスクを負うことに注意してください!)。

私は1で行きますが、付与する推奨される許可は何ですか?

14
Joril

ポイント1に進み、www-dataには少なくとも読み取り許可が必要であると言われている場合、推奨されるのは読み取り専用です。

以下の行を変更できます(logrotateファイル内):

create 640 root adm

create 644 root adm

すべてのユーザー(www-dataを含む)に読み取り権限を付与します。

この設定に一致するように、/ var/log/Apache2 /にある既存のファイルのパーミッションを変更する必要があります。

chmod a+r /var/log/Apache2/* #or whatever your path is

これにより、すべてのファイルをすべてのユーザーが読み取ることができ、logrotateが将来作成するすべてのファイルにadecuate権限が付与されます

8
theist

ほとんどのセットアップで:

  • awstatsは、Apacheユーザーとして実行されますwww-data;
  • apacheログファイルはroot:admによって所有され、-rw-r -----(別名:chmod 64)権限があります。そして
  • 所有権と許可の設定は、ファイル/ etc/logrotate.d/Apache2にあります。その内容は次のとおりです。

    /var/log/Apache2/*.log {
        daily
        missingok
        rotate 60
        compress
        delaycompress
        notifempty
        dateext
        create 640 root adm
        sharedscripts
        postrotate
                /etc/init.d/Apache2 reload > /dev/null
        endscript }
    

最も簡単な解決策は次のとおりです。

1)「create 640 root adm」を「create 644 root adm in / etc/logrotate.d/Apache2」を好みのテキストを使用して変更しますエディター、またはすべてのスクリプトを作成する必要がある場合:

Sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/Apache2

2)/ var/log/Apache2/access.logおよび/ var/log/Apache2/error.logの許可を644に変更します。

Sudo chmod 644 /var/log/Apache2/access.log /var/log/Apache2/error.log

3)Apacheを再起動します。

Sudo apachectl -k graceful

ソリューションとしてadmユーザーグループにwww-dataを追加する人を見てきました。 www-dataには、私が慣れているよりもはるかに多くの権限があります。

他のより安全なオプションには、awstats用の新しいユーザーとグループを作成し、この新しいユーザー/グループとしてawstatsを実行/実行することが含まれます。

6
roberthernandez