TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #251 1.24K
Анализ активности пользователей через .bash_history

Если ты хочешь узнать, кто чем занимался на сервере, не прибегая к сложным средствам аудита - начни с простого: разбор ~/.bash_history. Это быстрый способ получить отчёт об активности пользователей, особенно если логи команд не централизуются.

❓ Что можно узнать:

📍Самые часто используемые команды
📍Подозрительные или потенциально опасные действия
📍Время последней активности (если HISTTIMEFORMAT включён)
📍Кто запускал sudo, rm, curl, scp и прочие «чувствительные» команды


🛠 Пример скрипта:


#!/bin/bash

REPORT="/tmp/history_report.txt"
KEY_CMDS="sudo|rm|curl|scp|wget|nc|nmap|python|ssh|dd"

echo "Отчёт об активности пользователей - $(date)" > "$REPORT"
echo >> "$REPORT"

for user_home in /home/*; do
user=$(basename "$user_home")
hist_file="$user_home/.bash_history"

[[ -f "$hist_file" ]] || continue

echo "Пользователь: $user" >> "$REPORT"
echo "— Топ 5 команд:" >> "$REPORT"
grep -v '^#' "$hist_file" | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 5 >> "$REPORT"

echo "— Подозрительные команды:" >> "$REPORT"
grep -E "$KEY_CMDS" "$hist_file" | tail -n 5 >> "$REPORT"
echo >> "$REPORT"
done

cat "$REPORT"


▪️ Проверка root-пользователя:


grep -E "$KEY_CMDS" /root/.bash_history | tail -n 5


А если у вас включён HISTTIMEFORMAT, можно дополнительно привязать команды к датам.

🌟 Этот простой анализ позволяет выявить:

- кто часто использует sudo, rm -rf, dd
- несанкционированную установку пакетов (apt install, curl | bash)
- запуск сетевых туннелей (ssh -R, ngrok, socat)


BashTex 📱 #security
  • 👍 8
More from @bash_tex
  1. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  2. Oct 9, 2026BashTex 📱 #мем
  3. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  4. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  5. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  6. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →