Umfeld
Distribution: CentOS7
Kernel: 3.10.0-427.10.1.lve1.4.7.el7.x86_64
.
Szenario
Dies ist eine Shared-Hosting-Umgebung und mir ist gerade aufgefallen, dass nur /dev/mqueue
und über Berechtigungen /dev/shm
verfügen 1777
( /tmp
und /var/tmp
auch, aber das ist hier nebensächlich).
Fragen
- Stellt dies eine Bedrohung für die Sicherheit des Servers dar? Beispielsweise könnte ein Systembenutzer die Verzeichnisse mit nutzlosem Müll belegen und sein Festplattenkontingent aufbrauchen.
- Bedeutet die Tatsache, dass das gesamte
/dev
Verzeichnis auf gemountet istdevtmpfs
, dass bei einem Neustart alles aus dem Verzeichnis gelöscht wird? - Was ist der Unterschied zwischen
tmpfs
unddevtmpfs
?
Folgendes ist derzeit montiert:
Filesystem Size Used Avail Use% Mounted on
/dev/sdi1 148G 730M 140G 1% /
devtmpfs 59G 0 59G 0% /dev
tmpfs 59G 0 59G 0% /dev/shm
tmpfs 59G 4.1G 55G 7% /run
tmpfs 59G 0 59G 0% /sys/fs/cgroup
/dev/sdh1 148G 14G 127G 10% /usr
/dev/sda1 2.0G 269M 1.6G 15% /boot
/dev/sdg1 148G 7.7G 133G 6% /var
/dev/sdd1 148G 468M 140G 1% /tmp
/dev/sdc1 493G 13G 455G 3% /ssd
/dev/sde1 493G 37G 431G 8% /localbkp
/dev/sdf1 8.0T 515G 7.1T 7% /home
tmpfs 12G 0 12G 0% /run/user/0
tmpfs 12G 0 12G 0% /run/user/1242
tmpfs 12G 0 12G 0% /run/user/1507
tmpfs 12G 0 12G 0% /run/user/1812
Danke schön.
Antwort1
Stellt dies eine Bedrohung für die Sicherheit des Servers dar? Beispielsweise könnte ein Systembenutzer die Verzeichnisse mit nutzlosem Müll belegen und sein Festplattenkontingent aufbrauchen.
Sicher, aber sie können den Speicher ohnehin schon füllen, indem malloc()
sie zu viel verwenden (Ja, Sie können verwenden ulimit()
, aber das ist eine Beschränkung pro Prozess). Wenn Sie Benutzer vor der Speichernutzung der anderen schützen möchten, müssen Sie sie in verschiedene Container legen.
Bedeutet die Tatsache, dass das gesamte
/dev
Verzeichnis auf gemountet istdevtmpfs
, dass bei einem Neustart alles aus dem Verzeichnis gelöscht wird?
Ja.
Was ist der Unterschied zwischen
tmpfs
unddevtmpfs
?
Aus der Kernel- CONFIG_DEVTMPFS
Dokumentation:
Dies erstellt ein tmpfs-Dateisystem und hängt es beim Booten unter /dev ein. Der Kernel-Treiberkern erstellt Geräteknoten für alle registrierten Geräte in diesem Dateisystem. Alle Geräteknoten gehören root und haben den Standardmodus 0600. Der Benutzerbereich kann die Knoten nach Bedarf hinzufügen und löschen. Dies soll das Booten vereinfachen und es ermöglichen, den anfänglichen Coldplug beim Booten zu verzögern, der von udev im Benutzerbereich durchgeführt wird. Es sollte auch eine einfachere Möglichkeit für Rettungssysteme bieten, einen Kernel mit dynamischen Haupt-/Nebennummern zu starten. Sinnvolle Symlinks, Berechtigungen und Geräteeigentümer müssen weiterhin vom Benutzerbereich verwaltet werden.