RHCSA Certification Guide

Red Hat Certified System Administrator — RHEL 기반 실기 리눅스 관리자 자격증


🎯 RHCSA란?

Red Hat Certified System Administrator (RHCSA) 는 Red Hat이 운영하는 실기(performance-based) 리눅스 시스템 관리자 자격증. RHEL 환경에서 실제 터미널로 작업을 수행하는 방식으로 평가하며, Red Hat 자격증 체계의 기초이자 RHCE 취득을 위한 필수 선행 조건.

시험 요약

항목내용
시험 코드EX200
주관Red Hat
형태온라인 원격 감독 또는 테스트 센터, 실기(performance-based)
시간3시간
합격 기준210/300 (70%)
비용$500 USD (리트라이 1회 포함)
유효기간3년
선수 조건없음 (RH124 + RH134 권장)
배포판RHEL 10 (2025년 기준 최신)

시험 환경

  • Red Hat 원격 시험 시스템 또는 테스트 센터
  • 라이브 RHEL 터미널 환경 제공
  • 허용 리소스: RHEL 내장 문서 (man 페이지, /usr/share/doc)
  • 비허용: 외부 웹사이트, PDF, 메모, 별도 문서, 인터넷 접속
  • 구매 후 12개월 내 예약
  • 재부팅 후에도 설정이 유지되어야 함 (Persistent Configuration)

📊 시험 도메인 (출제 범위)

flowchart TD
    EX200["RHCSA EX200"]

    subgraph Domains["출제 도메인"]
        D1["Essential Tools<br/>파일, 권한, SSH, man"]
        D2["Operate Running Systems<br/>부팅, 프로세스, 로그, 서비스"]
        D3["Configure Local Storage<br/>파티션, LVM, 마운트"]
        D4["File Systems<br/>ext4/xfs/VFAT, NFS, autofs, LVM 확장"]
        D5["Deploy & Maintain Systems<br/>스케줄링, 서비스, 부트로더, 패키지"]
        D6["Manage Networking<br/>IPv4/IPv6, DNS, firewalld"]
        D7["Manage Users & Groups<br/>사용자, 그룹, sudo"]
        D8["Manage Security<br/>firewalld, SELinux, SSH 키"]
        D9["Manage Software<br/>RPM, Flatpak, 저장소 관리"]
        D10["Shell Scripts<br/>조건문, 반복문, 입력 처리"]
    end

    EX200 --> Domains

1. Understand and Use Essential Tools

기본 명령어, 파일 조작, 권한, 원격 접속 등 기초.

주제핵심 내용
셸 명령어올바른 문법으로 명령어 실행
I/O 리다이렉션>, >>, |, 2>
텍스트 분석grep, 정규표현식
원격 접속SSH 접속
사용자 전환multiuser target에서 로그인/전환
아카이브/압축tar, gzip, bzip2
텍스트 편집파일 생성 및 편집 (vim 필수)
파일 관리생성, 삭제, 복사, 이동, 하드/소프트 링크
권한ugo/rwx 표준 권한 설정/변경
시스템 문서man, info, /usr/share/doc 활용

연습 포인트:

# I/O 리다이렉션
find / -name "*.conf" 2>/dev/null > /tmp/configs.txt
ls -la | grep "^d" | tee directories.txt
 
# grep + 정규표현식
grep -E "^root|^nobody" /etc/passwd
grep -ri "error" /var/log/ 2>/dev/null
 
# 링크
ln /path/to/file /path/to/hardlink          # 하드 링크
ln -s /path/to/file /path/to/symlink        # 심볼릭 링크
 
# 권한
chmod 755 script.sh
chmod u+s /usr/bin/program    # setuid
chmod g+s /shared/dir         # setgid
chmod +t /tmp                 # sticky bit

2. Manage Software

RPM 패키지 및 Flatpak 관리 (RHEL 10에서 추가됨).

주제핵심 내용
RPM 저장소dnf config-manager, /etc/yum.repos.d/
RPM 패키지dnf install/remove/update, rpm -qa
Flatpak 저장소Flatpak 리모트 설정
Flatpak 패키지Flatpak 애플리케이션 설치/제거

연습 포인트:

# RPM 저장소 설정
dnf config-manager --add-repo https://example.com/repo
dnf repolist
 
# RPM 패키지 관리
dnf install -y httpd
dnf remove httpd
dnf search nginx
dnf info nginx
rpm -qa | grep httpd
rpm -ql httpd                # 패키지 파일 목록
 
# Flatpak (RHEL 10 신규)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.mozilla.firefox
flatpak list
flatpak uninstall org.mozilla.firefox

3. Create Simple Shell Scripts

조건문, 반복문, 입력 처리 등 기본 스크립트 작성.

