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
    • 1.Samba: 윈도와 리눅스를 잇는 파일·프린터 공유
    • 2.NFS: 유닉스 세계의 표준 파일 공유
    • 3.방화벽: iptables와 firewalld
    • 4.접근 제어와 보안: TCP Wrapper, SELinux, 로그 관리
    • 5.Week 11 종합 복습: 공유, 방화벽, 보안의 큰 그림
  • Week 12
  • Week 13
  • Week 14
합격 후기

© CertNote · 주간랩스

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

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

리눅스마스터 1급· AssociateWeek 11 · Day 5읽기 약 11분
핵심 정리
  • 이번 주 축은 연결(공유)과 방어(보안) — 열어야 쓸모가 있지만, 열린 만큼 위험하다.
  • 공유: 윈도가 섞이면 Samba(smbd 139/445, nmbd 137/138, smb.conf), 전부 리눅스면 NFS(rpcbind 111, /etc/exports).
  • 방화벽: iptables는 테이블→체인(INPUT/OUTPUT/FORWARD)→규칙, firewalld는 zone 단위. 적용 방식과 영속화 방법이 다르다.
  • 접근 제어: TCP Wrapper는 allow 우선, SELinux는 DAC 위의 MAC(모드 3종 + type 컨텍스트).
  • 최다 함정 3종: exports의 괄호 앞 공백, firewalld의 --permanent 뒤 --reload, setenforce로는 disabled 불가.

Day 5 - Week 11 종합 복습: 공유, 방화벽, 보안의 큰 그림

Day 1 복습: Samba — 윈도와의 다리

  • Samba는 윈도의 SMB/CIFS 프로토콜을 리눅스에서 구현해 이종 OS 간 파일·프린터 공유를 가능하게 한다.
  • 두 데몬이 핵심이다.
데몬역할포트
smbd파일 공유·인증TCP 139, 445
nmbdNetBIOS 이름 해석·브라우징UDP 137, 138
  • 설정은 /etc/samba/smb.conf의 섹션 구조로 한다.
  • 특수 섹션: [global](전역), [homes](홈 자동 공유), [printers](프린터 자동 공유). 나머지 섹션 이름이 곧 공유 이름이 된다.
  • 공유 지시어: path, writable(=read only no), valid users(그룹은 @), guest ok.
  • Samba 계정은 리눅스 계정과 별개로 smbpasswd -a로 만든다. 그 전에 리눅스 시스템 계정이 먼저 있어야 한다.
  • 검증은 testparm, 접속 테스트는 smbclient -L이다.

💡 한 줄 요약: Samba는 이중 권한 관문 — smb.conf의 Samba 권한과 리눅스 파일시스템 권한을 둘 다 통과해야 접근된다.

Day 2 복습: NFS — 유닉스 표준 공유

  • NFS는 RPC 기반이라 포트 매퍼 rpcbind(포트 111)가 반드시 살아 있어야 한다.
  • 서버 설정은 /etc/exports 하나로, "디렉터리 클라이언트(옵션)" 형식이다.
/srv/share    192.168.1.0/24(rw,sync,no_subtree_check)
  • 여기서 클라이언트와 괄호 사이 공백 금지가 최대 함정이다(공백이 있으면 *에 그 옵션이 열림).
  • 주요 옵션: ro/rw, sync/async, root_squash(기본·보안)/no_root_squash(위험).
  • 수정 후 적용은 exportfs -ra.
  • 클라이언트는 showmount -e로 확인하고 mount -t nfs 서버:경로 마운트점으로 붙인다.
구분NFSSamba
대상리눅스/유닉스윈도 혼합
설정 파일/etc/exportssmb.conf
의존rpcbind(111)smbd/nmbd
마운트 타입nfscifs
인증IP·UID 기반계정/암호 기반

선택 한 줄: 전부 리눅스면 NFS, 윈도가 섞이면 Samba.

Day 3 복습: 방화벽 — iptables와 firewalld

  • iptables는 커널 netfilter를 제어하며 테이블→체인→규칙 구조다.
  • filter 테이블의 세 체인은 방향으로 외운다 — INPUT(들어옴)·OUTPUT(나감)·FORWARD(통과).
  • 규칙은 위에서 아래로 순서대로 매칭되고, 안 걸리면 기본 정책(-P)이 적용된다.
옵션의미/타깃의미
-A끝에 추가ACCEPT허용
-I앞에 삽입DROP응답 없이 버림
-D삭제REJECT거부 응답
-P정책LOG로그 후 통과
-j타깃 지정
  • firewalld는 zone(drop/block/public/home/trusted)으로 신뢰 수준을 묶어 firewall-cmd로 관리한다.
  • 최대 함정은 런타임 vs --permanent — permanent로 바꾸면 --reload 해야 지금 적용된다.

⚠️ 공통 함정: iptables 규칙은 메모리에만 있으니 service iptables save로 저장해야 재부팅 후 유지된다. 또 원격에서 -P INPUT DROP 전에 SSH 허용 규칙을 먼저 넣지 않으면 자기 자신이 끊긴다.

