Computer >> 컴퓨터 >  >> 시스템 >> Linux

우분투에서 사용자 그룹을 잃어버렸나요? 관리자 권한 복원하는 빠른 해결법

리눅스는 다른 주요 운영체제와 달리 사용자에게 진정한 자유를 부여합니다. 원하는 어떤 방식으로든 사용할 수 있는 자유, 마음껏 연구하고 수정할 수 있는 자유, 선택한 방식으로 배포할 수 있는 자유, 그리고 필수 그룹에서 스스로를 추방하는 자유까지 말입니다.

우분투에서 유일한 사용자 계정을 모든 그룹에서 실수로 제거해 버렸다면, 아래의 해결 방법을 따라 하면 됩니다.

리눅스에서 그룹은 어떻게 작동하나요?

리눅스에서 그룹은 추가 인증 없이 파일을 읽고, 쓰고, 실행할 수 있는 권한을 가진 사용자들을 묶어 놓은 개념입니다. 기본 사용자 계정을 생성하면 자동으로 기본 그룹에 추가되는데, 표준 우분투 설치 환경에서는 보통 adm, cdrom, sudo, dip, plugdev, sambashare 등이 여기에 해당합니다.

usermod 명령어를 사용하면 다른 그룹에 자신을 추가할 수 있습니다:

sudo usermod -aG group_name your_username

-G 옵션은 사용자를 보조 그룹(supplemental group)에 추가한다는 의미이며, -a는 append(추가)를 뜻해 기존 그룹 목록에 새 그룹을 덧붙입니다.

그런데 위 명령어에서 -a 옵션을 빼먹으면 새 그룹이 기존의 모든 그룹을 대체해 버립니다.

가장 큰 문제는 이 과정에서 sudo 그룹에서도 제외된다는 점입니다. sudo 그룹에 속하지 않으면 스스로를 sudo 그룹에 다시 추가할 수 없고, 소프트웨어 설치는 물론 시스템 업데이트조차 불가능해집니다.

실수로 사용자 그룹을 지웠다면?

사소한 실수처럼 느껴지지만, -a 하나를 빼먹는 것만으로도 하루 전체가 망가질 수 있습니다. 다행히 해결 방법은 간단합니다. 다만 더 이상 관리자 권한이 없기 때문에 우분투 설치 환경 안에서는 문제를 고칠 수 없으므로, 루트 셸(root shell)에 접근해야 합니다.

1. GRUB 메뉴로 진입하기

먼저 PC를 재부팅하고, GRUB 메뉴가 나타날 때까지 Escape 키를 반복해서 누릅니다.

메뉴에서 Advanced options for Ubuntu(우분투 고급 옵션)를 선택한 뒤, Recovery Mode(복구 모드)로 들어갑니다.

2. 루트 셸 열기

복구 모드 메뉴에서 root shell(루트 셸) 옵션이 제공되면 이를 선택하세요. 셸 프롬프트가 화면 하단에 나타납니다.

루트 셸에서 실행되는 명령은 root 권한으로 처리되며, 표준 우분투 시스템에서는 비밀번호 입력도 요구하지 않습니다.

3. sudo 그룹에 다시 추가하기

다음 명령어를 입력해 sudo 그룹에 자신을 다시 추가합니다:

usermod -aG sudo your_username

이제 시스템을 재부팅하세요. 다시 로그인하면 sudo 그룹의 일원이 되어 root 권한이 필요한 작업을 정상적으로 수행할 수 있습니다.

리눅스에서 이전 사용자 그룹 복원하기

리눅스는 모든 것을 로그로 기록합니다. 로그가 비정상적으로 커지면 골칫거리가 되지만, 사용자가 이전에 어느 그룹에 속해 있었는지 확인해야 할 때는 매우 유용합니다.

sudo grep user-setup /var/log/installer/syslog

이 명령은 사용자가 그룹에 추가된 모든 기록을 출력합니다. 그룹 이름을 확인한 뒤, 다음과 같이 한 번에 다시 추가할 수 있습니다:

sudo usermod -aG group1,group2,group3 your_username

이때 그룹 이름 사이의 쉼표에는 공백이 없어야 한다는 점에 유의하세요.

로그아웃 후 다시 로그인하면 모든 그룹 멤버십이 완전히 복원됩니다.

그룹이 리눅스 시스템 관리를 쉽게 만듭니다

자신의 권한만 실수로 삭제하지 않는다면, 그룹은 우분투를 비롯한 리눅스 배포판에서 놀랍도록 강력한 도구입니다. 그룹을 활용하면 다수의 사용자를 체계적으로 관리하고, 각자 필요한 만큼의 적절한 접근 권한을 부여하면서도 시스템을 실수로 망가뜨리지 못하도록 보호할 수 있습니다.

그룹을 사용하면 누가 파일을 읽고, 쓰고, 실행할 수 있는지 신뢰 수준에 따라 세밀하게 통제할 수 있습니다. 사용자를 그룹 간에 옮기는 것도 간단하고, 특정 파일에 대한 완전한 자유를 주고 싶다면 소유권 자체를 넘겨주는 것도 가능합니다.

저자 소개

데이비드(David)는 인쇄 저널리즘 출신의 프리랜서 작가로, 자유·오픈소스 소프트웨어(FOSS)를 깊이 사랑하는 필자입니다. 2000년대 초반부터 리눅스를 사용해 왔으며, 영국 리눅스 포맷(Linux Format) 매거진에 정기적으로 기고하고 있습니다. 거실 소파 위에 올려둔 라즈베리 파이로 여러 사이트와 서비스를 운영하며, 기술과 인간, 그리고 관련 주제에 대한 이해를 넓히기 위해 edX 강좌 수강도 아끼지 않습니다. 여가 시간에는 캐러밴과 반려견들과 함께 영국 제도를 오프그리드로 여행하고, 가끔 책을 집필하기도 합니다.