아이디
비밀번호
가입
Since 2015. 4. 17.
    현재 문서 938,955개
아이디
비밀번호
가입
E I D , R H 

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

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

1. 개요

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

2. 특징

최고 관리자 root의 권력은 정말로 절대적인 존재이기 때문에 해당 운영체제모든 것을 제어할 권리를 가지게 된다. 여기서 말하는 모든 것에는 시스템을 파괴할 권한을 포함한다. 그것이 실수든 고의든 해킹이든 간에.

그렇기 때문에 일반적인 리눅스 운영체제에서는 기본적으로 컴퓨터 주인의 계정 또한 root보다 권한이 낮은 일반 사용자로 만들어지며, 시스템 관리 작업 등을 할 때에는 sudo 라는 명령을 사용해서 임시 root 권한을 얻도록 되어 있다. OS X의 경우에는 root 권한이 필요한 작업을 하기 전에 패스워드를 물어보는데 이건 sudo 명령에 GUI를 붙인 gsudo 명령이다.

참고로 sudo에 명령어 대신 셸을 집어넣으면 사용하면 루트셸로 진입할 수 있는데, 이 루트셸을 띄우는 것이 해커들의 궁극적 목표이기도 하다. 일단 루트셸의 # 프롬프트(일반 사용자는 보통 $ 프롬프트)를 띄운 순간부터 해당 컴퓨터는 사용자의 명령에 절대복종한다. 자살하라는 명령까지 군말 않고 따른다. 단 이렇게 root 권한을 획득했다고 하더라도 해당 컴퓨터를 장악한 것이지 해당 컴퓨터가 속해 있는 네트워크를 장악한 것은 아니다. 네트워크를 장악하려면 라우터를 해킹해야 한다.

언뜻 보면 운영체제가 실제 주인인 당신의 권한을 제한하는 하극상을 연출하는 것처럼 보이지만 이는 안전과 보안을 위한 필수불가결한 조치이다. 시스템 설정을 변경해서 항상 root 상태로 있을 수는 있는데 굉장히 위험하다. 예를 들어 rm -rf /를 일반 사용자 계정에서 실행하면 권한 없음 에러를 내면서 시스템이 거부하지만 root 계정일 경우에는 묻지도 따지지도 않고 실행해버릴 수 있다. 단 리눅스 시스템의 적당히 최신 버전이라면 rm 명령에 최후 안전장치가 있어서 거부된다. --no-preserve-root 스위치를 붙여야 그제야 실행한다. BSD 계열이라면 그런 거 없다.

일반 사용자가 최고 관리자로 되는 것을 루팅(rooting)이라고 한다.

애플의 경우 루트리스라는 명목으로 root를 엿먹이는 것을 내놓았다. root 명령으로도 못 지우는 파일과 디렉터리를 만든 것. 근데, 이건 SELinux 와 마찬가지 물건인지라... 물론 이 루트리스를 끄는 방법도 존재하기는 한다.

또한 애플의 경우 root 계정을 기본적으로 비활성화해 두었다. 설정의 사용자 설정에서 별도로 활성화해 준 후에야 해당 계정을 사용할 수 있다.

3. Microsoft Windows

Windows의 경우 Administrator 그룹 계정이 명목상 여기에 해당되나, Administrator가 아니면 그야말로 아무 것도 할 수 없기 때문에 Administrator를 안 쓰는 사람이 없다시피 했으며, 따라서 실제로는 사용자 계정이 곧 root 계정이나 마찬가지였다. 컴퓨터 수리점에서 윈도우를 설치할 때 기본 로그인 계정을 Administrator 계정으로 한다. Windows 구성 자체가 모든 사용자들과 금고 열쇠를 공유하고 있었던 셈. 이 문제는 UACWindows Vista 때 도입되면서 해결되었으나, 그나마도 9x 계열 윈도우 들을 비롯한[1] Windows 2000 Professional[2], Windows XP(Server 2003/R2 포함)에 완전히 길들여 질대로 길들여졌던 유저들은 UAC 기능을 끄고 사용하기도 했지만, Windows 7에서 일부 개선이 되고 Windows 8 부터 Windows 10 RS2 까지는 완전히 끄지 못하도록 변경되면서 억지로라도 끄고 사용하는 사용자는 거의 없어졌다. 오직 레지스트리를 건드려야만 끄는 게 가능한 홈 에디션을 제외하면 그룹 정책을 건드리는 선택지도 있지만, MS에서는 사용자가 UAC 기능을 기어코 꺼버리는 경우를 대비하여 설정 앱을 제외한 다른 앱들을 실행시키지 못하도록 막아 놨다. Windows 10 RS3부터는 SKU를 불문하고 무조건 레지스트리를 건드려야 하는데, 레지스트리와 관련된 지식을 충분히 숙지한 사람이 건드리는 것 또한 매우 위험한 일인지라 권장 할 수가 없다.