주제핵심 내용
조건문if, test, []
반복문for (파일, 커맨드라인 입력 처리)
스크립트 입력$1, $2 등 위치 매개변수
명령 출력 처리명령 실행 결과를 스크립트 내에서 활용

연습 포인트:

#!/bin/bash
# 사용자 생성 스크립트 예시
 
if [ $# -lt 1 ]; then
    echo "Usage: $0 <username>"
    exit 1
fi
 
USERNAME=$1
 
if id "$USERNAME" &>/dev/null; then
    echo "User $USERNAME already exists"
else
    useradd -m "$USERNAME"
    echo "User $USERNAME created"
fi
 
# for 루프 - 파일 처리
for FILE in /etc/*.conf; do
    echo "Config: $(basename $FILE)"
done
 
# 명령 출력 활용
DISK_USAGE=$(df -h / | tail -1 | awk '{print $5}')
echo "Root disk usage: $DISK_USAGE"

4. Operate Running Systems

부팅, 프로세스 관리, 로깅, 서비스 관리 등 시스템 운영.

주제핵심 내용
부팅정상 부팅, 재부팅, 셧다운
부팅 타겟systemctl set-default, rescue/emergency target
부팅 중단부팅 프로세스 인터럽트하여 시스템 접근 (root 패스워드 리셋)
프로세스 관리CPU/메모리 집약 프로세스 식별, kill
프로세스 스케줄링nice, renice
튜닝 프로파일tuned-adm
로그journalctl, 시스템 로그 파일 해석
저널 보존Persistent journal 설정
네트워크 서비스시작/중지/상태 확인
파일 전송시스템 간 안전한 파일 전송 (scp, rsync)

연습 포인트:

# 부팅 타겟
systemctl get-default
systemctl set-default multi-user.target
systemctl isolate rescue.target
 
# root 패스워드 리셋 (부팅 인터럽트)
# GRUB에서 e → linux 줄 끝에 rd.break 추가
# mount -o remount,rw /sysroot
# chroot /sysroot
# passwd root
# touch /.autorelabel
# exit → reboot
 
# 프로세스 관리
top                        # CPU/메모리 모니터링
ps aux --sort=-%mem | head
kill -9 <PID>
nice -n 10 ./script.sh    # 낮은 우선순위로 실행
renice -n 5 -p <PID>
 
# 튜닝
tuned-adm active
tuned-adm list
tuned-adm profile throughput-performance
 
# 저널 영구 저장
mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald
journalctl --disk-usage

5. Configure Local Storage

파티션, LVM, 마운트, 스왑 관리.

주제핵심 내용
파티션GPT 디스크에서 파티션 생성/삭제 (gdisk, parted)
PV 생성/삭제pvcreate, pvremove
VG 할당vgcreate, vgextend
LV 생성/삭제lvcreate, lvremove
UUID/Label 마운트/etc/fstab에 UUID 또는 Label로 설정
비파괴적 추가기존 시스템에 파티션, LV, 스왑 추가

연습 포인트:

# 파티션 생성 (GPT)
gdisk /dev/sdb
# n → 파티션 번호 → 시작/끝 → 타입(8e00 for LVM) → w
 
# LVM 전체 흐름
pvcreate /dev/sdb1
vgcreate vg_data /dev/sdb1
lvcreate -L 5G -n lv_data vg_data
mkfs.xfs /dev/vg_data/lv_data
 
# UUID로 마운트
mkdir /mnt/data
blkid /dev/vg_data/lv_data
echo "UUID=<uuid> /mnt/data xfs defaults 0 0" >> /etc/fstab
mount -a                    # 검증 필수
 
# 스왑 추가
lvcreate -L 1G -n lv_swap vg_data
mkswap /dev/vg_data/lv_swap
swapon /dev/vg_data/lv_swap
echo "/dev/vg_data/lv_swap swap swap defaults 0 0" >> /etc/fstab
swapon --show

6. Create and Configure File Systems

파일시스템 생성, NFS 마운트, autofs, LVM 확장.

주제핵심 내용
파일시스템 생성VFAT, ext4, xfs 생성/마운트/언마운트
NFS 마운트네트워크 파일시스템 마운트/언마운트
autofs자동 마운트 설정
LVM 확장기존 LV 확장
권한 문제 진단파일 권한 문제 진단/수정

연습 포인트:

# 파일시스템 생성
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2
mkfs.vfat /dev/sdb3
 
# NFS 마운트
mount -t nfs server:/export/share /mnt/nfs
# fstab 영구 설정
echo "server:/export/share /mnt/nfs nfs defaults 0 0" >> /etc/fstab
 
# autofs 설정
dnf install -y autofs
# /etc/auto.master에 추가:
# /mnt/auto  /etc/auto.nfs
# /etc/auto.nfs 파일 생성:
# share  -rw,sync  server:/export/share
systemctl enable --now autofs
 
# LVM 확장
lvextend -L +2G /dev/vg_data/lv_data
xfs_growfs /mnt/data       # xfs
# resize2fs /dev/vg_data/lv_data  # ext4

7. Deploy, Configure, and Maintain Systems

작업 스케줄링, 서비스 관리, 부트 타겟, 시간 동기화, 패키지 관리, 부트로더.

주제핵심 내용
스케줄링at, cron, systemd timer
서비스 관리시작/중지, 부팅 시 자동 시작
부트 타겟특정 타겟으로 자동 부팅 설정
시간 동기화타임 서비스 클라이언트 설정
소프트웨어CDN, 원격 저장소, 로컬 파일시스템에서 설치/업데이트
부트로더시스템 부트로더 수정

연습 포인트:

# cron
crontab -e
# 매일 3시에 백업
# 0 3 * * * /opt/scripts/backup.sh
 
# systemd timer
systemctl list-timers
 
# at (1회성 스케줄)
at now + 5 minutes <<< "/opt/scripts/cleanup.sh"
atq                        # 예약 목록
 
# 시간 동기화
timedatectl set-timezone Asia/Seoul
timedatectl set-ntp true
# /etc/chrony.conf에서 NTP 서버 설정
systemctl restart chronyd
chronyc tracking
 
# 부트 타겟
systemctl set-default graphical.target
systemctl set-default multi-user.target

8. Manage Basic Networking

IP 설정, DNS, 방화벽 관리.

주제핵심 내용
IPv4/IPv6IP 주소 설정
호스트명 확인hostname resolution 설정
네트워크 서비스부팅 시 자동 시작
방화벽firewalld/firewall-cmd

연습 포인트:

# IP 설정 (nmcli)
nmcli con show
nmcli con mod "ens160" ipv4.addresses 192.168.1.100/24
nmcli con mod "ens160" ipv4.gateway 192.168.1.1
nmcli con mod "ens160" ipv4.dns 8.8.8.8
nmcli con mod "ens160" ipv4.method manual
nmcli con up "ens160"
 
# 호스트명
hostnamectl set-hostname server1.example.com
echo "192.168.1.100 server1.example.com" >> /etc/hosts
 
# 방화벽
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

9. Manage Users and Groups

사용자/그룹 생성, 패스워드 정책, sudo 설정.

주제핵심 내용
사용자 관리생성, 삭제, 수정
패스워드패스워드 변경, aging 설정
그룹 관리생성, 삭제, 수정, 멤버십
sudo특권 접근 설정

연습 포인트:

# 사용자 생성
useradd -m -s /bin/bash -G developers jay
passwd jay
 
# 패스워드 aging
chage -M 90 -m 7 -W 14 jay    # 최대 90일, 최소 7일, 경고 14일
chage -l jay                    # aging 정보 확인
 
# 그룹 관리
groupadd devops
usermod -aG devops jay
id jay
 
# sudo 설정
visudo
# jay  ALL=(ALL)  ALL
# %devops  ALL=(ALL)  NOPASSWD: ALL

10. Manage Security

방화벽, 기본 권한, SSH 키 인증, SELinux.

주제핵심 내용
방화벽firewall-cmd/firewalld 설정
기본 권한umask 관리
SSH 키 인증SSH 키 기반 인증 설정
SELinux 모드enforcing/permissive 설정
SELinux 컨텍스트파일/프로세스 컨텍스트 조회
SELinux 파일 복원기본 파일 컨텍스트 복원
SELinux 포트포트 레이블 관리
SELinux booleanboolean 설정 변경

연습 포인트:

# SSH 키 인증
ssh-keygen -t ed25519
ssh-copy-id user@remote-server
 
# SELinux 모드
getenforce
setenforce 0                    # Permissive (임시)
# /etc/selinux/config에서 SELINUX=enforcing (영구)
 
# SELinux 컨텍스트
ls -Z /var/www/html/
ps auxZ | grep httpd
 
# SELinux 파일 컨텍스트 복원
restorecon -Rv /var/www/html/
 
# SELinux 포트 관리
semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 8888
 
# SELinux boolean
getsebool -a | grep httpd
setsebool -P httpd_can_network_connect on

⚖️ RHCSA vs LFCS 비교

항목RHCSALFCS
주관Red HatLinux Foundation
시험 코드EX200N/A
배포판RHEL 전용중립 (배포판 무관)
형태실기 (터미널)실기 (터미널)
시간3시간2시간
합격 기준70% (210/300)67%
비용$500 (리트라이 포함)$445 (리트라이 포함)
유효기간3년2년
범위깊고 좁음 (RHEL 생태계 집중)넓고 얕음 (여러 배포판 포괄)
SELinux깊이 있게 출제가벼운 수준
Flatpak포함 (RHEL 10)미포함
후속 자격증RHCE (필수 선행)없음
인지도엔터프라이즈/공공에서 강세국제적/벤더 중립
flowchart LR
    LFCS["LFCS<br/>벤더 중립, 폭넓은 기초"]
    RHCSA["RHCSA<br/>RHEL 특화, 깊이"]
    RHCE["RHCE<br/>Ansible 자동화"]
    RHCA["RHCA<br/>Red Hat Architect"]
    
    LFCS -.->|"병행 가능"| RHCSA
    RHCSA -->|"필수"| RHCE
    RHCE -->|"Specialist 5개"| RHCA

결론: LFCS와 RHCSA는 범위가 상당 부분 겹치므로 병행 준비 효율적. LFCS로 벤더 중립 역량 증명, RHCSA로 Red Hat 생태계 전문성 확보. RHCE를 취득하면 RHCSA도 자동 갱신(3년).


📖 학습 리소스

공식 교육 과정

과정설명비용
RH124 — Red Hat System Administration I리눅스 기초, 파일 관리, 사용자, 서비스교육 별도
RH134 — Red Hat System Administration II스토리지, 보안, 부팅, 네트워크 심화교육 별도
RH199 — RHCSA Rapid TrackRH124 + RH134 속성 과정교육 별도

추천 도서

도서저자특징
RHCSA Red Hat Enterprise Linux 9Asghar Ghori99개 실습, 74개 DIY 랩, 4개 모의시험
RHCSA/RHCE Red Hat Linux Certification Study GuideMichael Jang, Alessandro Orsaria시험 목표별 체계적 구성

무료/저가 학습 자료

리소스설명
Red Hat 공식 시험 목표출제 범위 확인
Red Hat Developer SubscriptionRHEL 무료 다운로드 (개발용)
Red Hat Skills Assessment무료 역량 평가
Sander van Vugt — RHCSA 시리즈 (Udemy/O’Reilly)실습 중심 비디오 강의

🗓️ 학습 계획 (8~12주)

gantt
    title RHCSA 학습 계획
    dateFormat  YYYY-MM-DD
    section 기초 (2주)
    RHEL 랩 환경 구축               :a1, 2026-03-01, 3d
    Essential Tools                 :a2, after a1, 7d
    Shell Scripts                   :a3, after a2, 4d
    section 시스템 운영 (3주)
    Operate Running Systems         :a4, after a3, 7d
    Users and Groups                :a5, after a4, 5d
    Deploy and Maintain Systems     :a6, after a5, 7d
    section 스토리지/네트워크 (3주)
    Configure Local Storage         :a7, after a6, 7d
    File Systems (NFS, autofs)      :a8, after a7, 7d
    Manage Networking               :a9, after a8, 5d
    section 보안 (2주)
    Manage Security (SELinux 집중)  :a10, after a9, 10d
    Manage Software (RPM, Flatpak)  :a11, after a10, 4d
    section 실전 준비 (2주)
    모의시험 1차                     :a12, after a11, 3d
    약점 보완                        :a13, after a12, 7d
    모의시험 2차                     :a14, after a13, 3d
    section 시험
    시험 응시                        :milestone, after a14, 0d

💡 시험 팁

SELinux — 가장 중요한 차별점

LFCS와 가장 큰 차이. 반드시 숙지해야 할 명령어:

# 필수 패키지
dnf install -y setroubleshoot-server setools-console
 
# 문제 해결 흐름
ausearch -m AVC -ts recent           # AVC 거부 로그 확인
sealert -a /var/log/audit/audit.log  # 상세 분석
semanage fcontext -l | grep <path>   # 기대 컨텍스트 확인
restorecon -Rv <path>                # 컨텍스트 복원

재부팅 영구 설정 (Persistent)

시험의 모든 설정은 재부팅 후에도 유지되어야 함:

영역영구 설정 방법
마운트/etc/fstab
방화벽firewall-cmd --permanent + --reload
SELinuxsetsebool -P, /etc/selinux/config
서비스systemctl enable
네트워크nmcli con mod (자동 저장)
커널 파라미터/etc/sysctl.d/
시간대timedatectl set-timezone

시간 관리

  • 약 15~20개 태스크를 3시간에 해결
  • 문제당 약 10분 배분
  • 쉬운 문제 먼저 풀어 점수 확보
  • LVM, SELinux 관련 문제는 시간 소요가 크므로 후반에 배치
  • man 페이지 활용 연습 필수

root 패스워드 리셋

거의 매 시험 출제되는 핵심 태스크:

1. 부팅 시 GRUB 메뉴에서 'e' 키
2. linux 줄 끝에 rd.break 추가
3. Ctrl+X로 부팅
4. mount -o remount,rw /sysroot
5. chroot /sysroot
6. passwd root
7. touch /.autorelabel    ← SELinux 필수!
8. exit → exit (재부팅)

🔗 관련 문서