[LINUX] Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen

(Vergangene Korrespondenznotiz)

Ich möchte verhindern, dass der Bereich unter / tmp ohne Erlaubnis gelöscht wird. Tmpwatch fehlt in RHEL7. Es scheint, dass systemd-tmpfiles-clean.timer den tmp-Bereich bereinigt.

Die Konfigurationsdatei ist hier: /usr/lib/tmpfiles.d/tmp.conf

Kopieren Sie diese Datei nach /etc/tmpfiles.d/ Möglicherweise möchten Sie es neu schreiben, um / tmp / * auszuschließen.

Testumgebung

VM (CetnOS7) (Produktions-VM ist RHEL7) XenServer

Überprüfung

Bestätigen Sie mit dem Befehl man

# man tmpfiles.d
--------------------------------------------
CONFIGURATION FORMAT

Files in /etc/tmpfiles.d override files with the same name in /usr/lib/tmpfiles.d and /run/tmpfiles.d.
Files in /run/tmpfiles.d override files with the same name in /usr/lib/tmpfiles.d.
Packages should install their configuration files in /usr/lib/tmpfiles.d.
Files in /etc/tmpfiles.d are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. 
All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in.
If multiple files specify the same path, the entry in the file with the lexicographically earliest name will be applied.
All other conflicting entries will be logged as errors.
When two lines are prefix and suffix of each other, then the prefix is always processed first, the suffix later.
Otherwise, the files/directories are processed in the order they are listed.
If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in /etc/tmpfiles.d/ bearing the same filename.
--------------------------------------------

/etc/tmpfiles.d > /run/tmpfiles.d > /usr/lib/tmpfiles.d Es scheint in dieser Reihenfolge stark zu sein.

systemd-tmpfiles-clean.timer überprüft alle atime / mtime / ctime, also Erstellen Sie einfach eine Datei und ändern Sie den Zeitstempel durch Berühren Ich kann nicht bestätigen, ob es gelöscht wird. (Weil ctime nicht geändert werden kann)

Überprüfen Sie die Einstellungen

# cat /usr/lib/tmpfiles.d/tmp.conf
-----------------------------
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

→ /Unter tmp verschwinden Dinge, die älter als 10 Tage sind
-----------------------------

Stoppen Sie NTP

# systemctl disable ntpd.service

chronyd hörte auch auf

# systemctl stop chronyd
# systemctl disable chronyd
Erstellen Sie ein Dateiverzeichnis
# cd /tmp/
# touch test
# mkdir miisuke

Nach der Uhr sehen
# stat test
Access: 2020-03-27 18:54:15.333822690 +0900
Modify: 2020-03-27 18:54:15.333822690 +0900
Change: 2020-03-27 18:54:15.333822690 +0900

# stat miisuke
Access: 2020-03-27 18:54:27.822006515 +0900
Modify: 2020-03-27 18:54:27.822006515 +0900
Change: 2020-03-27 18:54:27.822006515 +0900

Verschieben Sie die Serverzeit
# date
Freitag, 27. März 2020 19:09:58 JST

# date -s "03/28 20:00 2030"
# date
Donnerstag, 28. März 2030 20:00:02 JST

Erstellen Sie an dieser Stelle eine Datei
# touch test2
# mkdir miisuke2

# stat test2
Access: 2030-03-28 20:00:37.166547096 +0900
Modify: 2030-03-28 20:00:37.166547096 +0900
Change: 2030-03-28 20:00:37.166547096 +0900

# stat miisuke2
Access: 2030-03-28 20:00:39.423580319 +0900
Modify: 2030-03-28 20:00:39.423580319 +0900
Change: 2030-03-28 20:00:39.423580319 +0900

Versuchen Sie, den Server neu zu starten
# shutdown -r now

Sollten Test und Miisuke verschwinden?

$ date
Freitag, 27. März 2020 19:16:12 JST
→ Die Zeit ist nach dem Neustart zurückgekehrt. Ist es auf dem Xen-Host synchronisiert? ??

Wiederholen

Machen Sie die Serverzeit alt
# date -s "03/28 20:00 2010"
# date
Sonntag, 28. März 2010 20:00:01 JST

Datei hier erstellen
# cd /tmp/
# touch test3
# mkdir miisuke3

# stat test3
Access: 2010-03-28 20:01:47.397000000 +0900
Modify: 2010-03-28 20:01:47.397000000 +0900
Change: 2010-03-28 20:01:47.397000000 +0900

# stat miisuke3
Access: 2010-03-28 20:01:50.509000000 +0900
Modify: 2010-03-28 20:01:50.509000000 +0900
Change: 2010-03-28 20:01:50.509000000 +0900

Versuchen Sie, den Server neu zu starten
# shutdown -r now

Sollten miisuke3 und test3 verschwinden, wenn die Zeit zurückliegt?

# date
Freitag, 27. März 2020 19:22:41 JST