Administrator 계정 말고는 SYSTEM이라는 계정이 있다. 시스템에서 최고 권한을 가진 계정으로 Administrator보다 상위 권한을 가진다. 원격 접속이 불가능하고, 윈도우가 부팅하는 과정에서 로그인이 되기 때문에 사용자가 일반적으로 이 계정을 사용하여 로그온을 할 수가 없다. 정말로 이 계정을 작정하고 사용하고자 한다면 SYSTEM 사용자 권한으로 cmd 창 혹은 작업 관리자 창을 띄울 방법이란 꼼수가 전혀 없다고 부정하지는 않겠지만 (psexec를 이용해서 SYSTEM 권한으로 프로그램을 실행할 수 있다! 그 외에도 권한상승 취약점을 악용하기도 하다), SYSTEM 사용자 권한으로 컴퓨터를 잘못 건드리면 포맷 내지 재설치를 감수해야 한다. 윈도우에서 root 계정 역할을 하고 있다고 보면 된다. 이러한 이유로 윈도우의 실질적인 root 계정은 Administrator 계정이 될 수밖에 없다.

로그온 화면에서 탐색기를 강제로 실행시키면 SYSTEM 계정으로 로그온할 수 있다. 다만 이 짓을 하면 CPU 50% 정도 잡아 먹는데다 될게 하나도 없다(...)(제어판 같은 것은 실행되지 않는다). 그리고 로그온 프로세스인 LogonUI.exe를 강제로 꺼도 다시 실행이 된다. 다만 주의할 점은 탐색기를 실행된 상태에서 로그인을 하면 사용자 설정이 영구적으로 망가져 나가서 재설치를 하지 않는 이상 복구가 사실상 불가능하다. 따라서 가상머신으로 테스트를 하는 게 아니면 이 짓을 절대로 하지 않는 게 좋다. Windows 10부터는 제어판 정도야 파일 탐색기를 통하여 접근 할 수가 있도록 바뀌었지만, 시작 버튼을 클릭하면 시작 메뉴가 아예 안 뜨도록 막아놨다.

윈도우 비스타와 서버 2008부터 10과 서버 2016~2019까지는 SYSTEM과 동급인 TrustedInstaller 계정도 있다. Windows Update에 사용되는 것으로 마이크로소프트에서 만들지 않는(정확히는 마이크로소프트 디지털 서명이 되어 있지 않은) 프로그램들은 시스템 파일을 건들 수 없다. 현실적으로 TrustedInstaller 계정은 SYSTEM보다 높은 편이다. 시스템 파일 대부분이 소유자가 TrustedInstaller로 설정되어 있어 SYSTEM 권한으로는 수정할 수 없기 때문이다.

4. 유사표현

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


  1. [1] 9x 계열의 윈도우들은 아예 사용자 분리라는 개념이 없었다. 그것도 바탕화면을 공유했다! 사용자 초기화 파일로 분리시킬 수는 있었지만, 사용자 초기화 파일을 사용하기 전까지는 저장한 아이콘과 파일이 모두 공유된다는 문제는 그대로였고, 사용자 계정이 곧 관리자 계정이나 마찬가지였다.
  2. [2] 서버, 어드밴스드 서버, 데이터센터 서버 에디션 또한 UAC 자체가 없었긴 마찬가지이나, 일반인들이 쓰라고 내놓은 SKU가 아닌 본격적인 서버 운영에 필요한 기능들이 포함되어있는 SKU 이기에 논외.
 
Contents from Namu Wiki
last modified 2020-02-28 09:18:32