(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.
VM (CetnOS7) (Produktions-VM ist RHEL7) XenServer
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!
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.
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