Frage Die beste Möglichkeit zum Deaktivieren von Swap in Linux


Ich benutze einen benutzerdefinierten kompilierten 3.18.9-Kernel und frage mich, wie man Swap auf dem System am besten deaktiviert. Ich benutze auch init, wenn es einen Unterschied macht.

Reicht es aus, die Swap-Zeile zu kommentieren oder zu entfernen? /etc/fstab um zu verhindern, dass das System beim Booten funktioniert / mounten oder den Kernel ohne neu kompilieren muss Support for paging of anonymous memory (swap) 100% sicher sein, dass es nicht aktiviert wird?

Ich führe verschlüsselte Partitionen aus und möchte versehentliches Lecken auf die Festplatte verhindern. Meine Systemspezifikationen sind auch groß genug, dass ich in einer Umgebung ohne Swap überleben kann.

Vielen Dank für Ihre Zeit.


26
2018-04-22 18:44


Ursprung


Warum ist Ihr Tausch nicht verschlüsselt? - Michael Hampton♦
@MichaelHampton Ich sah zu dem Zeitpunkt keine Notwendigkeit, bis mir klar wurde, was letztendlich passieren würde. Außerdem erreicht mein System zu keinem Zeitpunkt einen Punkt, an dem der Swap verwendet wurde, daher habe ich das Gefühl, ich kann es entfernen. - user283167
Ich würde dann das Feature aus dem Kernel entfernen. Sonst kann jemand einen USB-Stick einstecken und wieder mit ihm tauschen. - ott--
@ott Erfordert der Benutzer keinen Superbenutzerzugriff, um die ausführbare Datei swapon / swapoff zu verwenden? Ich könnte es für alle Fälle wieder deaktivieren, aber ich bin mir nicht sicher, ob ein nichtprivilegierter Benutzer Auslagerungsdateien erstellen kann. - user283167
In der Tat benötigt er Super-User-Zugriff, den er mit einem Exploit z. B. könnte. Aber beobachten Sie Ihren Server rund um die Uhr? - ott--


Antworten:


  1. Ermitteln Sie konfigurierte Swap-Geräte und -Dateien mit cat /proc/swaps.
  2. Deaktivieren Sie alle Swap-Geräte und -Dateien mit swapoff -a.
  3. Entfernen Sie alle übereinstimmenden Referenzen in /etc/fstab.
  4. Wahlweise: Zerstören Sie alle Swap-Geräte oder Dateien, die Sie in Schritt 1 gefunden haben, um deren Wiederverwendung zu verhindern. Aufgrund Ihrer Bedenken hinsichtlich der Weitergabe sensibler Daten möchten Sie möglicherweise eine sichere Bereinigung durchführen.

Manntausch


46
2018-04-22 19:42





Wenn Sie wirklich sicher sind, dass Sie das Tauschen deaktivieren möchten (beachten Sie: das ist nicht empfohlen, auch wenn Sie ziemlich sicher sind, dass physischer RAM mehr als genug ist), folgen Sie diesen Schritten:

  1. Lauf swapoff -a: Dies wird sofort Swap deaktivieren
  2. Entfernen Sie einen Swap-Eintrag aus /etc/fstab
  3. reboot das System. Wenn der Swap weg ist, gut. Wenn es aus irgendeinem Grund immer noch hier ist, mussten Sie die Swap-Partition entfernen. Wiederholen Sie die Schritte 1 und 2 und danach fdisk oder parted um die (jetzt unbenutzte) Swap-Partition zu entfernen. Seien Sie vorsichtig hier: Das Entfernen der falschen Partition wird katastrophale Auswirkungen haben!
  4. reboot

7
2018-04-22 19:58



Warum wird es nicht empfohlen, Swap zu deaktivieren, auch wenn Sie genug RAM haben? - Rolf
Weil Linux proaktiv die Swap-Partition verwendet, um mehr Speicher für das Caching freizugeben. Dies kann die Leistung verbessern. Wie auch immer, es ist ein abstimmbarer Parameter. Für weitere Informationen lesen Sie Hier. Darüber hinaus kann ein improvisierter Anstieg der Speicherzuweisung in einem System ohne Swap den Kernel-OOM-Killer auslösen. - shodanshok
Danke, das ist vernünftig. Nichtsdestotrotz dachte ich, dass, wenn "genug RAM" (zB: 8 oder 16 GB) voll ist, es wahrscheinlich eine Art von Ausnahmesituation (Anwendung mit einem Speicherleck oder einem anderen außer Kontrolle geratenen Problem, DDOS-Angriff usw.) gibt Selbst der Tausch würde irgendwann sowieso überfordert sein. Vielleicht mache ich nicht ein sehr überzeugendes Argument, aber das sollte nicht im hellen Desktop-Einsatz passieren. - Rolf


Früher wurden nur die Swap-Partitionen in / etc / fstab automatisch verwendet, aber systemd könnte dies leicht ändern. Sie müssen möglicherweise Folgendes tun:

systemctl mask dev-sdXX.swap

(ändere sdXX) auf deine echte formatierte Swap-Partition, was die Frage aufwirft, warum du eine Swap-Partition hast, wenn du sie nicht benutzen willst ....

Wenn Sie nicht systemd verwenden, sollte das Entfernen der Swap-Einträge aus / etc / fstab ausreichen (soweit ich weiß).

Vielleicht ist die wirkliche Lösung, die Swap-Partitionen loszuwerden, damit sie nicht versehentlich verwendet werden. Um die Swap-Partitionen zu entfernen, würde ich fdisk verwenden, um den Partitionstyp von Swap zu etwas anderem zu ändern, dann die Partition neu zu formatieren oder zu verwenden: dd if=/dev/zero of=/dev/old-swap-partition um es auf Null zu stellen und zu verhindern, dass es benutzt wird.

Siehe auch: https://ask.fedoraproject.org/en/question/35806/set-up-use-of-swap-partition-with-systemd/


6
2018-04-22 18:54



Ich benutze immer noch init über openRC, ich löschte absichtlich Systemd von der Installation. Was die Tauschfrage angeht, habe ich eine reguläre Installation durchgeführt, bis ich die Entscheidung getroffen habe, cryptsetup / luks zu verwenden, um verschlüsselte Dateien, die mit ext4 formatiert sind, über meinem Dateisystem anzubringen. Wenn Sie so freundlich sein könnten, Swap bei Init zu deaktivieren, würde ich es begrüßen. - user283167