And Brain said,

wheel과 sudo, Linux의 원로원들 본문

IT/Linux

wheel과 sudo, Linux의 원로원들

The Man 2025. 2. 27. 11:03
반응형

들어가며

다양한 Linux 배포판을 사용하다 보면 배포판에 따라 관리자 권한을 가진 그룹이 다르게 설정되어 있다는 걸 알 수 있습니다. 어떤 배포판에서는 wheel 그룹이, 또 다른 배포판에서는 sudo 그룹이 관리자 권한을 부여하는 역할을 합니다. 이 글에서는 wheel과 sudo 그룹이 탄생한 역사부터, 그 차이점과 실제 사용 방법까지 파헤쳐 보겠습니다


1. Unix 시대

1.1 Unix와 사용자 계층 구조

Unix 운영체제는 1969년 AT&T의 벨 연구소(Bell Labs)에서 켄 톰프슨(Ken Thompson)과 데니스 리치(Dennis Ritchie)에 의해 개발되었습니다. 당시 컴퓨터는 대형 메인프레임이었으며, 여러 사용자가 같은 시스템을 공유하는 멀티유저(Multi-user) 환경이 필요했습니다. 이를 위해 Unix는 다음과 같은 계층 구조를 만들었습니다:

     

  • root (슈퍼유저): 시스템을 완전히 제어할 수 있는 최고 관리자 계정

  • 일반 사용자: 제한된 권한을 가진 사용자 계정

  • 그룹(Group): 특정 사용자들에게 동일한 권한을 부여하는 개념

이러한 구조는 강력한 보안과 효율적인 시스템 관리를 위한 필수 요소였습니다.

1.2 CTSS와 wheel 그룹의 기원

Unix보다 앞선 CTSS(Compatible Time-Sharing System)는 1960년대 초반 MIT에서 개발되었습니다. CTSS는 최초의 타임셰어링 운영체제 중 하나로, 여러 사용자가 동시에 같은 시스템을 사용할 수 있도록 설계되었습니다.

이때 등장한 개념이 Big Wheel입니다. 이는 시스템을 유지보수하고 중요한 결정을 내릴 수 있는 특별한 권한을 가진 사용자 그룹을 의미했습니다. 이 개념이 후에 Unix로 이어지면서 wheel 그룹이라는 명칭으로 정착했습니다.


2. wheel 그룹: Unix와 BSD에서의 관리자 계층

2.1 BSD Unix와 wheel 그룹

Unix는 1970년대 후반과 1980년대 초반에 여러 파생 버전이 등장하며 발전했습니다. 그중 BSD(Berkeley Software Distribution) 계열 Unix에서는 보안 강화를 위해 wheel 그룹을 도입했습니다.

 

  • wheel 그룹의 역할:

     

    • 특정 사용자만 su(substitute user) 명령을 사용하여 root 계정으로 전환할 수 있도록 제한

    • root 계정에 접근할 수 있는 사용자를 더욱 엄격하게 관리

    • Unix의 다중 사용자 환경에서 보안 강화를 위한 필수 요소

2.2 Red Hat 계열에서의 wheel 그룹

Red Hat 계열의 Linux 배포판(Fedora, RHEL, CentOS 등)은 BSD의 영향을 받아 wheel 그룹을 사용하여 sudo 권한을 관리하는 방식을 채택했습니다. /etc/sudoers 파일에서 wheel 그룹의 사용자에게 sudo 사용 권한을 부여하는 설정이 포함되어 있습니다.

 

Red Hat 계열에서 특정 사용자에게 sudo 권한을 부여하려면 wheel 그룹에 추가해야 합니다:

sudo usermod -aG wheel 사용자이름

 

현재 사용자의 그룹 확인:

groups

3. sudo 그룹: Debian과 Ubuntu의 새로운 방식

3.1 sudo 명령어의 등장

1980년, Bob CoggeshallCliff SpencerSUN-2 Unix 시스템에서 sudo(Superuser Do) 명령어를 개발했습니다. 기존의 su 명령어는 root 비밀번호를 공유해야 했기 때문에 보안상 취약했으며, 모든 권한을 넘겨주는 방식이었습니다.

sudo는 특정 사용자에게 필요한 명령만 root 권한으로 실행할 수 있도록 만들어졌습니다. 이는 시스템 보안을 강화하는 동시에, 사용자 관리의 유연성을 제공했습니다.

3.2 Debian과 Ubuntu의 sudo 그룹

초기 Linux 배포판(Debian, Red Hat 등)은 여전히 root 계정을 직접 사용할 수 있도록 설정했지만, 2004년에 등장한 Ubuntu는 보안 강화를 위해 root 계정을 기본적으로 비활성화하고 sudo를 이용한 관리자 시스템을 채택했습니다.

Ubuntu에서는 다음과 같은 방식으로 sudo 그룹을 운영합니다:

 

  • sudo 그룹에 속한 사용자만 sudo 명령어를 사용할 수 있도록 설정

  • 기본적으로 설치된 첫 번째 사용자 계정을 sudo 그룹에 자동 추가

  • /etc/sudoers 파일에서 %sudo ALL=(ALL) ALL 옵션을 활성화하여 sudo 그룹에 속한 사용자가 관리자 권한을 사용할 수 있도록 설정

sudo usermod -aG sudo 사용자이름

4. wheel vs sudo 그룹: 무엇이 다를까?

4.1 wheel과 sudo 그룹 비교

구분 wheel sudo
주요 배포판 Red Hat 계열(Fedora, RHEL, CentOS) Debian 계열(Ubuntu, Debian)
역할 su 명령을 통한 root 계정 전환 허용, 일부 배포판에서는 sudo도 사용 가능 sudo 명령을 통한 관리자 권한 부여
설정 파일 /etc/pam.d/su, /etc/sudoers /etc/sudoers
기본 사용 여부 Red Hat 계열에서 기본적으로 사용 Ubuntu 계열에서 기본적으로 사용

 

  • Red Hat 계열(RHEL, Fedora, CentOS)에서는 기본적으로 wheel 그룹을 사용합니다.

  • Ubuntu 및 Debian 계열에서는 sudo 그룹을 기본적으로 사용합니다.

  • 특정 보안 정책에 따라 wheel 그룹을 활성화하거나 비활성화하여 권한 관리를 할 수도 있습니다.


반응형
Comments