왜 sudo라고 불리는가?


30

sudo터미널 명령을 관리자로 수행하는 데 왜 사용 합니까? 왜 admin그렇지 않은가? 이유가 sudo있습니까?


19
읽기 sudo ls"수행 수퍼 유저로 ls"(그리고, 그것은 바보, 니모닉 명령을 기억에 중요한 아니에요) "(도없고, 아마 그 의미 마녀 U의 SER과 점을 감안 su수단이 사용자를 전환하지만 전 좋은를 찾을 수 있습니다.; -))
Rmano

1
관리자보다 훨씬 더 수퍼 유저 :) 답장을 보내 주셔서 감사합니다.
Mohammad

2
당신이하는 것은 sudo 부두입니다. :)
Shadur

14
재미있는 사실 : 이탈리아어 sudo(I) 땀을 의미 합니다. 나는 잘못된 명령을 내리고 모든 데이터를 지우는 것에 대한 두려움sudo X 때문에 땀을 흘리는 것으로 해석 하고 싶다 . 이것은 sudo1) 필요한 경우에만 명령 앞에 추가해야 함을 명심하는 데 도움이됩니다. 2) 수행중인 작업을 알고 있습니다. 3) 오타를 피하기 위해 명령 줄을주의 깊게 작성하고 읽었습니다 (특히 어려운 공백) 캐치하고 예상치 못한 결과를 초래할 수 있습니다).
Bakuriu

2
@Rmano는 su 원래 “슈퍼 유저”를 의미 했으며“대체 사용자”는 나중에 왔습니다 .
Gilles 'SO- 악마 그만해'

답변:


32

에서 위키 백과 :

sudo는 사용자가 다른 사용자 (일반적으로 수퍼 유저 또는 루트)의 보안 권한으로 프로그램을 실행할 수있게하는 Unix와 유사한 컴퓨터 운영 체제 용 프로그램입니다. 이름은 "su"(대체 사용자)와 "do"를 연결하거나 조치를 취합니다.

su 명령과 달리 사용자는 일반적으로 루트 암호 대신 sudo에 고유 한 암호를 제공합니다. 인증 후 / usr / local / etc / sudoers (때로는 / etc / sudoers에 있음) 구성 파일이 사용자 액세스를 허용하면 시스템은 요청 된 명령을 호출합니다. sudoers 구성 파일은 다음을 포함하지만 이에 국한되지 않는 방대한 구성 기능을 가능하게합니다. 호출 터미널에서만 루트 명령 사용; 특정 명령에 암호가 필요하지 않습니다. 사용자 또는 그룹당 암호가 필요합니다. 매번 암호를 다시 입력하거나 특정 명령 줄에 암호를 전혀 요구하지 않습니다. 또한 인수 또는 여러 명령을 전달하도록 구성 할 수 있으며 정규식이있는 명령도 지원합니다.

직접 루트 로그인없이 수퍼 유저 (관리자) 권한이있는 임시 일회성 명령입니다.


11
위키 부분이 정확합니다. "Mac is Su"에 대한 의견이 올바르지 않습니다. Mac은 BSD와 Linux처럼 sudo, 및 을 모두 가지고 있습니다 su.
daviewales

@Virusboy 안녕하세요,이 주제에서 시도하여 죄송합니다. 그러나 Toshiba M840 i3-3110M과 함께 우분투 14.04를 사용하기가 쉽습니까? 고맙습니다.

모든 PC에서 쉽게
Virusboy

21

xkcd : 샌드위치

sudo 이전 에는 대부분의 관리자가 모든 권한을 가지고 있으므로 시스템을 쉽게 구성 할 수 있으므로 루트 사용자로 로그인했습니다. 그러나 작은 실수잘못된 인터넷 링크 및 전체 시스템이 영향을 받거나 심지어 손상 될 수 있습니다.

이 문제로 인해 sudo가 나타났습니다 . 목표는 단기간 동안 그리고 필요할 때만 관리 권한을 사용하는 것이 었습니다. 또한 사용자가 다른 계정에 로그인하지 않아도됩니다. 이것은 분명히 시스템 안전을 강화할 것 입니다.

