Ich möchte die Eingabe / Ausgabe von Dateien unter Linux protokollieren

Was du machen willst

Wenn ein Benutzer einen PC an einen USB-Speicher oder eine SD-Karte anschließt und Daten ein- oder ausgibt Ich möchte mich anmelden. Ich möchte auch verhindern, dass Benutzer den Überwachungsprozess ohne Erlaubnis beenden.

Installation

Installieren Sie inotify-tools

sudo apt-get install inotify-tools

Ausprobieren

qiita@ubuntu:~$ inotifywait -m .&

Wenn die Option m nicht hinzugefügt wird, wird der Befehl beendet, sobald er ausgegeben wird.

qiita@ubuntu:~$ ls
Desktop  Documents  Downloads  Music  
./ OPEN,ISDIR
./ ACCESS,ISDIR
./ CLOSE_NOWRITE,CLOSE,ISDIR
qiita@ubuntu:~$
qiita@ubuntu:~$

Wenn ich auf das von ls überwachte Verzeichnis zugreife, wird etwas angezeigt.

Was ist mit Unterverzeichnissen?

qiita@ubuntu:~$ mkdir hoge
./ CREATE,ISDIR hoge
qiita@ubuntu:~$ cd hoge
qiita@ubuntu:~/hoge$ ls
./ OPEN,ISDIR hoge
./ ACCESS,ISDIR hoge
./ ACCESS,ISDIR hoge
./ CLOSE_NOWRITE,CLOSE,ISDIR hoge
qiita@ubuntu:~/hoge$ mkdir hoge
qiita@ubuntu:~/hoge$ cd hoge
qiita@ubuntu:~/hoge/hoge$ ls
qiita@ubuntu:~/hoge/hoge$ 

Nicht überwacht Es scheint, dass Unterverzeichnisse auch mit der Option r überwacht werden

qiita@ubuntu:~$ inotifywait -mr . &
[1] 2760
qiita@ubuntu:~$ Setting up watches.  Beware: since -r was given,
 this may take a while!
Watches established.

qiita@ubuntu:~$ cd hoge
qiita@ubuntu:~/hoge$ cd hoge
qiita@ubuntu:~/hoge/hoge$ ls
./hoge/ OPEN,ISDIR hoge
./hoge/hoge/ OPEN,ISDIR 
./hoge/ ACCESS,ISDIR hoge
./hoge/hoge/ ACCESS,ISDIR 
./hoge/ ACCESS,ISDIR hoge
./hoge/hoge/ ACCESS,ISDIR 
./hoge/ CLOSE_NOWRITE,CLOSE,ISDIR hoge
./hoge/hoge/ CLOSE_NOWRITE,CLOSE,ISDIR 
:%

Übrigens, ich habe Firefox ausgeführt, während ich gearbeitet habe.

.cache/mozilla/firefox/ Es scheint, dass das Schreiben von Firefox darunter erfolgt, Viele Protokolle wurden von notifywait ausgeschrieben. Selbst wenn ich den Benutzer geändert habe, wurde das Protokoll beim Zugriff ausgegeben.

Was ist, wenn ich das Stammverzeichnis überwache?

qiita@ubuntu:~/hoge/hoge$ inotifywait -mr / &
[1] 2884
qiita@ubuntu:~/hoge/hoge$ Setting up watches.  
Beware: since -r was given, this may take a while!

