힘내라 일처리

SU, SUDO 약자가 뭐지? su의 숨겨진 비밀 super user, substitute user, 리눅스 본문

알아보기

SU, SUDO 약자가 뭐지? su의 숨겨진 비밀 super user, substitute user, 리눅스

일처리 2020. 6. 27. 03:38
반응형

카톡방에서 채팅을 하다가 나온 주제입니다.

sudo와 su 리눅스를 하다보면 자주쓰기도 하고 su는 언젠가는 써보게 되는 그런 명령어 들입니다.

구글에 물어보면?

그런데 sudo의 어원은 여러곳에서 다 다르게 이야기가 나옵니다.

https://endjin.com/blog/2013/07/what-does-sudo-mean

 

What does sudo mean? | endjin

I've always wondered what sudo means when I use it to run a command in a terminal.

endjin.com

이 링크에서는 sudo <- Super User DO 의 약자로 소개가 되었구요,

Switch User DO 로 소개가 된곳도 있습니다.

 

약자도 얼추 맞는거 같고, 어느게 정말 맞는걸까요? 

 

저는 우선 sudo의 앞의 su는 su와 서로 동일하다고 가정하고 su의 의미를 알아보기로 했습니다.

SU(1)                                               User Commands                                               SU(1)

NAME
       su - run a command with substitute user and group ID

SYNOPSIS
       su [options] [-] [user [argument...]]

DESCRIPTION
       su allows to run commands with a substitute user and group ID.

man su 를 입력하면 나오는 내용입니다. 여기서는 substitute user 라고 되어 있네요 저는 우분투 배포판에서 실행한 명령이기 때문에 혹시 최초 개발된 UNIX에서는 다른 의미가 아닐까 의문이 들었습니다.

 

http://web.cuzuco.com/~cuzuco/v7/v7vol1.pdf

위의 pdf파일에서 UNIX시절의 su 의 의미를 찾아 보았을때는 동일하게 substitute user의 약자였습니다.

1979년의 UNIX문서에서도 su가 substitute user의 약자 인듯 하네요 이쯤되면 sudo 는 Substitute User DO 의 약자가 맞다고 생각해도 될 것 같습니다.

 

 

하지만.....

 

 

너무 섣부른 결론이 었던거 같습니다. 애런 토폰스의 2009년도 글인  "The meaning of su" 의 글을 읽어보면 다음과 같은 내용이 있습니다.

 

I found some old Unix source code, where su.c was available.

 

오래된 유닉스의 su.c 소스코드에는 su 에 대한 주석이 한줄 적혀 있는데 su -- become super-user 라는 내용입니다.

즉, su를 처음 개발 시 데니스 리치와 캔 톰슨은 su를 super user 계정으로 변경하는 기능을 목적으로 한듯합니다.

해당 소스코드에서 setuid의 id 값이 0으로 하드코딩 되어 있는 것도 이때문 이겠지요.

 

하지만 unix의 기능의 개발이 진행이 되면서, su 의 기능은 단순히 super user로의 전환이 아니라, 다양한 유저로의 전환으로 바뀌게 되며 의미를 바꾸게 되었다고 생각합니다.

 

결론은 su 의 최초 개발 시에는 Super User 이었다가, 개발이 진행이 되면서 기능이 확장이 되고 그 의미를 표현하기 위해 Substitute User 로 바뀌게 된것입니다.

 

공식적으로는 Substitute User가 맞을 수도 있지만 원래의 의도를 고려한다면 Super User도 틀린것은 아닙니다.

 

솔직히 저는 Substitute User 보다는 Super User를 지지하고 싶습니다. 서브스티튜트 발음보다는 슈퍼가 더 낫죠...

뜻만 통하면 되죠... 

반응형
Comments