Košík je prázdný

Systémové soubory na serveru jsou často cílem neautorizovaných změn, které mohou mít za následek zranitelnost systému nebo jeho nestabilitu. Pro administrátory systémů je tedy klíčové mít možnost sledovat změny v těchto souborech a reagovat na ně včas. Jedním z nástrojů, který to umožňuje na operačním systému CentOS 7, je inotify, specifická implementace Linux Kernelu pro monitorování souborového systému.

Předpoklady

Než začnete, ujistěte se, že máte:

  • Přístup k serveru s CentOS 7 s právy root nebo uživatelem s sudo oprávněním.
  • Nainstalované základní vývojářské nástroje (Development Tools).

Instalace potřebných balíčků

Prvním krokem je instalace inotify-tools, které obsahují nástroje pro práci s inotify. Pro instalaci spusťte následující příkaz v terminálu:

sudo yum install inotify-tools

Konfigurace inotify

inotify pracuje na úrovni jádra, což znamená, že je extrémně efektivní z hlediska výkonu. Nicméně, ve výchozím nastavení má limit na počet sledovatelných souborů, který může být příliš nízký pro některé aplikace. Pro zvýšení tohoto limitu otevřete soubor /etc/sysctl.conf a přidejte následující řádky:

fs.inotify.max_user_watches=524288
fs.inotify.max_user_instances=256

Po přidání řádků aplikujte změny příkazem:

sudo sysctl -p

Použití inotify

Základní použití inotify je sledování změn v souborech nebo adresářích. Pro začátek si vytvoříme skript monitor.sh, který bude sledovat změny v určitém adresáři a jeho podadresářích. Otevřete nový soubor pomocí oblíbeného textového editoru a vložte následující skript:

#!/bin/bash

DIRECTORY_TO_MONITOR="/var/www/HTML"
EVENTS="create,delete,modify,move"

inotifywait -m -r -e "$EVENTS" --format '%w%f %e %T' --timefmt '%Y-%m-%d %H:%M:%S' "$DIRECTORY_TO_MONITOR" | while read FILE
do
  echo "Detected $FILE"
  # Zde můžete přidat další akce, např. zaslání upozornění e-mailem
done

Udělejte skript spustitelným příkazem:

chmod +x monitor.sh

A spusťte ho:

./monitor.sh

 

Skript nyní bude v reálném čase sledovat vytváření, mazání, úpravy a přesuny souborů v zadaném adresáři a vypíše informace o každé detekované události.

Automatizace a další kroky

Pro dlouhodobé monitorování můžete skript spustit na pozadí nebo použít systém jako systemd nebo cron pro jeho automatické spouštění po restartu systému.

inotify nabízí mnoho možností konfigurace a použití. Můžete například sledovat specifické typy souborů, vyloučit určité adresáře z monitorování nebo upravit akce vykonávané po detekci změn. Pro detailnější informace o inotify a jeho možnostech doporučuji prostudovat oficiální dokumentaci a příklady použití.