sudo의 모욕은 어디에 저장됩니까?


234

유머를 좋아하는 사람들을 위해, sudo대신 중립의 임의 다소 모욕적이거나 재미있는 문구를 인쇄하도록 구성 할 수 있습니다 Sorry, try again.에 아래 라인을 추가하여 /etc/sudoers(명령을 사용하여 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 시도 시도 중단 ...).

그래서 ...이 모욕들은 실제로 어디에 저장되어 있습니까? 직접 읽을 수있는 일반 텍스트 파일이 있습니까? 아니면 소스 코드에 하드 코딩 된 문자열이 있습니까?

사용 가능한 모든 sudo모욕 메시지 목록을 얻으려면 어떻게 해야합니까?

답변:


181

그들은 이진 파일에 있습니다

/usr/lib/sudo/sudoers.so

(에 의해 발견 find /usr/lib/sudo -type f | xargs grep "fallen in the water")

소스 다운로드를 사용하도록 설정 한 경우

apt source sudo

소스 디렉토리에서 모욕 파일을 찾을 수 있습니다.

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",

등등 ... 그들은 꽤 읽을 수 있습니다.


24
Zanna가 sudoers에 있다고 말 했으므로 소스 코드 대신 문자열을 사용하여 "읽을"수도 있습니다. 이것을 실행하십시오 : strings /usr/lib/sudo/sudoers.so
Stéphane

3
@ Stéphane 그것은 사실이지만 strings모든 모욕이 같은지 말해주지는 않습니다. 실제 출처를 읽으면 특정 기준이 모욕의 선택에 영향을 미치는지 알 수 있습니다.
kasperd

3
@ Stéphane Plus 실행 파일 에서 문자열 을 실행하면 엄청나게 많은 오 탐지가 발생합니다.
MariusMatutiae


7
내가 난폭자 쇼 모욕을 볼 때까지 나는 어떤 시점에서 내가 충분히 빨리 키가 아닌 수, 실제로이 작업을 수행하지 않을했다
JamesENL

77

dpkg -L sudo | xargs grep dumber

패키지 sudo에서 단어를 포함 하는 파일을 검색 할 수 있습니다 dumber.

유일한 일치는 file /usr/lib/sudo/sudoers.so입니다. 이것은 바이너리 파일이므로 strings명령을 사용하여 사람이 읽을 수있는 것만 가져옵니다. 그것이 많기 때문에 결과를 less다음과 같이 파이프합니다 .

strings /usr/lib/sudo/sudoers.so | less

년을 less우리가 사용할 수 있습니다

/dumber

"dumber"라는 단어를 다시 검색합니다. 그것은 우리를 모욕에 빠뜨립니다. 커서 키로 위아래로 스크롤하고q


6
이러한 종류의 질문에 대한 답변을 쉽게 찾을 수있는 일반적인 기술을 보여주었습니다.
200_success

1
strings -n10오 탐지를 줄이기 위해 사용 합니다. objcopy를 사용하여 섹션 만 피드 하여 노이즈를 줄이는 @DigitalTrauma의 답변 도 참조하십시오 . .rodatastrings
Peter Cordes

76

모든 모욕 목록

모든 모욕을 살펴보면 흥미로운 브로 비트를 발견 할 수 있습니다. 브로콜리를 말하는 것은 정치적으로 정확하지만 부리또를 말하는 것은 그렇지 않습니다. 모든 모욕은 다음과 같습니다.

ins_2001.h (2001 스페이스 오디세이 모욕) :