qiita@ubuntu:~/hoge/hoge$ Failed to watch /; 
upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user
 via `/proc/sys/fs/inotify/max_user_watches'.

Viele Verzeichnisse scheinen nutzlos zu sein.

Dann?

Überwachen Sie unter / dev und überwachen Sie die USB-Speicherhalterung Überwachen Sie das Lesen / Schreiben in bereitgestellten Verzeichnissen Haben Sie den gewünschten Zweck erreicht? Ist es ein Dämon?

Referenzartikel

Überwachen Sie Dateien und Verzeichnisse mit inotify-tools [Linux] Verwenden Sie inotifywait, um beim Aktualisieren von Dateien beliebige Befehle auszuführen

So überwachen Sie die Speicherverbindung

Ich frage mich, ob ich unter / dev überwachen soll ...

Recommended Posts

Ich möchte die Eingabe / Ausgabe von Dateien unter Linux protokollieren
Ich möchte OpenJDK 11 mit Ubuntu Linux 18.04 LTS / 18.10 verwenden
Ich möchte wissen, wie LINUX funktioniert!
Ich möchte Android-Apps auf Android entwickeln
Ich möchte pyenv + pipenv auch unter Windows machen
Ich möchte mit Python in eine Datei schreiben
Melden Sie sich an, wenn ich befürchtet habe, dass ich unter Linux keine Verbindung zu Wi-Fi herstellen kann
Ich möchte eine Datei auf tkinter ablegen und ihren Pfad abrufen [Tkinter DnD2]
Ich möchte so etwas wie AutoHotkey mit AutoKey unter Ubuntu (Kali Linux) erreichen.
Ich möchte den Dateinamen von DataLoader sehen
Ich möchte ein beliebtes Paket auf PyPi finden
Ich möchte eine Datei mit Python zufällig testen
Ich möchte Lambda mit Python auf Mac AWS!
Ich möchte Wake On LAN vollautomatisch ausführen
Ich möchte SUDOKU lösen
Ich habe versucht, Linux wieder einzuführen
Ich möchte Interrupts auf dem Raspberry Pi deaktivieren (≒ DI / EI)
Ich möchte meine Abschlussarbeit über IPython Notebook ankündigen
[Django] Ich möchte mich nach einer neuen Registrierung automatisch anmelden
[AWS EC2] Einstellungen, die Sie unter Amazon Linux 2 vornehmen möchten
Wenn Sie python2.x unter modernem Gentoo Linux verwenden möchten
So erstellen Sie eine ISO-Datei (CD-Image) unter Linux
Einfaches Kopieren in die Zwischenablage unter Linux
Ich möchte systemd grob verstehen
So installieren Sie VMware-Tools unter Linux
Ich möchte Bilder kratzen und trainieren
Ich möchte ○○ mit Pandas machen
Ich möchte Yolos Anmerkung kopieren
Ich möchte mit Python debuggen
Ich habe versucht, Linux auf meinem Mac zu installieren
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Ich möchte wissen, ob Sie Python auf Mac ・ Iroha installieren
Ich möchte Robomaster S1 ① Rooting und Dateikonfigurationsprüfung hacken
So überprüfen und ändern Sie Linux-Berechtigungen (chmod) (chmod) (Ich möchte bei Verweigerung von Permiss gespeichert werden)
Ich möchte Spyder an die Taskleiste anheften
Ich möchte kühl auf die Konsole ausgeben
Ich habe einen Nur-SFTP-Benutzer unter Linux erstellt.
So installieren Sie das aws-session-manager-Plugin unter Manajro Linux
Ich möchte Twitter mit Python twittern, bin aber süchtig danach
Ich möchte in der Einschlussnotation drucken
Ich möchte sie alle zusammen kratzen.
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte mit dem Reim part3 umgehen
Ich möchte ein Glas aus Python verwenden
So aktualisieren Sie PHP unter Amazon Linux 2
Ich möchte Protokolle mit Python analysieren
So zeigen Sie Piktogramme unter Manjaro Linux an
Ich war auf dotCloud süchtig nach Flask
Ich möchte mit aws mit Python spielen
So installieren Sie Pakete unter Alpine Linux
5 Gründe, Linux auf Ihrem Laptop zu installieren.
Ich möchte IPython Qt Console verwenden
So aktualisieren Sie die Sicherheit unter CentOS Linux 8
Ich möchte ein Automatisierungsprogramm erstellen!