Sie können die Anzahl der Prozesse, die in Ubuntu und den meisten anderen Linux-Distributionen erzeugt werden können, leicht einschränken, indem Sie Änderungen vornehmen /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Fügen Sie dann diese Zeile am Ende dieser Datei hinzu:
* hard nproc nnn
wo:
hard
Legt das Limit auf Kernel-Ebene fest, sodass es nicht ohne Neustart geändert werden kann.
nproc
ist die maximale Anzahl von Prozessen pro Benutzer.
nnn
ist eine Zahl, die Sie für Ihr System berechnen sollten mit:
ps aux -L | cut --delimiter=" " --fields=1 | sort | uniq --count | sort --numeric-sort | tail --lines=1
Der obige Befehl listet alle Prozesse für alle Benutzer einschließlich Threads auf , fasst sie zusammen und listet den Benutzernamen mit der größten Anzahl von Prozessen auf. Öffnen Sie aus Sicherheitsgründen so viele Anwendungen, wie Sie normalerweise benötigen, bevor Sie den obigen Befehl ausführen, und verdoppeln Sie dann diese Anzahl aus Sicherheitsgründen.
Nachdem dieses Limit festgelegt wurde, müssen Sie einen Neustart durchführen. Dies betrifft jedoch alle Benutzer ohne Rootberechtigung auf dem System. Wenn also eine Gabelbombe von einem Benutzer ausgeführt wird, der kein Root-Benutzer ist, hat sie dieses harte Limit.
Gruppen- und Platzhalterlimits gelten standardmäßig nicht für den Root-Benutzer . Verwenden Sie den wörtlichen Benutzernamen root
in den Regeln, wenn Sie eine Regel auf den Superuser anwenden möchten.
Wenn Sie nicht in Kürze neu starten möchten, können Sie auch verwenden, sudo ulimit -u 800
wodurch die Einschränkung nur für die laufende Sitzung gilt , die jedoch durch eine Gabelbombe mit sudo
Berechtigungen leicht umgangen werden kann !
Nach dem Neustart wird das, was sich in /etc/security/limits.conf
befindet, verwendet.
Einige zusätzliche Informationen zu Gabelbomben: Sie sind keine Malware oder etwas Schreckliches. Sie bestehen in der Regel aus so grundlegenden Elementen wie einem Skript, das sich selbst zweimal aufruft und dadurch seine Präsenz auf dem Computer exponentiell erhöht. Obwohl sie aufgrund der hohen Geschwindigkeit einen geringen Speicherbedarf haben, füllen sie schnell den gesamten verfügbaren Arbeitsspeicher und der Computer friert ein oder startet neu. Die einzige Gefahr besteht darin, nicht gespeicherte Informationen zu verlieren. Ich würde eine Gabelbombe viel mehr als Streich als bösartige Software einstufen.
Eine wichtige Erinnerung:
Sie sollten selten etwas in der Befehlszeile ausführen, wenn Sie sich nicht zu 98% sicher sind, wie es funktioniert. Wenn Sie die Befehle, die Sie ausführen, nicht lesen können, tun Sie es nicht. Dies gilt doppelt für unlesbare Abschnitte mit hexadezimalen / base64-Zeichen, die verwendet werden können, um alle Arten von Unangenehmem zu verschleiern. Wenn Sie sich bei einem Befehl nicht sicher sind, können Sie in den Ubuntu-Manpages nach dessen Aktionen suchen und zusätzliche Vorsichtsmaßnahmen sudo
treffen, wenn Sie ihn verwenden, da er als Root-Benutzer ausgeführt wird.
alias ":(){ :|: & };:"="echo 'No.'"
in mein.bashrc
- führe es jedes Login aus?Eine einfache Möglichkeit, die ich mag, ist das Erstellen eines Alias, obwohl Alias nicht immer angewendet wird. Überprüfen Sie die Antwort oben.
Jetzt
quelle
a(){ a|a & };a
? (oder irgendein anderer Funktionsname?)