슈퍼유저

내위키

Superuser.

다중 이용자를 지원하는 컴퓨터의 운영체제를 이용하는 사용자 중, 가장 많은 권한을 부여 받은 사용자를 뜻한다. 운영체제가 설치된 시스템의 관리자가 시스템을 관리하기 위해서 특별히 사용하는 사용자 계정으로, 운영체제가 단일 사용자만 지원하는 경우, 예를 들어 MS-DOS나 윈도우 1~3까지는 슈퍼 유저라는 개념이 특별히 없다.

시스템 관리자의 계정이므로 거의 제한이 없는 권한을 가지고 있다. 심지어는 운영체제의 모든 데이터를 지우고 초기화시키거나, 기존 운영체제를 지우고 다른 운영체제를 설치한다거나 하는 것까지 가능하다. 따라서 슈퍼유저의 계정 정보가 누군가에게 유출되면[1] 그 사람은 시스템을 마음껏 주무를 수 있다. 해커들의 목표도 결국은 슈퍼유저 계정 정보를 알아내는 것이다. 컴퓨터 보안에서 가장 신경 써야 할 부분 중에 하나도 슈퍼유저 계정의 유출을 막는 것이다.

유닉스의 계열의 경우, 보통은 보안을 위해서 root로 바로 접속하지 못하게 한다. root 계정 정보를 알고 있는 사용자라고 하더라도 별도로 만든 일반 사용자 계정으로 접속한 다음 su 명령어로 root 권한을 사용하거나, sudo 명령어 뒤에 root 권한으로 사용하고자 하는 명령어를 붙여서 사용한다. sudo 명령어를 사용하면 처음에 root 암호를 물어보는데, 이 때 한번 입력해 주면 일정 시간 동안은 sudo 명령어를 써도 다시 물어보지 않고 시간이 지나면 다시 물어보는 식이다.

안드로이드 루팅

안드로이드유닉스 계열인 리눅스 커널을 기반으로 하고 있으므로 슈퍼유저, 즉 root가 존재한다. 하지만 구글에서는 일반 사용자나 앱[2]은 슈퍼유저 권한에 접근하지 못하도록 막고 있다. 안드로이드 초기에는 기기의 제원이 너무나 구렸다. 배터리도 빨리 닳고, 속도도 느리고, 용량도 너무 적었기 때문에 이를 극복하기 위해 루팅(rooting), 즉 슈퍼유저 권한으로 기기를 이용하는 사람들이 적지 않았다. 루팅을 한 기기는 원칙적으로 사후서비스가 불가능하지만 이를 감수하고서라도 루팅을 하는 사람들이 적지 않다. 루팅한 기기에서만 쓸 수 있는 기능을 탑재한 앱을 쓰기 위해서라든가,[3] 미리 기기에 설치되어 있는 앱 중에 안 쓰는 앱들을 지워서 용량을 확보한다든가, 어떻게든 최적화를 쥐어짜서 조금이라도 속도를 빠르게 해 보려고 한다든가, 나름 눈물겨운 짓들을 많이 했다. 지금은 기기의 성능도 크게 향상되었고, 과거에는 루팅을 해야만 쓸 수 있었던 기능들을 구글 앱이 지원하는 경우도 있고, 백업과 같은 기능들이 훨씬 좋아져서 루팅의 필요성은 이제는 거의 사라졌다고 해도 무방하다.

루팅한 기기는 당연히 해킹 위험에 취약하기 때문에 구글은 절대 권장한 바가 없지만, 그렇다고 애플만큼 죽어라고 막지는 않았다. 일부 안드로이드 기기 제조사들은 아예 공식적으로 루팅 툴이나 루팅 방법을 안내하기도 했다. 단, 루팅을 하면 사후 보증은 무효가 된다는 것을 동의해야 한다.[4] 심지어는 구글의 플레이스토어에 루팅한 기기에서만 지원하는 기능이 들어 있는 티타늄백업[5] 같은 앱이 버젓이 올라와 있기도 하다.

각주

  1. 유닉스 계열은 무조건 아이디가 root이므로, 비밀번호만 알아내면 된다.
  2. 구글이나 제조사가 만들어서 처음부터 기기에 심어놓은 시스템 관리용 앱들은 제외.
  3. 티타늄백업 같은 일부 백업 앱들, 시스템 파일까지 볼 수 있는 파일 브라우저 같은 앱들이 그랬다.
  4. 루팅을 한 다음 다시 언루팅을 하고 사후 서비스를 받는 경우도 있었지만 지금은 언루팅을 했더라도 서비스 센터에서 루팅 흔적이 있는지 체크하고 루팅한 적이 있는 것으로 체크하면 보증 서비스를 거부한다.
  5. 일반 모드에서는 보통의 백업 툴과 별 차이가 없지만 루팅 모드에서는 시스템을 통째로 백업할 수 있다.