root (r20180326판)

문서 조회수 확인중...

  프로게임단에 대해서는 ROOT Gaming 문서를, 그 외 다른 루트에 대해서는 루트 문서를 참조하십시오.

  'Administrator'은 여기로 연결됩니다. '관리자'라는 뜻의 영어 일반명사 'administrator'에 대해서는 관리자 문서를 참조하십시오.

1. 개요
2. 특징
3. 유사표현


1. 개요


리눅스macOS와 같은 유닉스 계열의 운영체제에서 모든 권한을 가지고 있는 최고 관리자가 사용하는 ID를 의미하며, 최고 관리자인 사람 자체를 가리키기도 한다. User ID 번호는 0번. 유닉스 계열의 모든 운영체제에는 이 root유저가 존재한다. macOS, 우분투처럼 root 계정을 기본 상태에서 사용할 수 없게 만든 경우라도 별도 옵션을 통해 활성화할 수 있으며, 이 root 계정이 없는 경우는 절대로 없다.

2. 특징


최고 관리자 root의 권력은 정말로 절대적인 존재이기 때문에 해당 운영체제모든 것을 제어할 권리를 가지게 된다. 여기서 말하는 모든 것에는 시스템을 파괴할 권한을 포함한다. 그것이 실수든 고의든 해킹이든간에.
그렇기 때문에 일반적인 리눅스 운영체제에서는 기본적으로 컴퓨터 주인의 계정 또한 root보다 권한이 낮은 일반 사용자로 만들어지며, 시스템 관리 작업 등을 할 때에는 sudo 라는 명령을 사용해서 임시 root권한을 얻도록 되어 있다. OS X의 경우에는 root 권한이 필요한 작업을 하기 전에 패스워드를 물어보는데 이건 sudo커맨드에 GUI를 붙인 gsudo커맨드이다.
참고로 sudo에 명령어 대신 쉘을 집어넣으면 사용하면 루트쉘로 진입할 수 있는데 이 루트쉘을 띄우는 것이 해커들의 궁극적 목표이기도 하다. 일단 루트쉘의 # 프롬프트(일반 사용자는 보통 $ 프롬프트)를 띄운 순간부터 해당 컴퓨터는 사용자의 명령에 절대복종한다. 자살하라는 명령까지 군말 않고 따른다. 단 이렇게 root권한을 획득했다고 하더라도 해당 컴퓨터를 장악한 것이지 해당 컴퓨터가 속해 있는 네트워크를 장악한 것은 아니다. 네트워크를 장악하려면 라우터를 해킹해야 한다.
언뜻 보면 운영체제가 실제 주인인 당신의 권한을 제한하는 하극상을 연출하는 것처럼 보이지만, 이는 안전과 보안을 위한 조치이다. 시스템 설정을 변경해서 항상 root상태로 있을 수는 있는데 위험하다. 예를 들어 rm -rf /를 일반 사용자 계정에서 실행하면 권한 없음 에러를 내면서 시스템이 거부하지만 root계정일 경우에는 묻지도 따지지도 않고 실행해버릴 수 있다.[1]
Windows의 경우 Administrator 그룹 계정이 명목상 여기에 해당되나, Administrator가 아니면 그야말로 아무 것도 할 수 없기 때문에 Administrator를 안 쓰는 사람이 없다시피 했으며[2], 따라서 실제로는 사용자 계정이 곧 root 계정이나 마찬가지였다. Windows 구성 자체가 모든 사용자들과 금고 열쇠를 공유하고 있었던 셈. 이 문제는 UACWindows Vista 때 도입되면서 해결되었으나, 그나마도 Windows XP에 길들여진 유저들은 UAC 기능을 끄고 사용하기도 했지만, Windows 7에서 일부 개선이 되고 Windows 8에서 완전히 끄지 못하도록 변경되면서 끄고 사용하는 사용자는 거의 없어졌다.
Administrator 계정 말고는 SYSTEM이라는 계정이 있다. img\").unwrap(); }, \"html\"); }); 파일:LogoSYSTEMUser.png 이미지 표시중">[3][4][5]
일반 사용자가 최고 관리자로 되는 것을 루팅(rooting) 이라고 한다. 해당 문서 참조.
애플의 경우 루트리스라는 명목으로 root를 엿먹이는 것을 내놓았다. root 명령으로도 못지우는 파일과 디렉토리를 만든 것.아니 root가 고자라니! 근데, 이건 SELinux 와 마찬가지 물건인지라... 물론 이 루트리스를 끄는 방법도 존재하기는 한다.
또한 애플의 경우 root 계정을 기본적으로 비활성화해 두었다. 설정의 사용자 설정에서 별도로 활성화해 준 후에야 해당 계정을 사용할 수 있다.

3. 유사표현


  • 슈퍼유저 : 혼자 사용하는 것을 상정하여 만들어진 윈도우 초기버전 같은 구형 운영체제에서도, 일반 사용자가 실수로 시스템 파일을 삭제하여 컴퓨터를 사용할 수 없게 만드는 것을 방지하기 위해서 모든 걸 허용하지는 않도록 안전장치가 되어 있었다. 하지만, 필요에 따라서는 이런 제한을 풀고 시스템 파일을 수정할 수도 있어야 하기 때문에, 이런 이유로 나온 것이 슈퍼유저라는 개념이다. 위에서 설명한 root 와 동일한 권한을 가지고 있다고 보아도 무방하며, 때로는 동의어처럼 쓰이기도 한다. [6]
  • Administrator (Admin) : 위에서 언급되었듯이 Windows 계열에서는 이 계정이 관리자 계정이다. root 와 동등하다고 보면 된다.
  • 시솝(sysop) : SYStem OPerator 의 줄임말로 '시솝', '시삽', '시샵C\#' 등으로 부른다. 이는 운영자, 관리자을 뜻하는 표현으로 하이텔, 천리안 같은 PC 통신 시절의 관리자를 의미하는 표현이었다.

[1] 실제로는 rm커맨드에 최후 안전장치가 있어서 거부된다. --no-preserve-root 스위치를 붙여야 그제야 실행한다.[2] 컴퓨터 수리점에서 윈도우를 설치할때 기본 로그인 계정이 Administrator 계정으로 한다[3]

파일:LogoSYSTEMUser.png 이미지 표시중

[4] 보면 알겠지만 로그온 화면에서 탐색기를 강제로 실행시켜서 찍은 것이다. 다만 이 짓을 하면 CPU 50% 정도 잡아 먹는데다 될게 하나도 없다(...)(제어판 같은 것은 실행되지 않는다). 그리고 로그온 프로세스인 LogonUI.exe를 강제로 꺼도 다시 실행이 된다. 다만 주의할 점은 탐색기를 실행된 상태에서 로그인을 하면 사용자 설정이 영구적으로 망가져 나가서 재설치를 하지 않는 이상 복구가 어렸다. 따라서 테스트로 하는게 아니면 이 짓을 절대로 하지 않는게 좋다[5] 사실 SYSTEM 계정은 Administrator의 계정보다 더 높은 권한을 가진 듯하다 [6] 안드로이드 같은 OS 는 유닉스 계열이지만, 혼자 사용하는 것을 기준으로 만들어져 있다.