Ubuntu 서버 사용 (2) 사용자·권한·보안 기초
| [개요] |
| Ubuntu 서버를 설치한 후 가장 먼저 정리해야 할 것은 사용자 계정, 권한 구조, 그리고 기본 보안 설정이다. 이 글에서는 root 계정을 그대로 사용했을 때의 위험성부터, 일반 사용자 생성, sudo 권한 설정, 파일 권한(rwx) 구조까지 초보자도 이해할 수 있도록 실습 중심으로 설명한다. 실제 서버 운영 기준에 맞춰 사고를 예방하는 권한 관리 구조를 단계별로 정리한 Ubuntu 서버 보안 기초 가이드이다. |
| Ubuntu 서버 사용 시리즈 안내 |
| (1) 우분투 기본 설정과 운영 준비 (2) 우분투 사용자·권한·보안 기초 (3) 우분투 네트워크와 SSH 접속 (4) 우분투 DB·웹서버 확장 준비 (5) 우분투 MariaDB 서버 구축 (6) 우분투 Nginx 웹서버 구축 (7) 우분투 서버 구조 완성 |
1. 리눅스 서버 사용자 구조 이해



(1) root 계정의 의미
리눅스에서 root 계정은 시스템의 모든 권한을 가진 최고 관리자 계정이다.
파일 삭제, 서비스 중단, 사용자 제거 등 모든 작업이 제한 없이 가능하다.
즉, root 계정은
- 실수 한 번으로 시스템을 망가뜨릴 수 있고
- 외부 침입 시 서버 전체가 장악될 수 있다
이러한 이유로 실제 서버 운영에서는 root 계정을 직접 사용하지 않는다.
(2) 서버 운영의 기본 원칙
Ubuntu 서버 운영의 기본 원칙은 다음과 같다.
- root 계정은 직접 로그인하지 않는다
- 일반 사용자 계정으로 서버에 접속한다
- 관리자 작업만 sudo로 수행한다
이 구조는 보안을 위한 장치이면서,
사람의 실수를 전제로 한 안전 설계이다.
2. 일반 사용자 계정 생성



(1) 사용자 계정이 필요한 이유
서버를 root 계정 하나로 운영하면
작은 실수 하나가 곧 장애로 이어진다.
일반 사용자 계정을 분리하면
- 작업 범위를 제한할 수 있고
- 사고 발생 시 피해를 최소화할 수 있다
이는 실습 서버든 운영 서버든 동일하게 적용되는 원칙이다.
(2) 사용자 계정 생성
다음 명령어로 새로운 사용자를 생성한다.
sudo adduser serveruser
이 명령은 다음 작업을 자동으로 수행한다.
- 사용자 계정 생성
- 홈 디렉터리 생성
- 기본 그룹 생성
- 비밀번호 설정
(3) 사용자 생성 확인
id serveruser
사용자 정보가 출력되면 계정 생성이 완료된 상태이다.
3. sudo 권한 이해와 설정



(1) sudo의 역할
sudo는 일반 사용자가 필요한 순간에만 관리자 권한을 사용하는 방식이다.
즉,
- 항상 관리자 ❌
- 필요할 때만 관리자 ⭕
라는 구조를 만든다.
이 방식은 서버 운영에서 가장 안정적인 권한 관리 방법이다.
(2) sudo 권한 부여
생성한 사용자에게 sudo 권한을 부여한다.
sudo usermod -aG sudo serveruser
이 명령은 serveruser를 sudo 그룹에 추가한다.
설정 적용을 위해 로그아웃 후 다시 로그인한다.
(3) sudo 권한 확인
sudo ls /root
비밀번호 입력 후 명령이 실행되면 sudo 설정이 정상이다.
4. root 계정 직접 로그인 제한 개념



(1) root 로그인 차단이 필요한 이유
외부 공격자는 가장 먼저 root 계정을 시도한다.
따라서 SSH를 통한 root 직접 로그인은 매우 위험하다.
(2) 권장되는 접속 구조
Ubuntu 서버에서 권장하는 접속 구조는 다음과 같다.
- 외부 접속: 일반 사용자 계정
- 관리자 작업: sudo 사용
- root 계정: 내부 관리용
실제 root 로그인 차단 설정은
다음 글인 네트워크와 SSH 접속 단계에서 다룬다.
5. 리눅스 파일 권한 구조



(1) rwx 권한 구조
리눅스 파일 권한은 다음과 같이 표현된다.
| r | 읽기 |
| w | 쓰기 |
| x | 실행 |
권한은 항상 세 묶음으로 구성된다.
- 소유자
- 그룹
- 기타 사용자
(2) 권한 확인 방법
ls -l
서버 운영 중 발생하는
접근 거부, 실행 불가 문제의 대부분은
파일 권한 설정에서 발생한다.
6. 서버 보안의 출발점 정리



(1) 반드시 기억해야 할 핵심
이 단계에서 반드시 기억해야 할 핵심은 다음과 같다.
- root 계정을 직접 사용하지 않는다
- 일반 사용자 + sudo 구조를 유지한다
- 권한은 최소한으로 부여한다
- 서버는 항상 실수를 전제로 설계한다
이 기본 구조가 잡혀 있어야
다음 단계인 네트워크·SSH 설정과
DB·웹서버 확장이 안전하게 진행된다.
나오며
이번 글에서는 Ubuntu 서버 운영의 핵심 기초인
사용자·권한·보안 구조를 정리했다.
겉으로 보이는 변화는 없지만,
이 단계는 서버 안정성과 운영 품질을 결정하는 가장 중요한 작업이다.
다음 글에서는
👉 [Ubuntu 서버 사용하기] (3) 우분투 네트워크와 SSH 접속을 통해
서버를 외부에서 안전하게 관리하는 방법을 정리한다.
| Ubuntu 서버 사용 시리즈 안내 |
| (1) 기본 설정과 운영 준비 (2) 사용자·권한·보안 기초 (3) 네트워크와 SSH 접속 (4) DB·웹서버 확장 준비 (5) MariaDB 서버 구축 (6) Nginx 웹서버 구축 (7) Ubuntu 서버 구조 완성 |
'리눅스 서버' 카테고리의 다른 글
| Ubuntu 서버 사용 (4) DB·웹서버 확장 준비 (1) | 2025.12.25 |
|---|---|
| Ubuntu 서버 사용 (3) 네트워크와 SSH 접속 (1) | 2025.12.25 |
| Ubuntu 서버 사용 (1) 기본 설정과 운영 준비 (3) | 2025.12.25 |
| [VMware] (3) VMware에 Ubuntu 리눅스 설치하기 (2) | 2025.12.25 |
| [VMware] (2) VMware Workstation Player 개념부터 설치까지 (2) | 2025.12.25 |
댓글