CertNote/ 출퇴근 학습 노트
로드맵
KOEN
리눅스마스터 2급 · 2급리눅스마스터 2급
리눅스마스터 1급 · 1급리눅스마스터 1급
  • Week 1
    • 1.운영체제와 리눅스: 커널이 하는 일
    • 2.자유 소프트웨어와 배포판: 라이선스가 만든 생태계
    • 3.설치와 부팅: 전원을 켜는 순간부터
    • 4.파일시스템 구조와 파일의 종류: 모든 것은 파일이다
    • 5.Week 1 종합 복습: 개념을 꿰뚫는 시간
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
  • Week 12
    • 1.명령어 옵션 빈출 정리: 실기 단답으로 굳히는 핵심 명령
    • 2.설정 파일 경로·핵심 지시어 총정리: 빈칸 채우기를 위한 정밀 암기
    • 3.디스크·LVM·권한 작업형: 시나리오를 명령 순서로 풀어내기
    • 4.프로세스·스케줄링·systemd 작업형: 운영 명령을 시나리오로 굳히기
    • 5.시스템 작업형 모의고사 + 오답노트: 12문항으로 굳히기
  • Week 13
  • Week 14
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← 리눅스마스터 1급/Week 12/Day 2

기준: 리눅스마스터 1급 출제 기준·오류 제보

리눅스마스터 1급· AssociateWeek 12 · Day 2읽기 약 8분
핵심 정리
  • 실기 두 번째 난관은 설정 파일 빈칸 채우기다. 경로 하나, 필드 순서 하나, 지시어 철자 하나가 틀리면 점수가 날아간다.
  • 계정 3대 파일의 필드 수: passwd 7 / shadow 9 / group 4. shadow의 4번째는 최소 변경 간격, 5번째가 최대 사용 일수다.
  • /etc/fstab은 6개 필드. 5번째는 dump 백업 여부, 6번째는 fsck 검사 순서(루트=1, 나머지=2, 검사 안 함=0).
  • crontab 시간 필드는 분-시-일-월-요일. /etc/crontab에만 실행 사용자 필드가 추가로 붙는다.
  • 커널 파라미터는 /etc/sysctl.conf에 적고 sysctl -p로 적용. 새 계정 암호 정책 기본값은 /etc/login.defs의 PASS_* 지시어.
  • 네트워크: 이름↔IP 정적 매핑은 /etc/hosts, DNS 서버 지정은 /etc/resolv.conf의 nameserver.

Day 2 - 설정 파일 경로·핵심 지시어 총정리: 빈칸 채우기를 위한 정밀 암기

계정 관리 3대 파일: passwd / shadow / group

  • 리눅스 사용자 계정 정보는 세 파일에 나뉘어 저장된다.
  • 경로와 필드 구조를 통째로 외워야 한다.
# /etc/passwd — 사용자 계정 기본 정보 (콜론 7개 필드)
root:x:0:0:root:/root:/bin/bash
#  1 2 3 4  5    6      7
# 1.사용자명 2.암호(x=shadow사용) 3.UID 4.GID
# 5.설명(GECOS) 6.홈디렉터리 7.로그인셸
필드/etc/passwd 의미
1사용자 이름(로그인명)
2암호 자리(보통 x, 실제 암호는 shadow에)
3UID(사용자 ID, root=0)
4GID(기본 그룹 ID)
5설명/GECOS(이름·전화 등)
6홈 디렉터리 경로
7로그인 셸(/bin/bash, 로그인 차단은 /sbin/nologin)
# /etc/shadow — 암호화된 비밀번호 + 정책 (콜론 9개 필드)
alice:$6$xyz...:19700:0:90:7:14::
#  1     2        3   4  5 6  7  8 9
# 1.사용자명 2.암호화된비밀번호 3.마지막변경일(1970부터 일수)
# 4.변경최소일수 5.변경최대일수 6.만료경고일수
# 7.유예일수 8.계정만료일 9.예약필드
필드/etc/shadow 의미
1사용자 이름
2암호화된 비밀번호(*/!=잠김)
3마지막 암호 변경일(epoch 기준 일수)
4최소 변경 간격(일)
5최대 사용 일수(만료까지)
6만료 전 경고 일수
7만료 후 유예(비활성) 일수
8계정 만료일
9예약(미사용)

/etc/passwd는 7개 필드, /etc/shadow는 9개 필드다. passwd의 두 번째 필드 x는 "실제 암호는 shadow에 있다"는 표시다. UID 0은 항상 root다.

