Bug 28931 - Не выполняется service auditd rotate
Summary: Не выполняется service auditd rotate
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: audit (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 29925
Blocks:
  Show dependency tree
 
Reported: 2013-05-05 10:06 MSK by ruslandh
Modified: 2015-01-23 18:33 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ruslandh 2013-05-05 10:06:12 MSK
Система Сизиф, домашний комп, установлен systemd

сегодня пришёл лог от anachron:
Unknown operation 'rotate'.

Начал разбираться:
И правда, операция 
service auditd rotate
заканчивается такой ошибкой, хотя если запустить
/etc/rc.d/init.d/ auditd rotate, 
то всё выполняется.

Возможно баг не к вам, а к service, или systemd.
Comment 1 Anton Farygin 2014-06-30 15:18:55 MSK
На тот пакет, в котором проблема.
Comment 2 Dmitry V. Levin 2014-06-30 22:57:53 MSK
Если система работает под управлением systemd, то /sbin/service перенаправляет все запросы в systemd.
Comment 3 Anton Farygin 2014-06-30 23:04:24 MSK
есть предложение по аналогии c RedHat обрабатывать ряд запросов "специальным образом" - т.е.  в systemd перенаправлять только поддерживаемые им "стандартные" запросы, всё остальное смотреть наличие ACTION SCRIPT, и в случае его присутствия - вызывать.
посмотри на исходники в Fedora на предмет ACTION SCRIPT.
Comment 4 Dmitry V. Levin 2014-07-01 11:47:15 MSK
Вот так примерно должен выглядеть auditd-rotate:

#!/bin/sh
SYSTEMCTL=systemctl
if sd_booted && $SYSTEMCTL --version >/dev/null 2>&1; then
        exec $SYSTEMCTL kill --signal=SIGUSR1 --kill-who=main auditd.service
else
        exec /etc/init.d/auditd rotate
fi
Comment 5 Anton Farygin 2014-07-01 11:50:05 MSK
(In reply to comment #4)
> Вот так примерно должен выглядеть auditd-rotate:
> 
> #!/bin/sh
> SYSTEMCTL=systemctl
> if sd_booted && $SYSTEMCTL --version >/dev/null 2>&1; then
>         exec $SYSTEMCTL kill --signal=SIGUSR1 --kill-who=main auditd.service
> else
>         exec /etc/init.d/auditd rotate
> fi

Это понятно. Или такой же код должен присутствовать в /sbin/service.
Comment 6 Dmitry V. Levin 2014-07-01 12:05:28 MSK
(In reply to comment #5)
> (In reply to comment #4)
> > Вот так примерно должен выглядеть auditd-rotate:
> > 
> > #!/bin/sh
> > SYSTEMCTL=systemctl
> > if sd_booted && $SYSTEMCTL --version >/dev/null 2>&1; then
> >         exec $SYSTEMCTL kill --signal=SIGUSR1 --kill-who=main auditd.service
> > else
> >         exec /etc/init.d/auditd rotate
> > fi
> 
> Это понятно. Или такой же код должен присутствовать в /sbin/service.

В /sbin/service нет информации о том, что rotate - это
kill --signal=SIGUSR1 --kill-who=main

Этот враппер под тем или иным именем все равно должен быть в одном пакете с auditd.service и init.d/auditd.

Даже если добавить в /sbin/service поддержку legacy actions, это и будет реализация одной из legacy actions для auditd.
Comment 7 Anton Farygin 2014-07-01 12:08:03 MSK
Да, я не совсем корректно выразился. в service конечно же должен быть код, вызывающий либо LEGACY ACTIONS либо initscript в зависимости от работающего окружения.

Самое главное, что ты понимаешь о чём я.
Comment 8 Sergey V Turchin 2014-09-11 14:51:32 MSK
LEGACY ACTIONS уже в p7
Comment 9 Repository Robot 2015-01-22 20:03:33 MSK
audit-2.4.1-alt1 -> sisyphus:

* Thu Jan 22 2015 Anton Farygin <rider@altlinux> 2.4.1-alt1
- new version
- added legacy actions scripts (closes: #28931, #27843)