리눅스 루트 권한 얻는 방법 3가지 (초보자도 쉽게)

링크가 복사되었습니다
조회 1

리눅스 시스템을 다루다 보면 '루트 권한'이 필요한 순간이 자주 찾아옵니다. 루트 권한은 시스템의 모든 파일과 디렉토리에 접근하고 변경할 수 있는 최고 관리자 권한을 의미합니다. 일반 사용자 계정으로는 접근할 수 없는 중요한 설정 파일을 수정하거나, 시스템 전체에 영향을 미치는 명령어를 실행해야 할 때 루트 권한이 필수적입니다. 하지만 루트 권한은 강력한 만큼 신중하게 사용해야 하며, 잘못 사용하면 시스템 오류나 보안상의 심각한 문제를 초래할 수 있습니다. 이번 글에서는 리눅스에서 루트 권한을 얻는 가장 일반적이고 안전한 세 가지 방법과 각 방법의 특징, 주의사항 등을 자세히 알아보겠습니다.

1. sudo 명령어 사용하기

sudo(Superuser Do)는 현재 로그인한 사용자가 임시로 루트 권한을 빌려 특정 명령어를 실행할 수 있도록 해주는 명령어입니다. sudo를 사용하면 루트 계정으로 직접 로그인하지 않고도 안전하게 관리자 권한 작업을 수행할 수 있습니다. sudo를 사용하기 위해서는 해당 사용자가 /etc/sudoers 파일에 등록되어 있어야 하며, 일반적으로 관리자가 특정 사용자에게 sudo 권한을 부여합니다.sudo 명령어를 사용하는 가장 큰 장점은 모든 루트 권한 작업을 기록으로 남길 수 있다는 점입니다. 누가, 언제, 어떤 명령어를 루트 권한으로 실행했는지 추적 가능하여 보안 감사 및 문제 발생 시 원인 파악에 큰 도움이 됩니다. 또한, 루트 계정으로 직접 로그인하는 것보다 보안 위험이 현저히 낮습니다. 루트 계정은 비밀번호가 노출될 경우 시스템 전체가 위험에 빠질 수 있지만, sudo는 사용자 계정 비밀번호를 사용하므로 상대적으로 안전합니다.

사용법: sudo [명령어] 예를 들어, 패키지 목록을 업데이트하기 위해 apt update 명령어를 루트 권한으로 실행하려면 다음과 같이 입력합니다. sudo apt update 명령어를 입력하면 현재 로그인한 사용자 계정의 비밀번호를 입력하라는 메시지가 나타납니다. 비밀번호를 올바르게 입력하면 해당 명령어가 루트 권한으로 실행됩니다.

주의사항: sudo는 기본적으로 5분 동안 인증을 유지하므로, 이 시간 동안에는 비밀번호 재입력 없이 연속으로 sudo 명령어를 사용할 수 있습니다. 하지만 이 편리함 때문에 장시간 자리를 비울 때는 sudo 세션을 종료하는 것이 보안상 좋습니다. 또한, 모든 사용자에게 sudo 권한을 부여하는 것은 위험하므로, 반드시 필요한 사용자에게만 최소한의 권한을 부여해야 합니다.

2. su 명령어 사용하기

su(Substitute User) 명령어는 다른 사용자 계정으로 전환할 때 사용하는 명령어입니다. 별도의 옵션 없이 su만 입력하면 기본적으로 루트 사용자로 전환됩니다. 이 경우 루트 계정의 비밀번호를 알아야 합니다. su 명령어를 사용하면 해당 터미널 세션 동안 루트 권한을 유지하게 되므로, 여러 개의 관리자 작업을 연속으로 수행할 때 편리할 수 있습니다. 하지만 sudo에 비해 보안상 취약점이 있습니다.

사용법:

  1. 루트 사용자로 전환: su 루트 계정 비밀번호를 입력하라는 메시지가 나타납니다. 올바른 비밀번호를 입력하면 프롬프트가 #으로 변경되며, 이는 현재 루트 권한으로 작업 중임을 나타냅니다.

  2. 특정 사용자로 전환 (예: user1): su user1 user1 계정의 비밀번호를 입력합니다.

주의사항: su 명령어는 루트 계정으로 전환한 후에는 별도의 기록이 남지 않으므로 누가 어떤 작업을 했는지 추적하기 어렵습니다. 또한, 루트 계정 비밀번호가 노출되면 시스템 전체가 위험에 노출될 수 있습니다. 따라서 su 명령어 사용 후에는 작업을 마친 즉시 exit 명령어를 사용하여 일반 사용자로 돌아오는 습관을 들이는 것이 중요합니다. 루트 계정 비밀번호는 주기적으로 변경하고, 추측하기 어려운 복잡한 비밀번호를 사용하는 것이 좋습니다.

3. 루트 계정으로 직접 로그인하기

일부 리눅스 배포판에서는 설치 과정에서 루트 계정의 비밀번호를 설정하도록 하여, 루트 계정으로 직접 로그인하는 것을 허용하기도 합니다. 하지만 이는 보안상 매우 권장되지 않는 방법입니다. 루트 계정으로 직접 로그인하면 모든 작업이 루트 권한으로 실행되므로, 실수로 인한 시스템 손상 위험이 매우 높습니다. 또한, SSH 등으로 원격 접속 시 루트 계정으로 직접 로그인하는 것은 무차별 대입 공격(Brute-force attack)의 표적이 되기 쉬워 보안에 매우 취약합니다.

사용법: 로그인 프롬프트에서 사용자 이름으로 root를 입력하고, 설정했던 루트 계정 비밀번호를 입력하여 로그인합니다.

주의사항: 이 방법은 시스템 관리자가 아니라면 거의 사용하지 않는 것이 좋습니다. 특히, 웹 서버나 중요한 데이터를 다루는 서버 환경에서는 절대로 루트 계정으로 직접 로그인하는 것을 허용해서는 안 됩니다. 부득이하게 루트 권한이 필요한 작업이 있다면, 앞서 설명한 sudo 명령어를 사용하는 것이 훨씬 안전하고 효율적입니다. 대부분의 리눅스 배포판에서는 보안 강화를 위해 기본적으로 루트 계정 직접 로그인을 비활성화하고 있습니다.

이 글이 도움이 되셨나요?← 홈으로