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-Key: 299494

Url: https://administrator.de/contentid/299494

Printed on: April 19, 2024 at 06:04 o'clock

Member: SaschaRD
SaschaRD Mar 18, 2016 updated at 14:36:18 (UTC)
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
Member: colinardo
colinardo Mar 18, 2016 updated at 15:31:59 (UTC)
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
Member: D1Ck3n
D1Ck3n Mar 18, 2016 at 15:47:49 (UTC)
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
Member: colinardo
colinardo Mar 18, 2016 updated at 16:00:42 (UTC)
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.