Dla tych, którzy lubią humor, sudo
można skonfigurować drukowanie losowej mniej lub bardziej obraźliwej lub śmiesznej frazy zamiast neutralnej Sorry, try again.
, dodając poniższy wiersz do /etc/sudoers
(używając polecenia sudo visudo
, nie edytując ręcznie!):
Defaults insults
Oto kilka przykładów:
[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!
Teraz dla zabawy chciałbym je wszystkie przeczytać, ale wpisywanie niewłaściwych haseł przez cały dzień nie jest tak naprawdę najlepszą metodą (opóźnienie po każdej próbie, tylko 2 wiadomości na 3 próby, przerwanie po 3 próbach ...).
Więc ... gdzie faktycznie są przechowywane te obelgi? Jakiś plik tekstowy, który mogę bezpośrednio odczytać? Lub na stałe napisane w kodzie źródłowym?
Jak mogę uzyskać listę wszystkich dostępnych sudo
wiadomości obrażających?
strings /usr/lib/sudo/sudoers.so
strings
nie powie ci, czy wszystkie obelgi są równe. Czytanie rzeczywistego źródła może ujawnić, czy pewne kryteria wpływają na wybór zniewagi.Z
możemy wyszukać, które pliki z pakietu
sudo
zawierają słowodumber
.Jedyne dopasowanie znajduje się w pliku
/usr/lib/sudo/sudoers.so
. Jest to plik binarny, więc używamy tegostrings
polecenia, aby uzyskać tylko to, co wygląda na czytelne dla człowieka. Ponieważ jest wiele, dzielimy wynik naless
:W
less
możemy użyćponownie wyszukać słowo „głupszy”. To prowadzi nas bezpośrednio do obelg. Przewiń w górę i w dół za pomocą klawiszy kursora i wyjdź za pomocąq
źródło
strings -n10
do zmniejszania liczby fałszywych trafień. Zobacz także odpowiedź @ DigitalTrauma, która używa objcopy do zasilania tylko.rodata
sekcjistrings
, ponownie redukując hałas.Lista wszystkich zniewag
Kiedy patrzymy na wszystkie obelgi, odkrywamy interesującą ciekawostkę: mówienie brokułów jest poprawne politycznie, ale mówienie Burrito nie. Wszystkie obelgi wymieniono poniżej.
ins_2001.h
(2001 Space Odyssey obraża):ins_classic.h
(Oryginalne obelgi w Sudo 8):ins_csops.h
(Obelgi CSOps):ins_goons.h
(Obelgi Goon Show):Plik
insults.h
zawiera instrukcje kompilatora, które z powyższych zniewag należy uwzględnić w skompilowanym jądrze. Rzeczywiście, możesz stworzyć swój własny plik zniewag, dodać nazwę do insults.h i ponownie skompilować, aby mieć wiadomości typu „Co, jesteś użytkownikiem ArchLinux?” lub „To nie jest Windows, w którym błędy są powszechne!” itp.Zwróć uwagę
#ifdef PC_INSULTS
na niektóre z plików obrażeń. Nie oznacza to „jeśli masz komputer osobisty”, to znaczy „jeśli chcesz być politycznie poprawny”.źródło
Powyższe odpowiedzi świetnie nadają się do wyszukiwania offline. Ale jesteśmy online. Więc otwórz wyszukiwanie kodu Debiana i wypróbuj jedną z obelg tutaj . Od razu mówi ci, że jest w środku
sudo_1.8.12-1/plugins/sudoers/ins_csops.h
. Ma to tę zaletę, że można go znaleźć wszędzie,/etc
niezależnie od tego, czy jest to plik konfiguracyjny do wdrożenia, czy cokolwiek innego. A ponieważ jest to plik .h, jest widoczny w źródle i nie można go modyfikować.źródło
Aby dodać do innych odpowiedzi, zniewagi wydają się znajdować w
.rodata
sekcji sudoers.so. Możesz użyć,objcopy
aby nieco ograniczyć wynik, chociaż nadal będzie wiele fałszywych trafień:źródło
strings
zamiast tegoobjcopy
? :)objcopy | strings
, aby skanować tylko.rodata
fragment segmentu tekstowego. Co zmniejsza liczbę fałszywych alarmów jest zwiększenie minimalnej długości strun z domyślnie 4 do czegoś jak 10:strings -n10
. I rura naless
niehead
, IMO. Wszystkie obelgi wydają się być ciągłe, BTW.strings
został już użyty.