Day 4 복습: 접근 제어와 로그

  • TCP Wrapper : hosts.allow(우선) → hosts.deny → 기본 허용 순서. 서비스 : 호스트 문법에 ALL/LOCAL/EXCEPT 키워드를 쓴다.
  • SELinux : DAC 위의 MAC. 세 모드 enforcing/permissive/disabled를 getenforce/setenforce로 다루되 setenforce로 disabled는 불가, 영구 변경은 /etc/selinux/config.
  • SELinux 컨텍스트 : user:role:type:level에서 type이 핵심. ls -Z로 보고 chcon으로 바꾸며 restorecon으로 되돌린다.
  • 로그 파일 : /var/log의 messages, secure, maillog, cron. 바이너리 wtmp/btmp/lastlog는 last/lastb/lastlog 전용 명령으로 읽는다.
  • rsyslog.conf : facility.priority 짝으로 지정 수준 이상을 기록. .none은 제외, =는 그 수준만.
  • logrotate : rotate N·compress·daily/weekly로 로그를 순환·보존한다.

보안 디버깅 신호: "권한은 맞는데 접근이 안 된다" → SELinux 컨텍스트 의심. setenforce 0으로 사라지면 SELinux 문제(운영에선 끄지 말고 컨텍스트 수정).

헷갈리기 쉬운 핵심 비교 한눈에

헷갈림정답
smbd vs nmbdsmbd=공유·인증(139/445), nmbd=이름해석(137/138)
Samba 마운트 vs NFS 마운트cifs vs nfs
exports 공백클라이언트(옵션) 사이 공백 금지
root_squash vs no_root_squash기본=root_squash(root 강등, 안전)
iptables -A vs -I-A 끝에 추가, -I 앞에 삽입
DROP vs REJECTDROP 무응답, REJECT 거부응답
firewalld 적용runtime(임시) vs --permanent(+reload)
hosts.allow vs denyallow 우선, 둘 다 없으면 허용
setenforce 범위enforcing↔permissive만, disabled 불가
wtmp/btmp 조회last / lastb (바이너리, cat 불가)

아래 종합 문제로 한 주를 정리한다.

📖 용어

  • SMB/CIFS : 윈도의 파일 공유 프로토콜. Samba가 리눅스에서 이것을 구현한다.
  • smbd / nmbd : Samba의 공유·인증 데몬(TCP 139/445) / NetBIOS 이름 해석 데몬(UDP 137/138).
  • rpcbind : RPC 서비스의 포트를 알려주는 포트 매퍼(111). NFS 동작의 전제 조건이다.
  • /etc/exports : NFS 서버가 "어떤 디렉터리를 누구에게 어떤 권한으로" 내보낼지 적는 파일.
  • root_squash : NFS에서 클라이언트의 root를 익명 사용자로 강등하는 기본 보안 옵션.
  • 체인(chain) : iptables에서 패킷 방향별 규칙 묶음. INPUT·OUTPUT·FORWARD 세 가지.
  • DROP / REJECT : 응답 없이 조용히 버리는 차단 / 거부 응답을 보내는 차단.
  • zone(영역) : firewalld가 신뢰 수준별로 묶어 둔 규칙 세트. public이 기본이다.
  • --permanent : firewalld 설정을 재부팅 후에도 유지시키는 옵션. 즉시 반영하려면 --reload가 필요하다.
  • hosts.allow / hosts.deny : TCP Wrapper의 허용·거부 목록. allow를 먼저 검사한다.
  • MAC(강제 접근 제어) : 커널이 정책을 강제해 root조차 벗어날 수 없는 접근 제어. SELinux가 이에 해당한다.
  • facility.priority : rsyslog에서 로그의 출처와 심각도를 지정하는 짝. 지정 수준 이상이 기록된다.

📝 연습 문제

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

문제 1

Samba에서 NetBIOS 이름 해석과 네트워크 브라우징을 담당하는 데몬과 그 포트로 옳은 것은?

문제 2

다음 /etc/exports 항목 중 의도와 달리 모든 호스트에 rw 권한이 열리는 잘못된 설정은?

문제 3

외부에서 들어오는 80번 포트(HTTP) TCP 접속을 허용하는 iptables 명령으로 옳은 것은?

문제 4

firewalld에서 http 서비스를 재부팅 후에도 유지되게 허용한 뒤 즉시 적용하려면?

문제 5

TCP Wrapper에서 hosts.allow와 hosts.deny 양쪽에 모두 해당하지 않는 호스트의 처리 결과는?

문제 6

SELinux를 영구적으로 disabled로 변경하는 올바른 방법은?

문제 7

rsyslog.conf의 authpriv.* /var/log/secure 설정에 대한 설명으로 옳은 것은?

문제 8

리눅스 클라이언트에서 NFS 공유와 Samba 공유를 마운트할 때 각각 사용하는 파일시스템 타입을 옳게 짝지은 것은?

문제 9

iptables에서 이미 "모두 DROP"하는 규칙이 체인 위쪽에 있을 때, 특정 포트 허용을 효과적으로 추가하려면 사용해야 하는 옵션은?

문제 10

로그인 실패 기록을 조회하는 명령과 그 대상 파일을 옳게 짝지은 것은?

문제 11

NFS가 동작하지 않을 때 가장 먼저 확인해야 할 서비스와 포트는?

문제 12

logrotate 설정 weekly + rotate 4 + compress의 동작으로 옳은 것은?

이전접근 제어와 보안: TCP Wrapper, SELinux, 로그 관리Week 11 · Day 4다음 명령어 옵션 빈출 정리: 실기 단답으로 굳히는 핵심 명령Week 12 · Day 1

참고 공식 자료

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

이 페이지

  • Day 1 복습: Samba — 윈도와의 다리
  • Day 2 복습: NFS — 유닉스 표준 공유
  • Day 3 복습: 방화벽 — iptables와 firewalld
  • Day 4 복습: 접근 제어와 로그
  • 헷갈리기 쉬운 핵심 비교 한눈에
  • 용어
  • 연습 문제