Bug 31638 - logrotate отказывается выполнять ротацию, если owner и/или group отличны от root
Summary: logrotate отказывается выполнять ротацию, если owner и/или group отличны от root
Status: CLOSED DUPLICATE of bug 31623
Alias: None
Product: Sisyphus
Classification: Development
Component: logrotate (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-17 17:37 MSK by anton
Modified: 2015-12-18 09:25 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description anton 2015-12-17 17:37:17 MSK
Когда-то все было хорошо и светило солнце, а потом с питерским дождем пришло обновление logrotate 3.9.1-alt2, после которого ротация фактически прекратилась вот с какой ошибкой (пример одной из многих):

error: skipping "/var/log/jetty/jetty-console.log" because parent directory has insecure permissions (it's not owned by "root"); consider using "su" directive in config file to tell logrotate which user/group should be used for rotation.

Действительно:

# ls -ld /var/log/jetty/
drwxr-xr-x 2 jetty jetty 4096 авг 11  2014 /var/log/jetty/

Таким образом, добавив опцию "su jetty jetty" в /etc/logrotate.d/jetty6 ошибка ушла, но заметим, что таких "ошибок" мне выдалось на-гора за все службы, чьи логи ротируются на данной машине (и это не единственная машина): apache, mysql, mwserve и т.п. - получается, что нужно или дополнять logrotate-файлы в соответствующих пакетах, либо заставить сам logrotate отбросить гордость и insecur'но, но МОЛЧА заротировать то, что есть, как это было раньше.
Comment 1 Dmitry V. Levin 2015-12-17 17:43:57 MSK
Давайте исправим пакеты, чтобы они перестали нарушать https://www.altlinux.org/Secure_Packaging_Policy
Comment 2 anton 2015-12-17 18:53:36 MSK
(В ответ на комментарий №1)
> Давайте исправим пакеты, чтобы они перестали нарушать
> https://www.altlinux.org/Secure_Packaging_Policy

Ошибка возникла и в корректном случае с mysql:

error: skipping "/var/lib/mysql/log/*" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.

Однако, уточнил, что это сообщение было в версии logrotate 3.9.1-alt1 и сейчас действительно утратило силу: -alt2 - ОК.

Вся эта бага - дубликат #31623 и решение ясно: или применяем policy-правило, или пишем 'su <user> <group>' в конфиг.

*** This bug has been marked as a duplicate of bug 31623 ***