Ich habe awstats auf meinem neuen Ubuntu Lucid-Server installiert, aber wenn cron versucht, es als Benutzer auszuführen www-data
, beschwert es sich darüber cannot access /var/log/apache2/access.log: Permission denied
.
In /usr/share/doc/awstats/README.Debian
diesem Absatz steht:
Standardmäßig speichert Apache (seit Version 1.3.22-1) Protokolldateien mit uid = root und gid = adm. Sie müssen also entweder ...
1) Ändern Sie die Rechte der Logfiles in /etc/logrotate.d/apache so, dass www-data mindestens Lesezugriff hat.
2) Wie 1), aber wechseln Sie zu einem bestimmten Benutzer und verwenden Sie die suEXEC-Funktion von Apache, um denselben Benutzer auszuführen (und ändern Sie entweder auch das Recht von / var / lib / awstats oder verwenden Sie ein anderes Verzeichnis). Dies ist komplizierter, aber dann sind die Protokolle für den Server nicht allgemein zugänglich (was wahrscheinlich der Grund für den Apache-Standard war).
3) Ändern Sie awstats.pl in group adm (aber achten Sie darauf, dass Sie das Risiko eingehen, einem CGI-Skript Zugriff auf Admin-Inhalte auf dem Computer zu gewähren!).
Ich würde mit 1 gehen, aber was sind die empfohlenen Berechtigungen zu gewähren?
chmod 755 /var/log/apache2
und chmod 644 access.log
, aber ich hätte gerne eine "das ist die beste Übung" -Antwort :) Vielen Dank, dass Sie sich angemeldet haben!
chown www-data:www-data <yourFile>
und dannchmod 655 <yourFile>
.