.
    /*
     * 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 모욕) :

    /*
     * 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 모욕) :

    /*
     * 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 (군 쇼 모욕) :

.
    /*
     * 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에는 위의 내용 중 컴파일 된 커널에 포함되어야하는 컴파일러 명령어가 들어 있습니다. 실제로, 당신은 자신의 모욕 파일을 만들고, insults.h에 이름을 추가하고, "What, 당신은 ArchLinux 사용자입니까?"와 같은 메시지를 갖도록 재 컴파일 할 수 있습니다. 또는 "오류가 흔한 Windows가 아닙니다!"등

주목 #ifdef PC_INSULTS모욕 파일의 일부. 이것은 "개인용 컴퓨터가있는 경우"를 의미하는 것이 아니라 "정치적으로 올바른 경우"를 의미합니다.


46
나는 "브로콜리"가 "부리 토"보다 정치적으로 더 정확한 것으로 생각되지 않았다.
푹신한

9
@fluffy 나는 그것이 국가식이 요법을 가진 사람들에게 burrito 's를 포함한다고 가정합니다. 이제 코드를 검열하지 않는 것이 유감입니다. PC_INSULT 옵션 만 사용하고 나머지 절반은 삭제해야합니다. 반면에 나는 Tom Sawyer와 같은 책과 같은 역사의 검열을 좋아하지 않습니다. 이러한 모욕은 2004 년부터 시작되었으므로 #ifdef 섹션을 제거하면 검열 기록에 유죄가됩니다.
WinEunuuchs2Unix

7
우리가 지금 사용해야하는 용어에 대해 이야기 할 때 "검열 이력"에 대해 너무 걱정하지 마십시오. 나는 40 년 전에 인종적으로 모욕하고, 성 차별적 인 말을했던 많은 단어들을 생각할 수 있습니다. 나는 역사적 맥락에서 그것들을 언급하게되어 기쁘지만, 신 사회가이 용어들 중 많은 부분에서 해를 입히고 피해를 입힌 것에 감사합니다. . 예, 원하는 경우 정치적으로 정확한 정보를 알려주십시오. 먼저 말로 상처받는 가난한 소수 민족에 속하십시오.
Michael Durrant

4
PC 정확성에는 끝이 없습니다. 예를 들어 페루에서는 브로콜리가 PC가되지 않을 것입니다.
Shautieh

17
미국 이외의 대부분의 사람들과 아마도 미국의 일부 사람들은 이것을 "분명한 인종 비방"으로 보지 않을 것입니다. 나에게,이 의도적 인 모욕 목록을 작성한 사람 (기능 이름입니다!)이 실제로 특정 사람들이 실제로 기분을 상하게하는 것에 관심을 가졌다는 것이 유감 스럽 습니다 ... 끝이 없으며, 정말로 걱정된다면이 기능을 사용하지 마십시오. ...?!
웃음

11

위의 답변은 오프라인 검색에 적합합니다. 그러나 우리는 온라인 상태입니다. 데비안 코드 검색을 열고 여기 에서 모욕 중 하나를 시도 하십시오 . 에 있음을 즉시 알려줍니다 sudo_1.8.12-1/plugins/sudoers/ins_csops.h. 이는 배치 할 구성 파일 또는 그 밖의 모든 위치 에서 찾을 수 있다는 이점이 있습니다 /etc. 그리고 .h 파일이기 때문에 소스에 있으며 수정할 수있는 것이 아닙니다.


7

다른 답변에 추가하기 위해 모욕 .rodata은 sudoers.so 섹션에있는 것으로 보입니다. 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.
$ 

많은 오 탐지를 용인 할 수 있다면 왜 strings대신에 사용 하지 objcopy않겠습니까? :)
Ruslan

@Ruslan : 텍스트 세그먼트 objcopy | strings.rodata섹션 만 스캔하는 것은 이미입니다 . 오 탐지를 줄이는 것은 최소 문자열 길이를 기본값 4에서 10 :까지 늘리는 것 strings -n10입니다. 그리고 IMO가 less아닌 으로 파이프하십시오 head. 모든 모욕은 연속적인 것으로 보입니다. BTW.
Peter Cordes

아, 나는 코드가 스크롤되지 않았고 strings이미 사용 된 것을 보았다 .
Ruslan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.