# /etc/group — 그룹 정보 (콜론 4개 필드)
staff:x:1001:alice,bob
#  1   2  3     4
# 1.그룹명 2.그룹암호(x) 3.GID 4.그룹멤버(쉼표구분)
 
# /etc/gshadow — 그룹 암호화 정보

⚠️ 함정: shadow의 5번째 필드가 "최대 사용 일수"이고 4번째가 "최소 변경 간격"이다. 순서를 바꿔 외우면 빈칸 채우기에서 틀린다. 또 /etc/passwd의 7번째(셸)에 /sbin/nologin이나 /bin/false가 들어가면 로그인이 차단되는 계정이라는 의미다.

shadow 2번째 필드의 $6$는 SHA-512 해시를 뜻한다. $1$은 MD5, $5$는 SHA-256, $6$는 SHA-512다. 필드가 *이나 !로 시작하면 그 계정은 비밀번호 로그인이 잠긴 상태다.

디스크 마운트 파일: /etc/fstab

  • /etc/fstab은 부팅 시 자동으로 마운트할 파일시스템을 정의한다.
  • 6개 필드 순서를 묻는다.
# /etc/fstab — 자동 마운트 설정 (공백/탭 구분, 6개 필드)
/dev/sda1   /        ext4    defaults        0 1
UUID=abc... /home    ext4    defaults        0 2
/dev/sdb1   /data    xfs     defaults,noatime 0 2
/swapfile   none     swap    sw              0 0
tmpfs       /tmp     tmpfs   defaults        0 0
필드/etc/fstab 의미예시
1장치(device) 또는 UUID/LABEL/dev/sda1, UUID=...
2마운트 지점(mount point)/home
3파일시스템 종류ext4, xfs, swap
4마운트 옵션defaults, noatime, ro
5dump 백업 여부(0=안 함)0 또는 1
6fsck 검사 순서(0=검사안함, 1=루트, 2=나머지)0/1/2

fstab의 6번째 필드는 fsck 검사 순서다. 루트 파일시스템(/)은 반드시 1, 나머지는 2, 검사 안 할 것은 0이다. 5번째 필드는 dump 백업 여부다. 이 두 숫자 필드의 의미를 혼동하기 쉽다.

마운트 옵션 defaults는 rw,suid,dev,exec,auto,nouser,async를 묶은 것이다. ro(읽기전용), noexec(실행금지), nosuid(SetUID무시), noatime(접근시간 기록 안 함, 성능↑)이 자주 쓰인다. 스왑은 옵션에 sw, 종류에 swap을 쓴다.

작업 스케줄: crontab 관련 파일

# 시스템 crontab
/etc/crontab              # 시스템 전역 cron 설정(사용자 필드 있음)
/etc/cron.d/              # 추가 cron 작업 조각 파일 디렉터리
/etc/cron.daily/          # 매일 실행 스크립트
/etc/cron.hourly/         # 매시간 실행 스크립트
/etc/cron.weekly/         # 매주 실행 스크립트
/etc/cron.monthly/        # 매월 실행 스크립트
/var/spool/cron/         # 사용자별 crontab 저장 위치
/etc/cron.allow           # cron 사용 허용 사용자 목록
/etc/cron.deny            # cron 사용 거부 사용자 목록
  • crontab 한 줄은 5개 시간 필드 + 명령으로 구성된다.
# 분 시 일 월 요일 [사용자] 명령
# *  *  *  *  *
# │  │  │  │  └─ 요일 (0-7, 0과 7=일요일)
# │  │  │  └──── 월 (1-12)
# │  │  └─────── 일 (1-31)
# │  └────────── 시 (0-23)
# └───────────── 분 (0-59)
 
30 2 * * *    /backup.sh           # 매일 02:30
0 */6 * * *   /check.sh            # 6시간마다
0 0 1 * *     /monthly.sh          # 매월 1일 00:00
*/10 * * * *  /poll.sh             # 10분마다
0 9 * * 1-5   /report.sh           # 평일(월~금) 09:00

crontab 시간 필드 순서는 분-시-일-월-요일이다. /etc/crontab(시스템용)에는 시간 5필드 뒤에 실행 사용자 필드가 추가로 들어가지만, 사용자 개인 crontab(crontab -e)에는 사용자 필드가 없다. 이 차이가 헷갈리기 쉽다.

⚠️ 함정: */10 * * * *는 "10분마다", 10 * * * *는 "매시 10분에 한 번"이다. 슬래시(/)가 있으면 주기(every), 없으면 정시 실행이다. 요일은 0과 7이 모두 일요일이다.

