<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>8592</bug_id>
          
          <creation_ts>2005-12-05 16:31:31 +0300</creation_ts>
          <short_desc>add /var/www/html/lightsquid/report/, pseudo user</short_desc>
          <delta_ts>2006-02-17 19:52:40 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>lightsquid</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Shigorin">mike</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>rider</cc>
    
    <cc>solo</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>33591</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-12-05 16:31:31 +0300</bug_when>
    <thetext>пакет необходимо доработать для пригодности к более-менее безопасному
использованию из коробки.

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

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

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

В сумме получается примерно так (I DIDN&apos;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
&gt;/dev/null 2&gt;&amp;1 ||:
[ -d %lightdir ] &amp;&amp; /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/ :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33592</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-12-05 16:48:50 +0300</bug_when>
    <thetext>Да, ещё:

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

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

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

...а в остальном -- нормально вроде :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33595</commentid>
    <comment_count>2</comment_count>
    <who name="solo">solo</who>
    <bug_when>2005-12-05 17:12:19 +0300</bug_when>
    <thetext>До кучи: проверить синхронизацию lightparser.pl и logrotate.

В текущей конфигурации возможен вариант потери части статистики, если
lightparser.pl *.log.1.bz2 не анализирует).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33596</commentid>
    <comment_count>3</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2005-12-05 17:31:17 +0300</bug_when>
    <thetext>Да, со всем согласен. Вот соберусь с силами и сделаю.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33627</commentid>
    <comment_count>4</comment_count>
    <who name="Alexander Volkov">vaa</who>
    <bug_when>2005-12-07 12:02:40 +0300</bug_when>
    <thetext>всё сделал как recommended, матерится при запуске из хрона
/dev/null not available; exiting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33628</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Volkov">vaa</who>
    <bug_when>2005-12-07 12:04:37 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; всё сделал как recommended, матерится при запуске из хрона
&gt; /dev/null not available; exiting
чуть на забыл - ALM2.4 пакет из backports
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33629</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-12-07 12:49:40 +0300</bug_when>
    <thetext>точнее,

_lightsquid:x:UID:GID::/var/www/html/lightsquid:/dev/null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33680</commentid>
    <comment_count>7</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2005-12-09 20:50:32 +0300</bug_when>
    <thetext>Сделал с некоторыми изменениями:

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 архивы, я пока не задавался
вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю
будет запускаться по крону обработка всех архивов для корекции.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33681</commentid>
    <comment_count>8</comment_count>
    <who name="solo">solo</who>
    <bug_when>2005-12-09 21:02:33 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; Сделал с некоторыми изменениями:
&gt; 
...
&gt; 
&gt; 4. Т.к. lightsquid позволяет обрабатывать bz и bz2 архивы, я пока не задавался
&gt; вопросом, как синхронизировать с ротацией лога сквида. Скорее всего раз в неделю
&gt; будет запускаться по крону обработка всех архивов для корекции.

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

    </bug>

</bugzilla>