Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


понедельник, 24 октября 2016 г.

ClamAV в старой Zimbra сошёл с ума

Прихожу сегодня на работу и вижу во входящей админской почте кучу сообщений о том, что почтовое сообщение такое-то доставлено без проверки - Unchecked.

В огромного размера логе clamd обнаруживаю огромное количество записей типа:

WARNING: [LibClamAV] mpool_malloc(): Attempt to allocate 8388608 bytes. Please report to http://bugs.clamav.net

В некотором недоумении пытаюсь перезапустить зимбру, но обнаруживаю, что процесс clamd не реагирует на штатный kill -15 (sigterm), и снимается только по kill -9 (sigkill). Похожие записи вижу и в логе freshclam, из чего делаю вывод, что что-то не так с антивирусными базами.
Прибиваю все зимбровские процессы, переименовываю существующие базы (например mv daily.cvd -daily.cvd), вручную запускаю зимбровский freshclam. Он отрабатывает нормально, md5 свежескачанных баз совпадает с md5 старых баз. Значит базы не повреждены.
На всякий случай - всё-таки ошибка выделения памяти - проверяю логи гипервизора, на котором крутится зимбра. Там всё в порядке.
As a very last resort вбиваю текст сообщения об ошибке в гугл, и одной из первых ссылок вижу такую страницу: ClamAV DB Update leads to **UNCHECKED** in all messages (оно же в Zimbra KB) с датой изменения 24 октября 2016, то есть сегодня. Выяснилось, что проблема глобальная и Clam-ы версий 097 более не поддерживаются (причем давно) и не умеют работать с новыми базами.

Решение - в следующей по порядку статье ZimbraKB "ClamAV - Updating clamd for releases earlier than ZCS 8.0.6":

1. остановить всё зимбровское
2. скачать (по ссылкам в KB) новый ClamAV подходящей версии
3. распаковать его (под root-ом) в каталог зимбры
4. удалить старую ссылку clamav и создать ее заново, чтобы она указывала на новый каталог
5. убедиться, что ссылка указывает на каталог с новым ClamAV
6. запустить зимбру и порадоваться за нормальную работу антивируса

пятница, 21 октября 2016 г.

Перевод секунд в дни, часы, минуты

Convert seconds to days, hours, minutes

Скучная задача: есть аптайм в секундах, надо - в человеческих единицах.

 seconds=675372
 printf '%dd:%dh:%dm:%ds\n' $(($secs/86400)) $(($secs/3600%24)) $(($secs%3600/60)) $(($secs%60))


7d:19h:36m:12s


Решение навеяно отсюда: http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds

Ответ пользователя qubodup я подправил: в его команде неправильно считались часы, я добавил остаток от деления количества часов на 24. Без этого те же секунды показывались как 7d:187h:36m:12s, что несколько неразумно.

понедельник, 17 октября 2016 г.

passwd и неожиданный Kerberos

Рутинная задача: сменить пароль локального пользователя на линуксовом сервере.

passwd траблмейкер
введи старый пароль:
введи новый пароль:
повтори новый пароль:

А вот хрен там!

passwd траблмейкер
Пароль от Кербероса давай, да? (Current Kerberos password:)

Опаньки! А откуда я знаю этот пароль, если для этого пользователя он никогда не задавался? И почему для рута, чей пароль я менял несколько минут назад, этого не спрашивали?
Прямо сейчас лень долго разбираться, в чем дело, поэтому пошел по пути наименьшего сопротивления (http://unix.stackexchange.com/questions/116028/how-could-i-eliminate-kerberos-for-passwd)

Запускаем от рута pam-auth-update, снимаем чекбокс с кербероса, после чего дурацкий вопрос не задаётся. Желательно после смены пароля вернуть чекбокс на место - х.з., на что это может повлиять на самбовском сервере.