Wie lösche ich / var / log / lastlog dauerhaft?

8455
GregB

Meine / var / log / lastlog-Datei ist riesig. Ich weiß, es sind wirklich nur wenige Kilobytes, aber tar ist nicht klug genug, um das zu wissen. Wenn ich also eine virtuelle Maschine abbilde, schlägt die Wiederherstellung fehl, weil ich der Meinung bin, dass ich versuche, mehr Daten zu laden, als auf meiner Festplatte vorhanden sind.

Ich möchte / var / log / lastlog löschen und alle und alle Protokolle in der Datei stoppen. Ich bin mir der Auswirkungen auf die Sicherheit bewusst. Diese Protokollierung muss gestoppt werden, um meine Sicherungsstrategie beizubehalten.

Ich habe eine Änderung an /etc/pam.d/login vorgenommen, von der mir gesagt wurde, dass sie die Protokollierung in / var / log / lastlog deaktivieren würde, aber es scheint nicht zu funktionieren, da / var / log / lastlog weiter wächst.

# Prints the last login info upon succesful login # (Replaces the `LASTLOG_ENAB' option from login.defs) #session optional pam_lastlog.so 

Irgendwelche Ideen?

BEARBEITEN

Für alle, die daran interessiert sind, nutze ich Centrify Express, um meine Benutzer über LDAP zu authentifizieren. Centrify Express ist "kostenlos", aber einer der Nachteile ist, dass ich Benutzer-UIDs nicht über LDAP verwalten kann. Daher erhalten sie eine dynamische UID, wenn sie sich an einem Server anmelden. Centrify wählt einige verrückte hohe UID-Werte aus (damit es nicht zu Konflikten mit lokalen Benutzern auf dem Server kommt). / var / log / lastlog wird von der UID indiziert und nimmt die größte UID des Systems auf. Dies bedeutet, dass ein Centrify-Benutzer bei der Anmeldung eine UID im oberen Bereich des UID-Bereichs erhält, die dazu führt, dass lastlog je nach Dateisystem eine obszöne Menge Speicherplatz zuweist.

~$ ll /var/log/lastlog -rw-rw-r-- 1 root root 291487675780 Apr 10 16:37 /var/log/lastlog ~$ du -h /var/log/lastlog 20K /var/log/lastlog 

Mehr in ---> Sparse Files

6
Nun, definitiv gibt es eine Möglichkeit, sie zu deaktivieren oder ihre Größe zu beschränken, aber ich bin kein Experte. Dies erinnerte mich jedoch an ein hartes Problem von mir für dieses Problem unter Windows: Ich würde die Datei löschen und ein Verzeichnis mit dem Namen der Datei an diesem Ort erstellen. : D :) vor 12 Jahren 0
Ich kann nicht herausfinden, wie ich deine Frage kommentieren soll. Wenn Sie / var / log / lastlog löschen, funktioniert das oder kommt es zurück? user130777 vor 12 Jahren 0
Hier sind einige Links zu den Fehlerberichten in Redhat / fedora und ubuntu. Hoffentlich werden mehr Leute auf dieses Thema aufmerksam machen und es wird etwas Aufmerksamkeit bekommen. http://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1707645 http://bugzilla.redhat.com/show_bug.cgi?id=951564 nelaaro vor 5 Jahren 0

3 Antworten auf die Frage

13
johnshen64

Versuchen Sie diesen Befehl:

ln -sfn /dev/null /var/log/lastlog 
Das ist Betrug. Es muss einen anderen Weg geben. :) vor 12 Jahren 2
Es ist eine verdammt gute Idee :). Wahrscheinlich nicht zu schwer mit Puppen zu automatisieren. GregB vor 12 Jahren 0
Das hat funktioniert. Ich habe in den Protokollen nachgesehen, die PAM erstellt, und es gibt eine Ausnahme, die nicht in / var / log / lastlog geschrieben werden kann. Es stellt sich heraus, dass das PAM-Modul niemals Lastlog neu erstellt, wenn es nicht existiert, sodass die Datei einfach gelöscht werden kann. GregB vor 12 Jahren 0
2
Jon Lasser

Die beste Lösung ist meiner Meinung nach, die Option -S / --sparse von tar zu verwenden, um Dateien mit geringer Dichte richtig zu verarbeiten.

Leider wird tar von einem Sicherungsdienst eines Drittanbieters aufgerufen, sodass ich keine Kontrolle über die Parameter habe. Ich habe ein Ticket an den Drittanbieter geschickt, in dem er dasselbe sagt :). GregB vor 12 Jahren 0
0
Tepal

Wenn der Drittanbieter Ihr System tar verwendet, benennen Sie tar in tar.real um. Erstellen Sie dann ein Skript namens tar, das -S nur verwendet, wenn es von der Software des Drittanbieters aufgerufen wird.

Rufen Sie besser den Drittanbieter über das Wrapper-Skript auf, der vor PATH ein spezielles bin-Verzeichnis hinzufügt, in dem Sie den Wrapper für tar haben. Dies funktioniert nur, wenn der Drittanbieter keine absoluten Pfade verwendet.

Hallo Tepal, danke für diese Antwort. Könnten Sie angesichts dieser Frage, die bereits eine akzeptierte Antwort hat, Ihre Antwort bearbeiten, um ein wenig darüber zu klären, was sie für andere Leute, die sie lesen, zu erreichen versucht? bertieb vor 8 Jahren 0
Wow, bring das von den Toten zurück. Wie ich mich erinnere, bestand das Problem darin, Snapshots von Rackspace Public Cloud-Servern wiederherzustellen. Ich dachte, ich hätte Backups, aber die Wiederherstellung schlug fehl, wegen der Platzprobleme, die im ursprünglichen Beitrag erwähnt wurden. Ich kann mich nicht erinnern, ob tar auf der VM ausgeführt wurde oder auf einem anderen Server, der die Image-Daten an die neue VM übertragen hat. GregB vor 8 Jahren 0