Когда SELinux регистрирует событие в журнале аудита в моей системе CentOS 6, он регистрирует его во времени, что создает настоящие хлопоты при попытке устранить неполадки. Есть ли способ заставить его регистрировать эти события с использованием удобочитаемых форматов даты? Я просмотрел файлы conf и погуглил, но, похоже, ничего не нашел.
Я не думаю, что есть какие-то параметры конфигурации, но я нашел сценарий, который добавит время, удобочитаемое человеком:
egrep '^type=(AVC|SELINUX)' /var/log/audit/audit.log |
while read line; do
time=`echo $line | sed 's/.*audit(\([0-9]*\).*/\1/'`;
echo `date -d @$time` $line;
done
Источник: http://blog.commandlinekungfu.com/2010/08/episode-106-epoch-fail.html
Ты можешь использовать ausearch
с участием -i
возможность интерпретировать результаты так, чтобы они были удобочитаемы:
# grep -i avc /var/log/audit/audit.log | ausearch -i
Код Perl:
# tail -f /var/log/audit/audit.log | perl -pe 's/(\d+)/localtime($1)/e'
Вы можете использовать команды sed и date для преобразования datetime, а затем для его форматирования.
tail -f /var/log/audit/audit.log | sed -re 's/(^.+)([0-9]{10})(.+$)/echo "\1"`date -d @\2 +%Y-%m-%d_%H:%M:%S`"\3"/e'
то же самое с использованием perl:
tail -f /var/log/audit/audit.log | perl -pe 's/(\d{10})/`echo -n \`date -d \@$1 +%Y-%m-%d_%H:%M:%S\``/e'