Это просто автоматизированные нападения бота, и весьма обычный для любого Интернета выставил систему. Для получения списка пользователей, можно использовать getent
в CentOS:
getent passwd | awk -F':' '{ print $1 }'
Для помещения его вместе с тем, что Вы уже имеете:
while read -r count user; do
printf '%s %s ' "$user" "$count"
if getent passwd | grep -q "^$user:"; then
printf 'valid\n'
else
printf 'invalid\n'
fi
done < <(awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5)
Попробуйте функцию экспорта, затем вызывая его в подставке:
showword() {
echo $1
}
export -f showword
echo This is a sample message | xargs -d' ' -t -n1 -P2 bash -c 'showword "$@"' _