У меня есть коллекция файлов журналов с разными владельцами. Каждый файл журнала соответствует одной из программ, а разрешения доступны для групповой записи, так что любой, кто запускает программу (ы), может записывать в журналы. (Файлов 660, каталогов 774).
Я бы хотел использовать logrotate
для архивирования журналов время от времени. Поскольку все в нашей группе могут читать файлы, я предположил, что logrotate может быть выполнен пользователем. Однако logrotate пытается создать повернутые файлы с тем же владельцем, что и у оригиналов. Если активный пользователь владеет всеми файлами, все работает нормально, но в противном случае logrotate не работает, потому что у пользователей нет разрешения на создание файлов, принадлежащих кому-то другому.
Есть ли способ обойти это? До сих пор я рассматривал (и отбрасывал) следующие варианты
create
Эта опция может помочь при последующих ротациях журнала, так как все файлы журнала будут принадлежать активному пользователю. Но это не поможет при первом вызове logrotate.su
Эта опция требует прав суперпользователя и может не помочь, поскольку не обязательно все файлы журнала принадлежат одному и тому же пользователю.cp
/mv
и > ${file}
. Я хотел бы по возможности использовать существующие инструменты.