# ls -l /tmp/
Insgesamt 0
drwxr-xr-x 2 Wurzel Wurzel 6 27. März 18:54 miisuke
drwxr-xr-x 2 root root 6 28. März 2030 miisuke2
drwxr-xr-x 2 root root 6 28. März 2010 miisuke3
-rw-r--r--1 Wurzel Wurzel 0 27. März 18:54 test
-rw-r--r--1 Wurzel Wurzel 0 28. März 2030 test2
-rw-r--r--1 root root 0 28. März 2010 test3

Nicht verschwinden.

Führen Sie den Löschvorgang manuell aus
# SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean

# ls -l /tmp/
drwxr-xr-x 2 Wurzel Wurzel 6 27. März 18:54 miisuke
drwxr-xr-x 2 root root 6 28. März 2030 miisuke2
-rw-r--r--1 Wurzel Wurzel 0 27. März 18:54 test
-rw-r--r--1 Wurzel Wurzel 0 28. März 2030 test2

Ist verschwunden.

Versuchen Sie, den Prozess zu aktivieren.

Erstellen Sie eine Konfigurationsdatei

# cd /etc/tmpfiles.d/
# cp -pi /usr/lib/tmpfiles.d/tmp.conf .
# vi tmp.conf
----------------
x /tmp/*
x /var/tmp/*
----------------

Machen Sie die Serverzeit alt
# date -s "03/28 20:00 2010"
# date
Sonntag, 28. März 2010 20:00:02 JST

Datei hier erstellen
# cd /tmp/
# touch test3
# mkdir miisuke3

# stat test3
Access: 2010-03-28 20:00:16.230000000 +0900
Modify: 2010-03-28 20:00:16.230000000 +0900
Change: 2010-03-28 20:00:16.230000000 +0900

# stat miisuke3
Access: 2010-03-28 20:00:19.255000000 +0900
Modify: 2010-03-28 20:00:19.255000000 +0900
Change: 2010-03-28 20:00:19.255000000 +0900

Versuchen Sie, den Server neu zu starten
# shutdown -r now

# date
Freitag, 27. März 2020 19:51:03 JST

# ls -l /tmp/
Es ist noch nicht verschwunden.

Führen Sie den Löschvorgang manuell aus
# SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean

# ls -l /tmp/
Insgesamt 0
drwxr-xr-x 2 Wurzel Wurzel 6 27. März 18:54 miisuke
drwxr-xr-x 2 root root 6 28. März 2030 miisuke2
drwxr-xr-x 2 root root 6 28. März 2010 miisuke3
-rw-r--r--1 Wurzel Wurzel 0 27. März 18:54 test
-rw-r--r--1 Wurzel Wurzel 0 28. März 2030 test2
-rw-r--r--1 root root 0 28. März 2010 test3

Es ist nicht verschwunden!

Produktionsimplementierung

Auf RHEL7-Server implementiert

Erstellen Sie eine Konfigurationsdatei

# cd /etc/tmpfiles.d/
# cp -pi /usr/lib/tmpfiles.d/tmp.conf .
# vi tmp.conf
----------------
x /tmp/*
x /var/tmp/*
----------------
# mv tmp.conf aaa_tmp.conf(.Wenn es conf ist, sieht jeder Name gut aus.

Referenz

Ich bezog mich auf Folgendes.

Unterschiede im Verhalten zwischen tmpwatch (bis CentOS6) und systemd-tmpfiles (CentOS7) Vier Fallstricke von CentOS 7, die Sie süchtig machen und weinen sollten [Linux] [Cent OS] Wenn Sie die Dateien unter / tmp und / var / tmp belassen, werden sie ohne Erlaubnis gelöscht [Linux] Löschvorgang für CentOS 7 tmp-Ordner How systemd-tmpfiles cleans up /tmp/ or /var/tmp (replacement of tmpwatch) in CentOS / RHEL 7

Recommended Posts

Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich möchte eine andere Version von Python mit pyvenv angeben
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte mit GAN Schwarzweißfotos von Erinnerungen ausmalen
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte ○○ mit Pandas machen
Ich möchte mit Python debuggen
[Pytorch] Ich möchte die Trainingsparameter des Modells manuell zuweisen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Machen Sie sich mit der Pipeline von spaCy vertraut (wollen Sie es sein)
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Ich möchte Spyder an die Taskleiste anheften
Ich möchte Objekte mit OpenCV erkennen
Ich möchte kühl auf die Konsole ausgeben
Ich möchte mit dem Reim Teil1 umgehen
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich möchte mit dem Reim part3 umgehen
Ich möchte eine Pip-Installation mit PythonAnywhere durchführen
Ich möchte mit aws mit Python spielen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Stoppen Sie den automatischen Start von Apache Nginx
Ich möchte es mit Python Lambda Django machen, aber ich werde aufhören
Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network
[Bilderkennung] Lesen des Ergebnisses der automatischen Annotation mit VoTT
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Ich habe versucht, die Negativität von Nono Morikubo zu analysieren. [Vergleiche mit Posipa]
Ich möchte den Erfolg von NBA-Spielern mit dem Qore SDK vorhersagen
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren