ユーモアが好きな人は、Sorry, try again.
に以下の行を追加することで、中立の/etc/sudoers
の代わりに多かれ少なかれrandom辱的またはおかしなフレーズをランダムに出力するようにSudo
を設定できます(コマンドSudo visudo
、手動で編集しない!):
Defaults insults
ここではいくつかの例を示します。
[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!
今は楽しみのためにそれらすべてを読みたいと思っていますが、間違ったパスワードを終日入力することは本当に最善の方法ではありません(各試行の後に遅延、3回の試行ごとに2つのメッセージのみ、3回の試行後に中止、...)。
だから...これらのin辱は実際にどこに保存されていますか?直接読むことができるプレーンテキストファイルはありますか?または、ソースコードにハードコードされた文字列がありますか?
利用可能なすべてのSudo
s辱メッセージのリストを取得するにはどうすればよいですか?
それらはバイナリファイルにあります
/usr/lib/Sudo/sudoers.so
(発見者:find /usr/lib/Sudo -type f | xargs grep "fallen in the water"
)
ソースのダウンロードを有効にして
apt source Sudo
ソースディレクトリ内のin辱ファイルを見つけることができます
plugins/sudoers
ファイルは
ins_2001.h
ins_classic.h
ins_csops.h
ins_goons.h
insults.h
これらのファイルがどのように見えるかの例:
#ifndef SUDOERS_INS_GOONS_H
#define SUDOERS_INS_GOONS_H
/*
* Insults from the "Goon Show."
*/
"You silly, twisted boy you.",
"He has fallen in the water!",
"We'll all be murdered in our beds!",
"You can't come in. Our tiger has got flu",
など...彼らは非常に読みやすいです。
と
dpkg -L Sudo | xargs grep dumber
パッケージSudo
のどのファイルにWord dumber
が含まれているかを検索できます。
唯一の一致はファイル/usr/lib/Sudo/sudoers.so
にあります。これはバイナリファイルなので、strings
コマンドを使用して、人間が読めるように見えるものだけを取得します。たくさんあるので、結果をless
にパイプします。
strings /usr/lib/Sudo/sudoers.so | less
less
で使用できます
/dumber
「dumber」という単語を再度検索します。それはus辱に私たちを正しくします。カーソルキーで上下にスクロールして、終了します q
すべてのin辱を見ると、ブロッコリーは政治的に正しいが、ブリトーはそうではないと言っているという興味深い情報があります。すべてのin辱を以下に示します。
ins_2001.h
(2001年の宇宙オデッセイのin辱):.
/*
* HAL insults (paraphrased) from 2001.
*/
"Just what do you think you're doing Dave?",
"It can only be attributed to human error.",
"That's something I cannot allow to happen.",
"My mind is going. I can feel it.",
"Sorry about this, I know it's a bit silly.",
"Take a stress pill and think things over.",
"This mission is too important for me to allow you to jeopardize it.",
"I feel much better now.",
ins_classic.h
(元のSudo 8のult辱): /*
* Insults from the original Sudo(8).
*/
"Wrong! You cheating scum!",
#ifdef PC_INSULTS
"And you call yourself a Rocket Scientist!",
#else
"No soap, honkie-lips.",
#endif
"Where did you learn to type?",
"Are you on drugs?",
"My pet ferret can type better than you!",
"You type like i drive.",
"Do you think like you type?",
"Your mind just hasn't been the same since the electro-shock, has it?",
ins_csops.h
(CSOpsによるult辱): /*
* CSOps insults (may be site dependent).
*/
"Maybe if you used more than just two fingers...",
"BOB says: You seem to have forgotten your passwd, enter another!",
"stty: unknown mode: doofus",
"I can't hear you -- I'm using the scrambler.",
"The more you drive -- the dumber you get.",
#ifdef PC_INSULTS
"Listen, broccoli brains, I don't have time to listen to this trash.",
#else
"Listen, burrito brains, I don't have time to listen to this trash.",
#endif
"I've seen penguins that can type better than that.",
"Have you considered trying to match wits with a rutabaga?",
"You speak an infinite deal of nothing",
ins_goons.h
(Goon Showのs辱):.
/*
* Insults from the "Goon Show."
*/
"You silly, twisted boy you.",
"He has fallen in the water!",
"We'll all be murdered in our beds!",
"You can't come in. Our tiger has got flu",
"I don't wish to know that.",
"What, what, what, what, what, what, what, what, what, what?",
"You can't get the wood, you know.",
"You'll starve!",
"... and it used to be so popular...",
"Pauses for audience applause, not a sausage",
"Hold it up to the light --- not a brain in sight!",
"Have a gorilla...",
"There must be cure for it!",
"There's a lot of it about, you know.",
"You do that again and see what happens...",
"Ying Tong Iddle I Po",
"Harm can come to a young lad like that!",
"And with that remarks folks, the case of the Crown vs yourself was proven.",
"Speak English you fool --- there are no subtitles in this scene.",
"You gotta go owwwww!",
"I have been called worse.",
"It's only your Word against mine.",
"I think ... err ... I think ... I think I'll go home",
ファイルinsults.h
には、上記のin辱がコンパイルされたカーネルに含めるコンパイラ命令が含まれています。実際、独自のin辱ファイルを作成し、名前をinsults.hに追加し、「ArchLinuxユーザーは何ですか?」などのメッセージを表示するように再コンパイルできます。または「これはエラーが一般的なWindowsではない!」など.
いくつかのin辱ファイルの#ifdef PC_INSULTS
に注意してください。これは「パソコンを持っている場合」という意味ではなく、「政治的に正しいことをしたい場合」という意味です。
上記の回答は、オフライン検索に最適です。しかし、私たちはオンラインです。 Debianコード検索 を開き、one辱の1つ here を試してください。 Sudo_1.8.12-1/plugins/sudoers/ins_csops.h
にあることがすぐにわかります。これには、/etc
などで展開される構成ファイルであってもあらゆる場所で検索できるという利点があります。また、.hファイルであるため、ソースに表示され、変更できるものではありません。
他の回答に追加するために、in辱はsudoers.soの.rodata
セクションにあるように見えます。 objcopy
を使用して出力を多少制限できますが、依然として多くの誤検知があります。
$ objcopy /usr/lib/Sudo/sudoers.so /dev/null --dump-section .rodata=/dev/stdout | strings | head
/build/Sudo-g3ghsu/Sudo-1.8.16/plugins/sudoers/auth/Sudo_auth.c
invalid authentication methods
Invalid authentication methods compiled into Sudo! You may not mix standalone and non-standalone authentication.
There are no authentication methods compiled into Sudo! If you want to turn off authentication, use the --disable-authentication configure option.
Unable to initialize authentication methods.
Just what do you think you're doing Dave?
It can only be attributed to human error.
That's something I cannot allow to happen.
My mind is going. I can feel it.
Sorry about this, I know it's a bit silly.
$