커널 파라미터: /etc/sysctl.conf

  • /etc/sysctl.conf는 부팅 시 적용할 커널 파라미터를 정의한다.
  • /proc/sys/ 아래 값과 1:1 대응한다.
# /etc/sysctl.conf 예시
net.ipv4.ip_forward = 1                  # IP 포워딩(라우터/NAT)
net.ipv4.icmp_echo_ignore_all = 1        # ping 응답 차단
kernel.hostname = server01               # 호스트명
vm.swappiness = 10                       # 스왑 사용 적극성
fs.file-max = 100000                     # 최대 파일 핸들 수
 
# 적용 명령
sysctl -p                # /etc/sysctl.conf 다시 읽어 적용
sysctl -a                # 현재 모든 커널 파라미터 출력
sysctl net.ipv4.ip_forward   # 특정 값 조회
sysctl -w net.ipv4.ip_forward=1   # 즉시(런타임) 설정

라우터/NAT를 만들려면 net.ipv4.ip_forward = 1을 /etc/sysctl.conf에 넣고 sysctl -p로 적용한다. sysctl -p는 "설정 파일 다시 읽기"다. echo 1 > /proc/sys/net/ipv4/ip_forward도 같은 효과지만 재부팅하면 사라진다.

암호 정책 기본값: /etc/login.defs

  • 새 계정 생성 시 적용되는 기본 암호 정책과 UID/GID 범위를 정의한다.
# /etc/login.defs 핵심 지시어
PASS_MAX_DAYS   90        # 암호 최대 사용 일수
PASS_MIN_DAYS   0         # 암호 최소 변경 간격
PASS_MIN_LEN    8         # 암호 최소 길이
PASS_WARN_AGE   7         # 만료 경고 일수
UID_MIN         1000      # 일반 사용자 UID 시작
UID_MAX         60000     # 일반 사용자 UID 끝
GID_MIN         1000      # 일반 그룹 GID 시작
CREATE_HOME     yes       # 홈 디렉터리 자동 생성
UMASK           022       # 기본 umask
지시어의미
PASS_MAX_DAYS암호 최대 사용 일수(만료까지)
PASS_MIN_DAYS암호 변경 최소 간격
PASS_WARN_AGE만료 전 경고 시작일
UID_MIN/UID_MAX일반 사용자 UID 범위

login.defs는 새로 만드는 계정의 기본값을 정한다. 이미 있는 계정의 정책을 바꾸려면 chage 명령을 쓴다. 예: chage -M 60 alice(alice의 최대 사용 일수 60일로 변경). login.defs를 고쳐도 기존 사용자에는 소급 적용되지 않는다는 점이 함정이다.

네트워크 설정 파일

/etc/hosts            # IP-호스트명 정적 매핑(DNS보다 우선 조회 가능)
/etc/resolv.conf      # DNS 서버(nameserver) 지정
/etc/nsswitch.conf    # 이름 조회 순서(hosts: files dns)
/etc/hostname         # 시스템 호스트명
/etc/host.conf        # 이름 해석 순서 보조 설정
/etc/services         # 포트-서비스명 매핑(80=http 등)
/etc/protocols        # 프로토콜 번호 매핑
# /etc/resolv.conf
nameserver 8.8.8.8
nameserver 168.126.63.1
search example.com
domain example.com
 
# /etc/hosts
127.0.0.1   localhost
192.168.0.10  server01 web

DNS 서버를 지정하는 파일은 /etc/resolv.conf이고, 지시어는 nameserver다. IP와 이름을 직접 매핑하는 파일은 /etc/hosts다. 둘을 혼동하기 쉽다. 조회 순서(파일 먼저냐 DNS 먼저냐)는 /etc/nsswitch.conf의 hosts: 줄에서 정한다.

경로·지시어 단답 암기 카드

작업/항목경로 또는 지시어
사용자 계정 기본 정보/etc/passwd (7필드)
암호화된 비밀번호·정책/etc/shadow (9필드)
그룹 정보/etc/group (4필드)
자동 마운트 설정/etc/fstab (6필드)
fstab의 fsck 검사 순서6번째 필드(루트=1)
시스템 cron 설정/etc/crontab
사용자별 crontab 저장/var/spool/cron/
커널 파라미터 영구 설정/etc/sysctl.conf
sysctl 설정 적용sysctl -p
암호 최대 사용 일수 기본값PASS_MAX_DAYS (login.defs)
IP-호스트명 정적 매핑/etc/hosts
DNS 서버 지정/etc/resolv.conf (nameserver)
포트-서비스명 매핑/etc/services
셸로 로그인 차단/sbin/nologin

