Für diejenigen, die Humor mögen, sudo
kann konfiguriert werden, einen zufälligen mehr oder weniger beleidigenden oder lustigen Satz anstelle der neutralen zu drucken, Sorry, try again.
indem die folgende Zeile hinzugefügt wird /etc/sudoers
(mit dem Befehl sudo visudo
, nicht manuell bearbeiten!):
Defaults insults
Hier sind einige Beispiele:
[sudo] password for bytecommander:
The more you drive -- the dumber you get.
[sudo] password for bytecommander:
I've seen penguins that can type better than that.
[sudo] password for bytecommander:
This mission is too important for me to allow you to jeopardize it.
[sudo] password for bytecommander:
He has fallen in the water!
[sudo] password for bytecommander:
Hold it up to the light --- not a brain in sight!
Jetzt nur zum Spaß möchte ich sie alle durchlesen, aber die Eingabe falscher Passwörter den ganzen Tag ist nicht die beste Methode (Verzögerung nach jedem Versuch, nur 2 Nachrichten pro 3 Versuche, Abbruch nach 3 Versuchen, ...).
Also ... wo sind diese Beleidigungen eigentlich gespeichert? Jede Klartextdatei, die ich direkt lesen kann? Oder fest codierte Zeichenfolgen im Quellcode?
Wie kann ich eine Liste aller verfügbaren sudo
Beleidigungsnachrichten erhalten?
strings /usr/lib/sudo/sudoers.so
strings
ich verrate dir nicht, ob alle Beleidigungen gleich sind. Das Lesen der tatsächlichen Quelle könnte zeigen, ob bestimmte Kriterien die Wahl der Beleidigung beeinflussen.Mit
Wir können suchen, welche Dateien aus dem Paket
sudo
das Wort enthaltendumber
.Die einzige Übereinstimmung ist in der Datei
/usr/lib/sudo/sudoers.so
. Dies ist eine Binärdatei, daher verwenden wir denstrings
Befehl, um nur Dinge abzurufen, die menschlich lesbar erscheinen. Da es eine Menge ist, leiten wir das Ergebnis weiter inless
:In können
less
wir verwendenum erneut nach dem Wort "dümmer" zu suchen. Das bringt uns direkt in die Beleidigungen. Scrollen Sie mit den Cursortasten auf und ab und beenden Sie mitq
quelle
strings -n10
diese Option , um Fehlalarme zu reduzieren. Siehe auch die Antwort von @DigitalTrauma, bei der nur der.rodata
Abschnitt mit Objektkopie eingespeist wirdstrings
, wodurch wiederum das Rauschen reduziert wird.Liste aller Beleidigungen
Wenn wir alle Beleidigungen betrachten, entdecken wir einen interessanten Leckerbissen: Brokkoli zu sagen ist politisch korrekt, Burrito jedoch nicht. Alle Beleidigungen sind unten aufgeführt.
ins_2001.h
(2001 Space Odyssey Beleidigungen):ins_classic.h
(Original Sudo 8 Beleidigungen):ins_csops.h
(CSOps-Beleidigungen):ins_goons.h
(Beleidigungen der Goon Show):Die Datei
insults.h
enthält Compiler-Anweisungen, welche der oben genannten Beleidigungen in den kompilierten Kernel aufgenommen werden sollen. In der Tat können Sie Ihre eigene Beleidigungsdatei erstellen, den Namen zu insults.h hinzufügen und neu kompilieren, um Meldungen wie "Was, sind Sie ein ArchLinux-Benutzer?" Zu erhalten. oder "Dies ist nicht Windows, wo Fehler an der Tagesordnung sind!" usw.Beachten Sie die
#ifdef PC_INSULTS
in einigen der Beleidigungsdateien. Dies bedeutet nicht "wenn Sie einen PC haben", sondern "wenn Sie politisch korrekt sein wollen".quelle
Die obigen Antworten eignen sich hervorragend für die Offline-Suche. Aber wir sind online. Öffnen Sie also die Debian-Codesuche und versuchen Sie eine der Beleidigungen hier . Es sagt dir sofort, dass es drin ist
sudo_1.8.12-1/plugins/sudoers/ins_csops.h
. Dies hat den Vorteil, dass Sie es überall finden,/etc
egal ob es sich um eine Konfigurationsdatei handelt, in der es implementiert werden soll, oder in welcher Form auch immer. Und da es sich um eine .h-Datei handelt, ist sie in der Quelle sichtbar und kann nicht geändert werden.quelle
Um die anderen Antworten zu ergänzen, scheinen sich die Beleidigungen im
.rodata
Abschnitt von sudoers.so zu befinden. Mit können Sieobjcopy
die Ausgabe etwas einschränken, obwohl es immer noch viele False Positives geben wird:quelle
strings
statt verwendenobjcopy
? :)objcopy | strings
, nur den.rodata
Ausschnitt des Textsegments zu scannen . Was Fehlalarme reduziert , ist die minimale Stringlänge von der Standard - 4 erhöht bis zu so etwas wie 10:strings -n10
. Und leiten Sie inless
, nichthead
, IMO. Alle Beleidigungen scheinen zusammenhängend zu sein, übrigens.strings
wurde er bereits verwendet.