Aus Sicherheitsgründen möchte ich meine Verlaufsdatei schützen (.bash_history) unter Linux. Wie Sie wissen, werden in der Verlaufsdatei die letzten 500 Befehlszeilen gespeichert. Ich möchte, dass niemand diese Datei ändern kann, außer die letzte Zeile hinzuzufügen. Mit anderen Worten, Befehle sollten hinzugefügt werden nur und nur die neueste Zeile.
Antworten:
2 für die Antwort № 1Stellen Sie sicher, dass Ihre .bash_history-Datei nur angehängt wird
$ sudo chattr +a /home/user/.bash_history
a - nur anhängen: Das Schreiben in eine Datei erlaubt nur das Schreiben in eine Datei im Append-Modus zum Schreiben geöffnet. Das heißt, Sie können die Ausgabe nicht umleiten Um die Datei zu überschreiben, hängen Sie sie nur an. Normalste Datei bearbeiten Operationen wie das Öffnen der Datei mit einem Texteditor sind sehr wahrscheinlich schlagen fehl, da das Programm versucht, die Datei mit dem zu überschreiben Änderungen und "Berechtigung verweigert" werden angezeigt. Dieses Attribut kann Nur von einem Konto mit Superuser-Berechtigungen festgelegt werden.
Die Manpage von chattr ist Hier. Suche auch nach anderen Attributen, hoffe das hilft irgendwie
1 für die Antwort № 2
Vermeiden bash
Wenn Sie keine alten Verlaufseinträge entfernen möchten, können Sie dies in Ihrer .bashrc
Datei:
HISTSIZE=-1
HISTFILESIZE=-1
HISTSIZE
erzählt bash
Die maximale Anzahl der zu speichernden Verlaufseinträge.
HISTFILESIZE
erzählt bash
die maximale Anzahl der Einträge die HISTFILE
(meistens .bash_history
) sollte haben.
Setzen Sie sie auf -1
erzählt bash
keine Begrenzung verwenden.