目次
1. Ubuntu에서 root 계정의 개요와 역할
Ubuntu의 “root 계정”은 시스템 전체에 대한 최고 권한을 가진 특수 계정으로, 시스템 관리 및 설정 변경, 파일 시스템 조작 등 관리 작업이 가능합니다. 그러나 Ubuntu의 초기 설정에서는 root 계정에 대한 직접 로그인이 비활성화되어 있으며,sudo
명령으로 관리 권한을 일시적으로 부여하는 형태로 대체됩니다.root 계정이 기본적으로 비활성화된 이유
Ubuntu가 root 계정을 기본적으로 비활성화하는 이유는 실수 조작이나 보안 위험을 최소화하기 위해서입니다.sudo
명령을 사용하면 일시적으로 관리자 권한을 얻어 필요한 작업을 수행할 수 있습니다. 이를 통해 시스템 전체에 영향을 미치는 실수 조작 위험이 감소하고, 안전성이 향상.2. root 계정 활성화 방법
특정 시스템 관리 작업에서 root 계정에 직접 접근이 필요할 경우, 아래 절차로 활성화할 수 있지만 보안 위험을 동반하므로 신중히 진행해야 합니다.root 계정 활성화 절차
- 비밀번호 설정 터미널을 열고, 아래 명령으로 root 비밀번호를 설정합니다.
sudo passwd root
- 프롬프트가 표시되면, root 계정용 비밀번호를 설정합니다. 이렇게 하면 root 로그인 가능해집니다.
- GUI 로그인 허용(필요한 경우) GUI 환경에서 root 사용자로 로그인하려면,
/etc/gdm3/custom.conf
파일을 다음과 같이 설정합니다.
[security]
AllowRoot=true
- 이 설정 변경은 특히 데스크톱 환경에서 작업이 필요할 경우에만 권장됩니다. 일반적으로는 CLI(명령줄 인터페이스)에서 작업하는 것을 권장합니다.
- 활성화 후 주의사항 root 계정을 활성화하면, 실수로 인한 시스템 전체에 대한 영향 및 불법 접근 위험이 증가하므로, 일상적인 관리는
sudo
로 수행하도록 합시다.

3. root 로그인 비활성화 방법
root 계정을 비활성화하면 시스템에 대한 불법 접근 위험을 줄일 수 있습니다. 아래 절차에 따라 root 계정 로그인을 비활성화합시다.root 계정 비활성화 절차
- root 계정 잠금 터미널에서 아래 명령을 입력하여 root 계정을 비활성화합니다.
sudo passwd -l root
- 이 명령으로 root 계정이 잠기고, root로 로그인할 수 없게 됩니다.
- 비활성의 장점
- root 계정을 비활성화하면 불법 접근이나 실수로 인한 시스템 영향을 크게 줄일 수 있습니다. 일반적인 시스템 관리는
sudo
명령으로 충분히 할 수 있기 때문에 일상 업무에서 root 로그인 필요성이 낮습니다.
4. root 계정의 보안 위험과 대책
root 계정을 활성화하면 편의성은 향상되지만 보안 위험도 증가합니다. 아래에 구체적인 위험과 권장 대책을 설명합니다.보안 위험의 구체적 예시
- 비밀번호 도난: 강력한 비밀번호를 설정하지 않으면 계정이 부정 사용될 위험이 있습니다.
- 원격 접근에 의한 공격: root 계정이 활성화되어 있으면 원격 공격의 표적이 되기 쉽습니다.
보안 대책
- 강력한 비밀번호 설정 대문자, 소문자, 숫자, 기호를 조합한 복잡한 비밀번호를 설정하고, 정기적으로 변경합시다.
- SSH 접근 제한 SSH를 통해 root 접근을 금지하려면,
/etc/ssh/sshd_config
파일을 열고, 아래 설정을 추가합니다.
PermitRootLogin no
- 설정 후 SSH 서비스를 재시작합니다. 이 설정으로 원격에서의 root 로그인은 금지되고, 부정 접근 위험이 감소합니다.
- 로그 감시 철저
auth.log
파일(보통/var/log/auth.log
)을 정기적으로 확인하고, root 계정의 사용 상황을 감시합니다. 이상 접근을 발견하면 즉시 비밀번호를 변경하여 부정 접근 발생을 방지합니다.

5. GUI 애플리케이션에서 pkexec 사용
GUI 애플리케이션에서 root 권한이 필요할 경우,gksudo
대신 pkexec
을 사용하면 안전하고 안정적인 실행이 가능합니다. pkexec
는 환경 변수와 파일 소유권의 영향을 최소화하고, root 권한으로 애플리케이션을 실행하는 안전한 방법입니다.pkexec 사용 예시
다음 명령으로 텍스트 편집기를 root 권한으로 엽니다.pkexec gedit /etc/fstab
- 이 방법으로 애플리케이션의 설정 파일이 실수로 사용자의 홈 디렉터리에 변경되는 위험을 줄일 수 있습니다.
6. root 계정 관련 문제 해결
root 계정에 관한 문제가 발생한 경우, 아래 절차가 도움이 됩니다.root 비밀번호 재설정 방법
- 단일 사용자 모드에서 재설정
- root 비밀번호를 모르는 경우, 시스템을 단일 사용자 모드로 부팅하고
passwd
명령으로 비밀번호를 재설정합니다.
passwd root
sudoers 파일 수정 방법
- visudo 명령 사용
sudo
설정에 오류가 있는 경우,visudo
명령으로/etc/sudoers
파일을 편집합니다.visudo
는 구문 오류를 방지하기 위해, 안전하게 sudoers 파일을 편집할 수 있습니다.
sudo visudo
7. 자주 묻는 질문(FAQ)
- Q1: root 계정을 활성화하는 단점은 무엇인가요? A: root 계정은 시스템의 모든 권한을 가지고 있기 때문에, 실수로 시스템에 영향을 주는 위험이나, 불법 접근에 의한 피해가 증가합니다. 일반적인 관리 작업은
sudo
로 수행하고, root 계정의 활성화는 최소한으로 제한합시다. - Q2: root 계정을 비활성화하면 무엇이 바뀝니까? A: root로 직접 로그인할 수 없게 되지만,
sudo
령으로 관리자 권한을 얻는 것은 가능합니다. 비활성화함으로써 보안을 강화하고, 불법 접근 위험을 줄일 수 있습니다. - Q3: pkexec와 sudo의 차이점은? A:
pkexec
는 GUI 애플리케이션에서 root 권한을 사용할 때 권장되는 명령으로, 파일 소유권을 변경하지 않도록 동작합니다.sudo
는 주로 CLI에서 사용되므로, GUI 애플리케이션에는pkexec
를 사용하는 것이 적합합니다.