아래 우분투 , 그들은 당신의 시스템의 안전을 향상시키기 위해 선택합니다. 그래서 그들은 '스도'방식을 따르기로 결정했습니다. 루트 사용자는 비활성화되어 있습니다. 이를 필요로하지 않으며, 특히 사용자가 루트 사용자와 X 인터페이스를 통해 로그인 할 위험이 없습니다. 또한 권한이있는 사용자를 위해 모든 명령을 sudo로 시작하도록 허용했습니다. 멋진 점은 파워 유저가 루트 계정에 액세스 할 수 있다는 것입니다.

단점 sudo:

  • sudo를 통해 허용 할 명령
  • 관리자 권한이 필요한 모든 명령 을 작성 sudo하기 전에 작성해야합니다
  • 암호다시 입력 해야하는 경우가 종종 있습니다 .

무슨 sudo뜻입니까? 이름은 "su"(대체 사용자)와 "do"의 연결입니다.

sudo안돼 admin? 나는 특정 시간과 필요할 때만 sudo의미 한다고 생각 admin합니다.

Windows 환경에서 오는 사람들은 왜 그것이 아닌지 이해해야합니다 admin :)

참조 : 사이트
사진 : xkcd


왜로도라고 불리지 않습니까?
JamesRyan

3
“sudo 전”단락이 잘못되었습니다. 사이에는 차이가 없다 su그리고 sudo이 점에서, 인증 정보가 사용되는 두 가지 사이의 유일한 차이점. 보다 안전하지 않은 sudo것보다는 사용 하는 것 su(실제로는 다소 덜 안전합니다); sudo의 주요 이점 (및 Ubuntu가 선택한 이유)은 사용자에게 단순함 (암호 하나만 기억)입니다.
Gilles 'SO- 악마 그만해'

11

Linux Foundation 제품인 Linux.com에서 :

Sudo는 " 대체 사용자 수행 "또는 " 슈퍼 사용자 수행 "을 나타냅니다 (보고 싶은 방식에 따라 다름). sudo가하는 일은 많은 Linux 배포판에서 매우 중요하고 중요합니다. 실제로 sudo를 사용하면 사용자가 다른 사용자 (대부분 루트 사용자)로 프로그램을 실행할 수 있습니다.

[Emphasis mine.] 소스


3

수퍼 유저

수퍼 유저가되기위한 su 명령이 있으므로

$ su
# apt-get install somehorror
# exit
$

sudo를 사용하면 한 번에 그렇게 할 수 있으며 마법의 힘을 포기할 필요가 없습니다.

$ sudo apt-get install somehorror

2
su( "대체 사용자")를 사용하면 모든 사용자 가 될 수 있습니다. 사용자 이름을 인수로 지정할 수 있습니다.
David Richerby

1
실제로이 둘은 정확히 같지는 않지만 대부분의 경우 비슷합니다. 그러나 sudo는 주로 수퍼 유저 권한으로 프로그램을 실행할 수 있지만 일반적인 환경은 동일하게 유지합니다. su는 실제로 수퍼 유저 환경을 통해 수퍼 유저가됩니다.
Marty Fried

3

"관리자"가 아닌 이유 또는 더 간접적으로 su가 "switchUser"가 아닌 이유와 관련하여 전통적인 유닉스 명령은 유닉스의 기원과 관련된 역사적 이유로 최소 약어 인 경향이 있습니다.

가장 기본적인 이유로 우리는 처음에 Unix라고하는 것과 같은 이유로 돌아 가야합니다. Unix의 많은 부분은 초기 다중 사용자 멀티 태스킹 운영 체제 중 하나 인 MIT의 Multics에서 영감을 받았습니다. (유닉스는 요청한 사람과 그 순간의 분위기에 따라 "Multics의 단수형"또는 "castrated Multics"의 이름을 갖습니다.)

Multics의 다른 혁신 중에서도 실제 파일 위치를 디렉토리 정보와 분리하여 단일 파일에 여러 이름을 지정할 수있는 개념을 도입했습니다. (유닉스 용어로 "링크".) Multics는 이것을 (과도하게) 완전히 활용했습니다. 대부분의 Multics 명령에는 ALongNameThatIsImpossibleToType과 ASNTOECR (전문가 만 기억할 수있는 짧은 이름)이 모두 있습니다. 경험에 의하면, 긴 이름은 실제로 모든 사용자가 "전문가"가되거나 그 이름을 사용한 사람이 거의 없었기 때문에 현실적으로 많은 사용자 친 화성을 더하지는 않는 것으로 나타났습니다. Unix가 Multics의 디자인 중 일부를 채택했을 때 단순화 된 것 중 하나는 사용하지 않는 긴 이름을 버리고 전문가에게 친숙한 짧은 이름 만 유지하는 것이 었습니다.

