AWStats : /var/log/apache2/access.log에 액세스 할 수 없습니다 1) www-data가 최소한 읽기

새 Ubuntu Lucid 서버에 awstats를 설치했지만 cron이 사용자로 실행하려고 www-data하면 불평합니다 cannot access /var/log/apache2/access.log: Permission denied.

에서 /usr/share/doc/awstats/README.Debian이 단락이있다 :

기본적으로 Apache는 (버전 1.3.22-1부터) uid = root 및 gid = adm을 가진 로그 파일을 저장하므로 다음 중 하나를 수행해야합니다.

1) www-data가 최소한 읽기 액세스 권한을 갖도록 /etc/logrotate.d/apache에서 로그 파일의 권한을 변경하십시오.

2) 1)과 같이 특정 사용자로 변경하고 Apache의 suEXEC 기능을 사용하여 동일한 사용자로 실행하십시오 (및 / var / lib / awstats의 권한을 변경하거나 다른 디렉토리를 사용하십시오). 이것은 더 복잡하지만 로그는 일반적으로 서버에서 액세스 할 수 없습니다 (아파치 기본 설정일 수 있음).

3) awstats.pl을 그룹 adm으로 변경합니다 (그러나 컴퓨터의 관리자 항목에 CGI 스크립트 액세스를 허용 할 위험이 있습니다!).

나는 1과 함께 갈 것이지만 부여 할 권장 권한은 무엇입니까?



답변

포인트 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

그런 다음 모든 사용자가 모든 파일을 읽을 수 있으며 나중에 로그 로테이트로 만드는 모든 파일에 적절한 권한이 부여됩니다.


답변

대부분의 설정에서 :

  • awstats는 아파치 사용자로 실행됩니다 www-data .
  • 아파치 로그 파일에 의해 소유 ADM : 루트 및이
    —– -rw-R을 (일명 : chmod를 640 ) 권한; 과
  • 소유권 및 권한 설정은 /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) 자주 사용하는 텍스트 편집기를 사용하거나 모든 것을 스크립팅해야하는 경우 /etc/logrotate.d/apache2 에서 ” create 640 root adm “을 ” create 644 root adm “으로 변경 하십시오.

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) 아파치를 다시 시작하십시오.

sudo apachectl -k graceful

사람들이 www-data를 adm 사용자 그룹에 솔루션으로 추가하는 것을 보았습니다. 그것은 더 많은 권한입니다 내가 익숙한 것보다 www-data에 입니다.

보다 안전한 다른 옵션으로는 awstats에 대한 새 사용자 및 그룹을 작성하고이 새 사용자 / 그룹으로 awstats를 실행 / 실행하는 것이 포함됩니다.