d1ck3n
Goto Top

Log files anonymisieren?

Hallo zusammen,

ich würde gerne unter Linux Log Dateien automatisiert anonymisieren. Die Log Datei soll nach den Benutzernamen meines Systems durchsucht werden und dann durch "User" ersetzt werden. Kennt da jemand eine Methode/Tool um das umzusetzen?

Gruß
D1Ck3n

Content-ID: 299494

Url: https://administrator.de/forum/log-files-anonymisieren-299494.html

Ausgedruckt am: 10.04.2025 um 09:04 Uhr

SaschaRD
SaschaRD 18.03.2016 aktualisiert um 15:36:18 Uhr
Goto Top
Hallo D1Ck3n;

bekommst es mit einem kleinen Shell-Skript problemlos hin.
Hier ist ein Beispiel, welches Du dann auf deine Bedürfnisse ändern müsstest:
for fn in `find /opt/logtest/ -user user1 -name *.log`; do
    echo "file name is $fn"  
    chown user:gruppe $fn
done
Somit werden alle .log Dateien im Ordner /opt/logtest/ die dem Benutzer user1 zugehörig sind, dem Benutzer user mit der Gruppe gruppe überschrieben.

Gruß, Sascha
colinardo
colinardo 18.03.2016 aktualisiert um 16:31:59 Uhr
Goto Top
Hallo @D1Ck3n,
ich glaube du meinst eher so was:
sed -re "s/$(cat /etc/passwd | grep '/home' | cut -d: -f1 | tr '\n' '|' | sed -re 's/\|$//')/user/i" deinlogfile.log >deinanonymeslogfile.log
Grüße Uwe
D1Ck3n
D1Ck3n 18.03.2016 um 16:47:49 Uhr
Goto Top
Hallo Uwe,

sowas habe ich gesucht, aber leider funktioniert das nicht. Die neue Datei wird mir zwar angezeigt, aber da wurden keine Namen ersetzt face-sad

Mir fällt auch gerade auf, dass die User nicht in der passwd stehen, da die Authentifizierung über eine Windows AD läuft. Also kann man die passwd leider nicht verwenden :/

Gruß
D1Ck3n
colinardo
colinardo 18.03.2016 aktualisiert um 17:00:42 Uhr
Goto Top
Zitat von @D1Ck3n:
Mir fällt auch gerade auf, dass die User nicht in der passwd stehen, da die Authentifizierung über eine Windows AD läuft. Also kann man die passwd leider nicht verwenden :/
Dann ist das auch kein Wunder warum es bei dir so in der Art nicht läuft face-wink

Dann müsstest du dir die User erst per LDAP anzeigen lassen.
http://superuser.com/questions/792661/list-ldap-users-on-linux-client
http://superuser.com/questions/376838/how-to-get-linux-users-list-from- ...

Probier mal die Ausgabe von
getent passwd
oder auch über ldapsearch.

Hab hier leider gerade kein Linux mit LDAP Anbindung für Tests.

Ist aber immer die gleiche Vorgehensweise:

Man hole sich die Liste aller Usernamen egal ob nun direkt per ldap oder aus einer Textdatei, welche man dann entweder mit einer FOR-Schleife durchläuft und in der Logdatei ersetzt, oder so wie ich oben es demonstriert habe, die Liste der Username mit einem "|" zu einem Regular-Expression String verbindet und dann an sed übergibt welches alle Namen in einem Rutsch durch "User" ersetzt.