또한 운영 체제 및 핵심 명령 세트를 필수 요소로 축소하여 소규모 시스템에서 효율적으로 실행할 수 있도록하는 Unix 철학에 잘 맞습니다. 당시 프로그래머들은 여전히 ​​모든 바이트와 사이클을 보존하고있었습니다. 프로세서는 엄청나게 느리고 터미널 속도도 엄청 느려졌으며 메모리는 엄청나게 비싸고 (더 느리며, 작은 캐시가있는 경우도)있었습니다. 시스템 명령을 최소 길이로 유지하면 실제로 실제 리소스를 많이 절약 할 수는 없지만 시간의 마음가짐에 따라 "충분한"효과를 얻을 수 있습니다.

사용자에게 친숙한 명령 이름을 고집한다면 Unix의 대답은 "쉘 스크립트 작성 방법을 알고 있습니다. 직접 구현하십시오. 쉘 스크립트 작성 방법을 모른다면 어떻게해야하는지 알아야합니다." 학습이나 코딩이 마음에 들지 않으면 유닉스에 만족하지 못하고 다른 것을 사용해야합니다. "


3

" 슈퍼 유저 "가 su 원래 파생 된 것이 든 , 사용자 이름은 수퍼 유저 일 필요가 없기 때문에 정확하지 않습니다. 를 사용하여 다른 사용자로 명령을 실행하기위한 Ditto sudo -u.

" 대체 사용자 "가 더 정확하지만 울퉁불퉁하게 들립니다. 대체 교사를 생각하게합니다.

따라서 나는 su단순히 "사용자 전환"과 sudo"사용자 전환 및 수행" 으로 생각하는 것을 선호합니다 .


1
항상 수퍼 유저이지만, 사용자의 소리를 더 잘 대체
BeyondProgrammer

1

로부터 도우 웹 사이트 :

"수도 란?

Sudo (su "do")를 사용하면 시스템 관리자는 특정 사용자 (또는 사용자 그룹)에게 명령 및 인수에 대한 감사 추적을 제공하면서 일부 (또는 모든) 명령을 루트 또는 다른 사용자로 실행할 수있는 권한을 위임 할 수 있습니다. "

"Sudo는 1980 년에 SUNY / Buffalo의 컴퓨터 공학부에서 Bob Coggeshall과 Cliff Spencer가 처음으로 구현하고 구현했습니다. 4.1BSD를 실행하는 VAX-11 / 750에서 실행되었습니다. , Gretchen Phillips, John LoVerso 및 Don Gworek은 1985 년 12 월 net.sources Usenet 뉴스 그룹에 게시되었습니다. "

즉, 나는 어떤 증거가 있다고 믿지 않지만, 그 이름은 일종의 괴짜 프로그래머 농담이라고 항상 믿었습니다. "su"(수퍼 유저) "do"명령이 있지만 실제로는 수퍼 유저가 아닙니다. "doo"를 "doh"로 바꾸고 "sudo"모양은 "pseudo"와 유사합니다 (가짜) , 가짜).


-2

대부분의 사람들은 그것이 "슈퍼 사용자가하는 것"의 매시업이라는 답을주었습니다. 나는 이것을 좋아하지만 -u 플래그와 같이 "할 사용자"를 선택할 수 있기 때문에 "대체 사용자가 수행하는"매시업이라고 말하는 것이 더 정확할 수 있습니다.

또한 루트 단어 나 -u 플래그를 사용하는 다른 사용자 인 것처럼 가장 할 수 있기 때문에 가명 (psuedonym) 이라는 단어를 사용한 것으로 생각합니다.


3
글쎄요, 질문은 왜 그것이
백론

또한 기본 대상 사용자 일 필요는 없습니다 root(단, uid 0을 가진 사용자이거나 적어도 uid 0 인 것이 일반적이지만 그럴 수도 있지만) runas_defaultin을 참조하십시오 sudoers.
Stéphane Chazelas

"백론"을 사용하고 잘못된 답변으로부터 사이트를 깨끗하게 유지하기위한 @derobert +1.
컵 3

@sch 덕분에, 나는 그것을 몰랐다.
3 개의 컵
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.