Bug 8592 - add /var/www/html/lightsquid/report/, pseudo user
: add /var/www/html/lightsquid/report/, pseudo user
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/lightsquid)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-12-05 16:31 by
Modified: 2006-02-17 19:52 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-12-05 16:31:31
пакет необходимо доработать для пригодности к более-менее безопасному
использованию из коробки.

1. надо создать псевдопользователя (рекомендую _lightsquid:_lightsquid)

2. создать /var/www/html/lightsquid/report/ (или перенести в
/var/lib/lightsquid/report и соответственно скорректировать дефолты)

3. при наличии этого каталога передать права на него псевдопользователю

В сумме получается примерно так (I DIDN'T REALLY TEST THIS):

%define lightuser _lightsquid
%define lightgroup _lightsquid
%define lightdir /var/www/html/lightsquid

# ...

%pre
/usr/sbin/groupadd -r -f %lightgroup
/usr/sbin/useradd -r -g %lightgroup -d /dev/null -s /dev/null -n %lightuser
>/dev/null 2>&1 ||:
[ -d %lightdir ] && /bin/chown -R %lightuser:%lightgroup %lightdir

# ...

%files
# права -- если заработает, лучше 0750 (возможно, с %apache_group)
%attr(0755,%lightuser,%lightgroup) %lightdir

Соответственно в /etc/cron.daily/lightsquid должен быть вызов с использованием
su (возможно, -s /bin/sh), а сам этот файл должен быть %config(noreplace).  Ещё
лучше из cron.daily перекинуть его в cron.d, что позволит администратору более
гибко управлять частотой запуска (см. как сделано в mrtg).

PS: в %description s/analizer/analyzer/ :)
------- Comment #1 From 2005-12-05 16:48:50 -------
Да, ещё:

- в /etc/cron.d/lightsquid можно положить такое:
45 03 * * * root /bin/su - -c /usr/sbin/lightparser.pl -s /bin/sh _lightsquid

- пользователя _lightsquid надо добавлять в группу squid

- возможно, стоит добавлять пользователя apache в группу _lightsquid, если
закручивать гайки на reports/

...а в остальном -- нормально вроде :-)
------- Comment #2 From 2005-12-05 17:12:19 -------
До кучи: проверить синхронизацию lightparser.pl и logrotate.

В текущей конфигурации возможен вариант потери части статистики, если
lightparser.pl *.log.1.bz2 не анализирует).
------- Comment #3 From 2005-12-05 17:31:17 -------
Да, со всем согласен. Вот соберусь с силами и сделаю.
------- Comment #4 From 2005-12-07 12:02:40 -------
всё сделал как recommended, матерится при запуске из хрона
/dev/null not available; exiting
------- Comment #5 From 2005-12-07 12:04:37 -------
(In reply to comment #4)
> всё сделал как recommended, матерится при запуске из хрона
> /dev/null not available; exiting
чуть на забыл - ALM2.4 пакет из backports
------- Comment #6 From 2005-12-07 12:49:40 -------
точнее,

_lightsquid:x:UID:GID::/var/www/html/lightsquid:/dev/null
------- Comment #7 From 2005-12-09 20:50:32 -------
Сделал с некоторыми изменениями:

1.Псевдопользователь называется lightsquid.
2.Файл /etc/cron.d/lightsquid не noreplace, т.к. при его изменении остается
.rpmsave который обрабатывается кроном (наверно это надо как-то исправлять?)
3. /etc/cron.d/lightsquid содержит не то, что предлагал mike@, вот так:
05 * * * *     lightsquid /usr/sbin/lightparser.pl

4. Т.к. lightsquid позволяет обрабатывать bz и bz2 архивы, я пока не задавался
вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю
будет запускаться по крону обработка всех архивов для корекции.
------- Comment #8 From 2005-12-09 21:02:33 -------
(In reply to comment #7)
> Сделал с некоторыми изменениями:
> 
...
> 
> 4. Т.к. lightsquid позволяет обрабатывать bz и bz2 архивы, я пока не задавался
> вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю
> будет запускаться по крону обработка всех архивов для корекции.

  Если правельно представляю его работу, то для исключения пропумков --
достаточно добится совместной обработки *.log + *.log.1.bz2. (Могу ошибаться: в
детали его работы ещё не лазил.)