직접 쳐보기

# 실제 파일을 열어 필드 구조 눈에 익히기
cat /etc/passwd | head -5      # 7필드 확인
sudo cat /etc/shadow | head -3 # 9필드 확인 (root 권한 필요)
cat /etc/group | head -5       # 4필드 확인
cat /etc/fstab                 # 6필드 확인
cat /etc/resolv.conf           # nameserver 확인
 
# 정책 확인/변경
grep PASS /etc/login.defs      # 암호 정책 기본값
sudo chage -l alice            # alice의 현재 암호 정책(있다면)
 
# sysctl 조회
sysctl net.ipv4.ip_forward

직접 cat으로 열어 실제 내용을 보면서 필드 위치를 손에 익힌다. 다음 날은 이 지식을 바탕으로 디스크·LVM·권한을 실제로 수행하는 작업형을 다룬다.

📖 용어

  • /etc/passwd : 사용자 계정의 기본 정보를 담은 7필드 파일. 2번째 x는 "실제 암호는 shadow에 있다"는 표시다.
  • UID / GID : 사용자 번호 / 그룹 번호. UID 0은 언제나 root다.
  • GECOS : /etc/passwd의 5번째 필드. 이름·전화 같은 사람이 읽는 설명이 들어간다.
  • /etc/shadow : 암호화된 비밀번호와 만료 정책을 담은 9필드 파일. 일반 사용자는 읽을 수 없다.
  • /sbin/nologin : 로그인 셸 자리에 넣어 그 계정의 로그인을 막는 특수 셸. /bin/false도 같은 용도다.
  • /etc/fstab : 부팅 시 자동 마운트할 파일시스템을 정의하는 6필드 파일.
  • dump 필드 : fstab 5번째 필드. 백업 대상 여부를 0/1로 표시한다.
  • fsck 순서 : fstab 6번째 필드. 부팅 시 검사 순서로, 루트는 1, 나머지는 2, 검사 제외는 0.
  • crontab 시간 필드 : 분-시-일-월-요일 순의 5개 필드. */N은 N마다, 숫자만 쓰면 정시 실행이다.
  • sysctl -p : /etc/sysctl.conf를 다시 읽어 커널 파라미터를 적용하는 명령.
  • PASS_MAX_DAYS : /etc/login.defs에서 새 계정의 암호 최대 사용 일수를 정하는 지시어. 기존 계정은 chage로 바꾼다.
  • /etc/resolv.conf : 사용할 DNS 서버를 nameserver 지시어로 적는 파일.
  • /etc/nsswitch.conf : 이름을 파일(files)로 먼저 볼지 DNS로 먼저 볼지 조회 순서를 정하는 파일.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

사용자의 암호화된 비밀번호와 암호 만료 정책이 저장되는 파일의 절대 경로는?

문제 2

/etc/passwd 파일의 필드 개수와 7번째 필드의 의미가 올바르게 짝지어진 것은?

문제 3

/etc/fstab에서 부팅 시 파일시스템 검사(fsck) 순서를 지정하는 필드는 몇 번째이며, 루트 파일시스템의 값은?

문제 4

부팅 후에도 유지되도록 IP 포워딩을 활성화하기 위해 수정하는 파일과 적용 명령으로 옳은 것은?

문제 5

crontab 항목 30 4 * * 0 /backup.sh가 실행되는 시점으로 옳은 것은?

문제 6

새로 생성되는 사용자 계정의 암호 최대 사용 일수 기본값을 설정하는 /etc/login.defs의 지시어는?

문제 7

시스템이 사용할 DNS 서버 주소를 지정하는 파일과 그 지시어로 옳은 것은?

이전명령어 옵션 빈출 정리: 실기 단답으로 굳히는 핵심 명령Week 12 · Day 1다음 디스크·LVM·권한 작업형: 시나리오를 명령 순서로 풀어내기Week 12 · Day 3

참고 공식 자료

  • 리눅스마스터 1급 공식 출제 기준(새 탭에서 열림)

이 페이지

  • 계정 관리 3대 파일: passwd / shadow / group
  • 디스크 마운트 파일: /etc/fstab
  • 작업 스케줄: crontab 관련 파일
  • 커널 파라미터: /etc/sysctl.conf
  • 암호 정책 기본값: /etc/login.defs
  • 네트워크 설정 파일
  • 경로·지시어 단답 암기 카드
  • 직접 쳐보기
  • 용어
  • 연습 문제