단순히 root 권한으로 작업을 하고 싶은 거라면?

(아예 root로 로그인을 하고 싶은 거라면 다음 단락부터 보세요.)

우분투는 기본적으로 root 계정 로그인은 막아 뒀다. 그러나 터미널에 sudo 명령어 형식으로 쓰면 root 권한으로 명령을 내릴 수 있다.

터미널에서 sudo nautilus 식으로 실행하면 root 계정으로 GUI 탐색도 할 수 있다(nautilus는 우분투의 파일 탐색기다).

터미널에서 아예 root 계정으로 작업하고 싶다면 아래 명령어를 치면 된다.

sudo su

그러면 암호를 묻는데, 내 계정의 암호를 입력하면 root 계정으로 전환된다.

아예 GUI에서도 root로 로그인을 허용하는 방법

특수한 조건이라 아예 root로 로그인해야 하는 경우에는 아래 방법을 사용할 수 있다.

root 계정 암호 설정

우분투는 root 로그인 자체를 막아 놨으므로 root 계정 암호가 설정돼 있지 않다. root 계정으로 로그인하려면 root 계정 암호를 설정해야 한다.

아래 명령어로 설정하자.

sudo su
passwd

우선 sudo su로 루트 권한을 얻고, passwd 명령어로 root 계정의 암호를 설정하는 것이다.

GDM 설정

/etc/gdm3/custom.conf 파일을 열여서 # TimedLoginDelay = 10 아랫줄에 AllowRoot=true라고 라인을 추가해 준다.

# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.

[daemon]
# Uncoment the line below to force the login screen to use Xorg
#WaylandEnable=false

# Enabling automatic login
#  AutomaticLoginEnable = true
#  AutomaticLogin = user1

# Enabling timed login
#  TimedLoginEnable = true
#  TimedLogin = user1
#  TimedLoginDelay = 10
AllowRoot=true

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
# More verbose logs
# Additionally lets the X server dump core if it crashes
Enable=true

gdm-password 파일 변경

/etc/pam.d/gdm-password 파일에서 아래 라인(아마도 2번째 줄)은 GUI에서 루트 계정을 사용할 수 없게 만드는 설정이다. 주석 처리1해서 효과가 없도록 만들자.

auth	required	pam_succeed_if.so user != root quiet_success

주석 처리를 하려면 맨 앞에 #을 붙인다. 그러면 아래처럼 될 것이다.

# auth	required	pam_succeed_if.so user != root quiet_success

재부팅

재부팅하면 GUI에서 root 계정으로 로그인할 수 있다.

참고한 내용: How to allow GUI root login on Ubuntu 20.04 Focal Fossa Linux

  1. 컴퓨터 세계에서 주석은 프로그래밍 코드들 중 컴퓨터엔 영향을 미치지 않는 글자들을 말한다. 주석은 컴퓨터가 아니라 사람이 읽을 용도로 작성하며 작성 규칙이 있다. 예컨대 PHP에서는 // 뒤의 문자열은 컴퓨터가 처리하지 않는다. 리눅스 설정 파일의 대부분은 #이 주석 표시다. 작동하는 코드의 앞에 주석 표시를 붙이면 코드는 작동하지 않게 된다. 즉, 주석 처리를 해서 코드를 취소하느 것이다.