Я установил awstats на свой новый сервер Ubuntu Lucid, но когда cron пытается запустить его как пользователь www-data, он жалуется, что cannot access /var/log/apache2/access.log: Permission denied.
В /usr/share/doc/awstats/README.Debian есть этот параграф:
По умолчанию Apache хранит (начиная с версии 1.3.22-1) logfiles с uid = root и gid = adm, поэтому вам нужно либо ... 1) Измените права лог-файлов в / etc / logrotate. d / apache, так что www-data имеет, по крайней мере, доступ для чтения. 2) Как 1), но изменитесь на конкретного пользователя и используйте функцию suEXEC Apache для запуска как один и тот же пользователь (и либо измените право / var / lib / awstats, либо используйте другой каталог). Это сложнее, но тогда журналы обычно недоступны для сервера (что, вероятно, было для Apache по умолчанию). 3) Измените awstats.pl на группу adm (но будьте осторожны, что вы рискуете позволить CGI-скрипту получить доступ к файлам администратора на машине!).Я бы пошел с 1, но какие рекомендуемые разрешения предоставить?
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь хотя бы разрешение на чтение, то рекомендуемый вариант только для чтения.
Вы можете изменить строку (в файле logrotate):
create 640 root adm
to
create 644 root adm
Чтобы предоставить всем пользователям (включая www-данные) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 /, чтобы соответствовать этому параметру
chmod a+r /var/log/apache2/* #or whatever your path is
. Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
если вы идете на точку 1 и он говорит, что www-данные должны иметь по крайней мере разрешение на чтение, то рекомендую Грант только читать.
Вы можете изменить строку (в logrotate, предназначенную файла):
create 640 root adm
в
create 644 root adm
, чтобы дать всем пользователям (ВСП-данных включены) разрешение на чтение.
Вам потребуется изменить разрешения для существующих файлов в /var/журнал/apache2 не/ соответствие этой установке
chmod a+r /var/log/apache2/* #or whatever your path is
, то все эти файлы могут быть прочитаны всеми пользователями и все файлы, которые у logrotate создать в будущем будет иметь разрешения adecuate
если вы идете на точку 1 и он говорит, что www-данные должны иметь по крайней мере разрешение на чтение, то рекомендую Грант только читать.
Вы можете изменить строку (в logrotate, предназначенную файла):
create 640 root adm
в
create 644 root adm
, чтобы дать всем пользователям (ВСП-данных включены) разрешение на чтение.
Вам потребуется изменить разрешения для существующих файлов в /var/журнал/apache2 не/ соответствие этой установке
chmod a+r /var/log/apache2/* #or whatever your path is
, то все эти файлы могут быть прочитаны всеми пользователями и все файлы, которые у logrotate создать в будущем будет иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь хотя бы разрешение на чтение, то рекомендуемый вариант только для чтения.
Вы можете изменить строку (в файле logrotate):
create 640 root adm
to
create 644 root adm
Чтобы предоставить всем пользователям (включая www-данные) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 /, чтобы соответствовать этому параметру
chmod a+r /var/log/apache2/* #or whatever your path is
. Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
если вы идете на точку 1 и он говорит, что www-данные должны иметь по крайней мере разрешение на чтение, то рекомендую Грант только читать.
Вы можете изменить строку (в logrotate, предназначенную файла):
create 640 root adm
в
create 644 root adm
, чтобы дать всем пользователям (ВСП-данных включены) разрешение на чтение.
Вам потребуется изменить разрешения для существующих файлов в /var/журнал/apache2 не/ соответствие этой установке
chmod a+r /var/log/apache2/* #or whatever your path is
, то все эти файлы могут быть прочитаны всеми пользователями и все файлы, которые у logrotate создать в будущем будет иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь как минимум разрешение на чтение, тогда рекомендуется только чтение.
Вы можете изменить строку (в файле logrotate):
создать 640 root adm
to
создать 644 root adm
To предоставить всем пользователям (www-data included) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 / для соответствия этому параметру
chmod a + r / var / log / apache2 / * # или любой ваш путь
Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь как минимум разрешение на чтение, тогда рекомендуется только чтение.
Вы можете изменить строку (в файле logrotate):
создать 640 root adm
to
создать 644 root adm
To предоставить всем пользователям (www-data included) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 / для соответствия этому параметру
chmod a + r / var / log / apache2 / * # или любой ваш путь
Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь как минимум разрешение на чтение, тогда рекомендуется только чтение.
Вы можете изменить строку (в файле logrotate):
создать 640 root adm
to
создать 644 root adm
To предоставить всем пользователям (www-data included) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 / для соответствия этому параметру
chmod a + r / var / log / apache2 / * # или любой ваш путь
Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь как минимум разрешение на чтение, тогда рекомендуется только чтение.
Вы можете изменить строку (в файле logrotate):
создать 640 root adm
to
создать 644 root adm
To предоставить всем пользователям (www-data included) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 / для соответствия этому параметру
chmod a + r / var / log / apache2 / * # или любой ваш путь
Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
Если вы переходите к пункту 1, и в нем говорится, что www-данные должны иметь как минимум разрешение на чтение, тогда рекомендуется только чтение.
Вы можете изменить строку (в файле logrotate):
создать 640 root adm
to
создать 644 root adm
To предоставить всем пользователям (www-data included) разрешение на чтение.
Вам нужно будет изменить разрешения существующих файлов в / var / log / apache2 / для соответствия этому параметру
chmod a + r / var / log / apache2 / * # или любой ваш путь
Затем все файлы могут быть прочитаны всеми пользователями, и все файлы, которые создаются в будущем, будут иметь разрешения adecuate
В большинстве настроек:
awstats работает как пользовательские данные пользователя apache; файлы журнала apache принадлежат root: adm и имеют разрешения -rw-r ----- (aka: 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) Измените «create 640 root adm» на «create 644 root adm» в /etc/logrotate.d/apache2 с помощью вашего любимого текстового редактора или, если вы должны все скриптировать:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) Измените разрешения на , создайте 640 root adm и /var/log/apache2/error.log, чтобы создать 644 root adm .
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3 ) Перезапустите apache.
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это намного больше прав для /var/log/apache2/error.log , чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
в большинстве установок:
доступность и работает как ваш Apache пользователя www-данных; Apache лог-файлы принадлежат корни:адм и -RW-р----- (ака введите: chmod 640) разрешения; и в собственности и разрешения настройки можно найти в файле /etc/logrotate, предназначенную.д/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) изменение "создать 640 корень адм", чтобы "создать 644 корень адм" в /etc/logrotate, предназначенную.д/apache2 не используя ваш любимый текстовый редактор или, если необходимо скриптом все:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) изменить разрешения создайте 640 корень адм и /var/журнал/помощью apache2/ошибка.журнала создайте 644 корень адм.
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3) перезапустить Apache.
sudo apachectl -k graceful
я видел людей, добавив ВСП-данных пользователю адм группы в качестве решения. Это намного больше разрешения для /вар/лог/apache2 не/ошибка.журнал, чем я доволен.
другие, более безопасные варианты включают создание новых пользователей и групп для awstats и делать их доступность и запустить/выполнить в качестве нового пользователя/группу.
в большинстве установок:
доступность и работает как ваш Apache пользователя www-данных; Apache лог-файлы принадлежат корни:адм и -RW-р----- (ака введите: chmod 640) разрешения; и в собственности и разрешения настройки можно найти в файле /etc/logrotate, предназначенную.д/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) изменение "создать 640 корень адм", чтобы "создать 644 корень адм" в /etc/logrotate, предназначенную.д/apache2 не используя ваш любимый текстовый редактор или, если необходимо скриптом все:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) изменить разрешения создайте 640 корень адм и /var/журнал/помощью apache2/ошибка.журнала создайте 644 корень адм.
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3) перезапустить Apache.
sudo apachectl -k graceful
я видел людей, добавив ВСП-данных пользователю адм группы в качестве решения. Это намного больше разрешения для /вар/лог/apache2 не/ошибка.журнал, чем я доволен.
другие, более безопасные варианты включают создание новых пользователей и групп для awstats и делать их доступность и запустить/выполнить в качестве нового пользователя/группу.
В большинстве настроек:
awstats работает как пользовательские данные пользователя apache; файлы журнала apache принадлежат root: adm и имеют разрешения -rw-r ----- (aka: 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) Измените «create 640 root adm» на «create 644 root adm» в /etc/logrotate.d/apache2 с помощью вашего любимого текстового редактора или, если вы должны все скриптировать:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) Измените разрешения на , создайте 640 root adm и /var/log/apache2/error.log, чтобы создать 644 root adm .
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3 ) Перезапустите apache.
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это намного больше прав для /var/log/apache2/error.log , чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
в большинстве установок:
доступность и работает как ваш Apache пользователя www-данных; Apache лог-файлы принадлежат корни:адм и -RW-р----- (ака введите: chmod 640) разрешения; и в собственности и разрешения настройки можно найти в файле /etc/logrotate, предназначенную.д/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) изменение "создать 640 корень адм", чтобы "создать 644 корень адм" в /etc/logrotate, предназначенную.д/apache2 не используя ваш любимый текстовый редактор или, если необходимо скриптом все:
sudo sed -i 's/create 640 root adm/create 644 root adm/g' /etc/logrotate.d/apache2
2) изменить разрешения создайте 640 корень адм и /var/журнал/помощью apache2/ошибка.журнала создайте 644 корень адм.
sudo chmod 644 /var/log/apache2/access.log /var/log/apache2/error.log
3) перезапустить Apache.
sudo apachectl -k graceful
я видел людей, добавив ВСП-данных пользователю адм группы в качестве решения. Это намного больше разрешения для /вар/лог/apache2 не/ошибка.журнал, чем я доволен.
другие, более безопасные варианты включают создание новых пользователей и групп для awstats и делать их доступность и запустить/выполнить в качестве нового пользователя/группу.
В большинстве настроек:
/ var / log / apache2 / *. log {daily missingok rotate 60 compress delaycompress notifempty dateext create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload & gt; / dev / null endscript}
Самое простое решение:
1) Измените «create 640 root adm» на «create 644 root adm» в /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. [ ! d11]
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это гораздо больше разрешений для www-данных, чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
В большинстве настроек:
/ var / log / apache2 / *. log {daily missingok rotate 60 compress delaycompress notifempty dateext create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload & gt; / dev / null endscript}
Самое простое решение:
1) Измените «create 640 root adm» на «create 644 root adm» в /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. [ ! d11]
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это гораздо больше разрешений для www-данных, чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
В большинстве настроек:
/ var / log / apache2 / *. log {daily missingok rotate 60 compress delaycompress notifempty dateext create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload & gt; / dev / null endscript}
Самое простое решение:
1) Измените «create 640 root adm» на «create 644 root adm» в /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. [ ! d11]
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это гораздо больше разрешений для www-данных, чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
В большинстве настроек:
/ var / log / apache2 / *. log {daily missingok rotate 60 compress delaycompress notifempty dateext create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload & gt; / dev / null endscript}
Самое простое решение:
1) Измените «create 640 root adm» на «create 644 root adm» в /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. [ ! d11]
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это гораздо больше разрешений для www-данных, чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
В большинстве настроек:
/ var / log / apache2 / *. log {daily missingok rotate 60 compress delaycompress notifempty dateext create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload & gt; / dev / null endscript}
Самое простое решение:
1) Измените «create 640 root adm» на «create 644 root adm» в /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. [ ! d11]
sudo apachectl -k graceful
Я видел, как люди добавляли www-данные в группу пользователей adm в качестве решения. Это гораздо больше разрешений для www-данных, чем мне удобно.
Другие более безопасные варианты включают создание нового пользователя & amp; группы для awstats и создания awstats run / execute в качестве этого нового пользователя / группы.
/ var / log / apache2
и все под ней на www-data
и сделать файлы доступными для групп. Это немного менее разрешительно, чем сделать их читаемыми в мире.
– Reinier Post
23 September 2015 в 12:26