슈퍼유저
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
슈퍼유저는 운영 체제의 모든 권한을 가진 사용자를 지칭하는 용어이다. 유닉스 계열 운영 체제에서는 일반적으로 'root'로 불리며, 파일 소유권 변경, 1024 미만의 네트워크 포트 바인딩 등 일반 사용자가 할 수 없는 작업을 수행할 수 있다. 윈도우 운영 체제에서는 관리자(administrator) 계정이 슈퍼유저 역할을 하며, 사용자 계정 컨트롤(UAC)을 통해 권한을 관리한다.
더 읽어볼만한 페이지
- 운영 체제 보안 - NX 비트
NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다. - 운영 체제 보안 - LXC
LXC는 리눅스 커널의 cgroup과 네임스페이스 격리 기능을 이용하여 운영 체제 수준의 가상화를 제공하는 기술로, IBM 연구원들이 개발했으며 보안 강화 및 LXD 컨테이너 관리자 프로젝트를 통해 발전해왔다. - 시스템 관리 - 유닉스 셸
유닉스 셸은 사용자의 명령을 해석하여 운영 체제에 전달하고 프로그램 실행을 관리하는 명령 줄 인터페이스로서, 톰슨 셸을 시작으로 본 셸, C 셸 등 다양한 셸들이 개발되어 사용자에게 다양한 셸 환경 선택권을 제공한다. - 시스템 관리 - 시스템 관리자
시스템 관리자는 컴퓨터 시스템과 사용 방식을 이해하고 관리하며, 안정적인 운영을 책임지고 문제 해결, 사용자 계정 및 보안 관리, 시스템 구성 문서화, 성능 튜닝, 하드웨어 및 소프트웨어 설치, 네트워크 인프라 관리, 사용자 교육 등을 수행한다.
슈퍼유저 | |
---|---|
기본 정보 | |
![]() | |
설명 | 슈퍼유저는 컴퓨터 운영 체제에서 모든 권한을 가진 사용자 계정이다. |
권한 | 모든 권한을 가진 사용자 계정 (시스템 관리자) |
다른 이름 | 루트 (root), 어드민 (administrator, admin), 감독자 (supervisor) |
유닉스 계열 시스템 | |
사용자 ID | 0 |
계정 이름 | 루트 (root) |
역할 | 시스템 관리 |
홈 디렉터리 | /root (일반적으로) |
윈도우 NT 계열 시스템 | |
계정 이름 | 어드민스트레이터 (Administrator) |
역할 | 시스템 관리 |
권한 | 기본적으로 비활성화 필요시 활성화하여 사용 |
주요 기능 | |
시스템 설정 변경 | 시스템의 모든 설정을 변경할 수 있다. |
소프트웨어 설치 및 제거 | 모든 소프트웨어를 설치하고 제거할 수 있다. |
사용자 계정 관리 | 다른 사용자 계정을 생성, 수정, 삭제할 수 있다. |
파일 접근 | 시스템의 모든 파일에 접근할 수 있다. |
보안 | |
중요성 | 슈퍼유저 권한은 매우 강력하므로, 보안에 특히 주의해야 한다. |
관리 | 슈퍼유저 계정은 신뢰할 수 있는 사용자에게만 부여해야 한다. |
주의사항 | 슈퍼유저 권한을 사용할 때는 신중하게 작업을 수행해야 한다. 악성 소프트웨어가 슈퍼유저 권한을 획득하면 시스템에 심각한 손상을 입힐 수 있다. |
2. 유닉스와 유닉스 계열 운영체제
유닉스 및 리눅스, BSD 등 유닉스 계열 운영체제에서 슈퍼유저는 일반적으로 'root'라는 이름으로 불린다. 슈퍼유저는 파일 소유권 변경, 1024 미만의 네트워크 포트 바인딩 등 일반 사용자가 할 수 없는 작업들을 수행할 수 있다.
macOS, 우분투 같은 일부 리눅스 배포판은 최초 생성된 사용자 계정이 `sudo` 명령어를 통해 루트 권한을 사용할 수 있도록 하지만, 사용자 계정 비밀번호를 입력해야 한다. 루트 계정 자체를 비활성화하여 `sudo`와 같은 간접적인 방법으로만 루트 권한을 사용하도록 설정하기도 한다.
2. 1. 명칭과 기원
`root`라는 이름은 유닉스 시스템의 루트 디렉터리를 수정할 수 있는 유일한 사용자 계정이기 때문에 유래되었다.[4] 이 디렉토리는 원래 root의 홈 디렉터리로 간주되었지만,[4] 현재 UNIX 파일 시스템 계층 구조 표준에서는 root의 홈을 `/root`에 두는 것을 권장한다.[5] BeOS에서는 'baron', 일부 유닉스 변형에서는 'avatar',[2] BSD에서는 'toor'('root'를 거꾸로 쓴 것)[3] 등 다른 이름으로 불리기도 한다. 이름에 관계없이 슈퍼유저는 항상 사용자 ID 0을 갖는다.2. 2. 권한 및 특징
슈퍼유저는 유닉스, 리눅스를 비롯한 유닉스 계열 운영체제에서 시스템의 모든 권한을 가진 사용자를 지칭하는 관용적인 이름이다. BSD에서 제공하는 ''toor'' 계정처럼 이름이 다른 경우도 있다.[2][3] 슈퍼유저는 항상 사용자 식별자 0을 가진다.[16][17]슈퍼유저(root)는 파일 소유권 변경, 1024 미만의 네트워크 포트 바인딩 등 일반 사용자가 할 수 없는 작업을 수행할 수 있다.[2]
유닉스 계열 시스템에서 처음 부트스트랩되는 프로세스는 일반적으로 init이라고 하며 root 권한으로 실행된다. init은 다른 모든 프로세스를 직접 또는 간접적으로 생성하며, 이 프로세스는 부모의 권한을 상속한다. root로 실행되는 프로세스만 사용자 ID를 다른 사용자의 ID로 변경할 수 있으며, 한번 변경되면 되돌릴 수 없다. 이를 ''root 권한 삭제''라고 하며, 프로세스의 잠재적인 오염으로 인한 피해를 제한하기 위한 보안 조치로 자주 수행된다.[18]
2. 3. 보안 및 사용
일반 사용자 계정으로 `root`를 사용하는 것은 시스템에 심각한 손상을 입힐 수 있는 오타의 위험 때문에 권장되지 않는다.[10][6] 대신, 일반 사용자 계정을 사용하고 필요할 때 `su` (대체 사용자) 또는 `sudo` (대체 사용자 실행) 명령을 사용하는 것이 좋다. `su`는 사용자가 root 암호를 알아야 하지만, `sudo`는 `/etc/sudoers` 파일 내에서 사용자가 "root로" 실행할 수 있도록 권한을 설정해야 한다. 이는 일반적으로 `wheel`,[7] `adm`,[8] `admin` 또는 `sudo` 그룹의 구성원으로 지정하여 간접적으로 수행된다.`sudo` 접근 방식은 누가 어떤 명령을 사용했고 어떤 관리 작업을 수행했는지에 대한 감사 추적을 남기기 때문에 여러 가지 이유로 현재 일반적으로 선호된다.[9]
macOS 및 우분투[10]와 같은 일부 리눅스 배포판은 최초 생성된 사용자에게 `sudo`를 통해 root로 실행할 수 있는 기능을 자동으로 부여하지만, 관리 작업을 수행하기 전에 해당 사용자의 암호를 묻도록 구성된다. 경우에 따라 실제 `root` 계정은 기본적으로 비활성화되어 직접 사용할 수 없다.[10]
시스템 무결성 보호와 같이 슈퍼유저의 사용을 제한하는 보안 기능도 있다.
3. 마이크로소프트 윈도우
윈도우 NT 및 그 파생 운영체제( 윈도우 2000, 윈도우 XP, 윈도우 7, 윈도우 10 등)에서는 'Administrator' 계정이 슈퍼유저 역할을 한다.[14] 윈도우 XP 및 이전 시스템에는 사용자 관리자 동등 계정이 존재할 때 숨겨진 기본 제공 관리자 계정이 있으며, 빈 암호로 생성된다.[13] 이는 보안 위험을 초래하므로, 사용자 계정 컨트롤(UAC) 도입으로 인해 윈도우 비스타 및 이후 시스템에서는 기본적으로 이 계정이 비활성화되어 있다.[13]
3. 1. 권한 및 특징
윈도우 NT와 그로부터 파생된 윈도우 2000, 윈도우 XP, 윈도우 7, 윈도우 10 등 이후 운영체제들에서는 최소 하나의 관리자(administrator) 계정이 있거나, 사용자 계정 컨트롤을 통해 슈퍼유저 권한을 획득할 수 있는 계정이 하나 존재해야 한다.Windows 관리자 계정은 UNIX의 root 계정과 정확히 일치하지 않는다. administrator 계정은 root보다 권한 범위가 좁고, 일부 슈퍼유저 특권은 "Local System" 계정에 할당되어 있다[20]。
Windows 2000 이후에는 cmd.exe 및 COMMAND.COM의 내부 명령으로, `RUNAS` 명령을 통해 프로그램을 임의의 사용자 권한(슈퍼유저 권한 포함)으로 실행할 수 있다[21]。 GUI 환경에서는 프로그램이나 해당 바로 가기를 Shift 키를 누른 채 오른쪽 클릭하면 임의의 사용자 권한으로 실행할 수 있다.
윈도우 NT 및 파생 운영 체제( Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8 등)에서는 슈퍼유저가 존재할 수도 있고, 그렇지 않을 수도 있다. XP 및 이전 버전에서는 기본적으로 '''Administrator'''라는 슈퍼유저 계정이 있다. Administrator에 상당하는 권한을 설정한 사용자 계정이 있는 경우 원래의 Administrator 계정을 숨길 수 있다. 이 원래의 Administrator 계정에는 비밀번호가 설정되어 있지 않아 보안상 심각한 문제가 있었으며, Windows Vista 및 이후 버전에서는 사용자 계정 컨트롤(UAC)을 도입하여 Administrator 계정을 기본적으로 사용할 수 없도록 했다[19]。
Windows Vista 이후 UAC가 도입되어 특권을 높여 프로세스를 실행할 때 인증을 요청하는 프롬프트(대화 상자)가 나타난다. Windows XP 및 이전 버전에서는 관리자 권한을 가진 사용자 계정으로 무제한으로 특권적인 처리가 가능했으며, 이러한 보안상의 문제로 UAC가 개발되었다.
3. 2. 사용자 계정 컨트롤 (UAC)
윈도우 NT와 그로부터 파생된 윈도우 2000, 윈도우 XP, 윈도우 7, 윈도우 10 등의 운영체제에서는 사용자 계정 컨트롤(UAC)을 통해 슈퍼유저 권한을 획득할 수 있는 계정이 하나 이상 존재해야 한다.[12]Windows Vista 이후 도입된 UAC는 권한 상승이 필요한 작업을 수행할 때 사용자에게 확인을 요청한다. Windows XP 및 이전 버전에서는 관리자 권한을 가진 사용자가 무제한으로 특권적인 처리를 할 수 있었는데, 이는 보안 문제를 야기하여 UAC 개발의 원인이 되었다.[19]
Windows Vista/7/8/10/11 관리자 계정에서는 권한이 상승된 프로세스를 실행하기 위해 인증하라는 메시지가 나타난다. 일반적으로 관리자 계정에서는 UAC 프롬프트 인증에 사용자 자격 증명이 필요하지 않지만, 표준 사용자 계정에서 UAC 프롬프트 인증을 하려면 관리자의 사용자 이름과 암호를 입력해야 한다.
4. 기타 운영체제
노벨 넷웨어에서 슈퍼유저는 "supervisor"로 불리다가[24] 나중에 "admin"으로 변경되었다.[15] OpenVMS에서는 "SYSTEM"이 슈퍼유저 계정이다. MS-DOS나 윈도우 9x와 같이 한 명의 개인이 사용하는 것을 전제로 한 운영 체제에서는 특별한 슈퍼유저 계정은 존재하지 않았다. 사실상 해당 시스템을 사용하는 사람에게는 항상 관리자 권한이 부여되었다고 볼 수 있다. 관리자 권한을 일반 사용자와 분리함으로써 운영 체제의 보안이 강화되었다. 이러한 분리를 하지 않은 운영 체제는 보안 수준이 낮다고 여겨진다.
참조
[1]
웹사이트
getpwuid
http://pubs.opengrou[...]
2019-01-12
[2]
웹사이트
The Jargon File (version 4.4.7)
http://www.catb.org/[...]
2021-04-18
[3]
웹사이트
What is this UID 0 toor account?
http://www.freebsd.o[...]
2020-12-22
[4]
웹사이트
What is root? - definition by The Linux Information Project
http://www.linfo.org[...]
LINFO
2012-08-07
[5]
웹사이트
/root : Home directory for the root user (optional)
http://www.pathname.[...]
2015-05-11
[6]
웹사이트
4.4. Administrative Controls
https://access.redha[...]
2015-09-16
[7]
웹사이트
2.3. Configuring sudo Access
https://web.archive.[...]
2015-09-16
[8]
웹사이트
difference adm - root
http://www.linuxques[...]
2016-08-01
[9]
서적
Host Integrity Monitoring Using Osiris and Samhain
https://books.google[...]
Elsevier
2018-12-17
[10]
웹사이트
RootSudo
https://help.ubuntu.[...]
2015-09-16
[11]
웹사이트
Security in Plan 9
https://web.archive.[...]
Bell Labs
2018-07-11
[12]
웹사이트
Microsoft Corporation
https://www.microsof[...]
Microsoft.com
2012-08-07
[13]
웹사이트
Enable and Disable the Built-in Administrator Account
https://technet.micr[...]
microsoft.com
2008-07-25
[14]
웹사이트
The LocalSystem Account
http://msdn.microsof[...]
Microsoft
2015-09-16
[15]
웹사이트
Supervisor (Bindery) User Created on Every NetWare 4 Server
https://support.nove[...]
1996-02-01
[16]
웹사이트
The Jargon File (version 4.4.7)
http://www.catb.org/[...]
[17]
웹사이트
What is this UID 0 toor account?
http://www.freebsd.o[...]
[18]
웹사이트
What is root? -- definition by The Linux Information Project (LINFO)
http://www.linfo.org[...]
[19]
웹사이트
Enable and Disable the Built-in Administrator Account
http://technet.micro[...]
[20]
웹사이트
Types of user accounts
https://www.microsof[...]
[21]
웹사이트
Runas
http://technet.micro[...]
[22]
웹사이트
Security soapbox - a humorous and brief explanation of Windows insecurity
http://sec-soapbox.b[...]
[23]
문서
임의의 파일에 자유롭게 접근할 수 있으며, 컴퓨터 시스템의 운용과 보수에 필요한 작업을 수행할 수 있는 사용 자격을 갖춘 관리자.
정보통신용어사전(TTA용어사전)
[24]
웹사이트
Supervisor (Bindery) User Created on Every NetWare 4 Server
https://support.nove[...]
1996-02-01
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com