CertNote/ 출퇴근 학습 노트
로드맵
KOEN
리눅스마스터 2급 · 2급리눅스마스터 2급
  • 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
    • 1.웹과 메일
    • 2.DNS: 이름과 주소
    • 3.원격 접속과 파일 전송
    • 4.파일 공유와 옛 인터넷 서비스
    • 5.Week 10 종합 복습: 인터넷 서비스 한 장
  • Week 11
리눅스마스터 1급 · 1급리눅스마스터 1급
합격 후기

© CertNote · 주간랩스

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

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

리눅스마스터 2급· AssociateWeek 10 · Day 4읽기 약 10분
핵심 정리
  • NFS는 유닉스·리눅스끼리, 삼바(Samba)는 리눅스와 윈도 사이의 파일 공유다.
  • 삼바의 구성 요소는 SMB · CIFS · NetBIOS 다. RPC는 NFS 쪽이라 여기 끼면 오답이다.
  • NFS 설정은 /etc/exports, 삼바 설정은 /etc/samba/smb.conf 다.
  • 웹 이전의 서비스들 — Gopher(메뉴 방식 정보 검색) · Usenet(뉴스그룹) · Archie(FTP 검색).
  • 이름을 섞어 놓고 성격이 다른 것을 고르게 하는 문제가 반복된다.

Day 4 - 파일 공유와 옛 인터넷 서비스

NFS — 유닉스끼리

항목내용
풀네임Network File System
개발Sun Microsystems
상대유닉스·리눅스 사이
기반RPC(Remote Procedure Call)
설정 파일/etc/exports
관련 데몬nfsd, rpcbind(옛 portmap)
   [서버]  /data 를 내보낸다(export)
              │
              ▼
   [클라이언트]  mount 해서 자기 디렉터리처럼 쓴다
# 서버: /etc/exports
/data  192.168.0.0/24(rw,sync)
 
exportfs -a               # 설정 반영
showmount -e 서버주소      # 내보낸 목록 확인
 
# 클라이언트
mount -t nfs 서버:/data /mnt
  • 원격 디렉터리를 마운트해 로컬처럼 쓴다. 사용자는 네트워크 너머라는 것을 느끼지 못한다.
  • RPC 기반이라는 점이 삼바와 구별되는 핵심이다.

/etc/exports 한 줄 읽기

   /data    192.168.0.0/24(rw,sync)
   └─┬─┘    └─────┬──────┘└───┬───┘
     │            │           └── 옵션 (괄호 안, 쉼표로 구분)
     │            └────────────── 접근을 허용할 대상 (호스트·대역)
     └─────────────────────────── 내보낼 디렉터리
옵션뜻
ro / rw읽기 전용 / 읽고 쓰기
sync디스크에 실제로 쓴 뒤 응답한다 — 안전
root_squash클라이언트의 root를 권한 없는 사용자로 바꿔 취급 (기본값)
no_root_squash클라이언트의 root를 서버에서도 root로 인정 — 위험
  • 대상과 괄호 사이에 공백을 넣지 않는다. 192.168.0.0/24 (rw) 처럼 띄우면 대역과 옵션이 따로 떨어져 엉뚱한 범위에 쓰기 권한이 열린다.
  • root_squash가 기본인 이유는, 그렇지 않으면 자기 PC에서 root인 사람이 서버의 공유 파일까지 마음대로 할 수 있기 때문이다.
  • 파일을 고친 것만으로는 반영되지 않는다. exportfs -a(전부 내보내기) 또는 exportfs -r(다시 읽어 반영)을 실행한다. exportfs -v는 지금 내보내고 있는 목록을 보여 준다.
$ showmount -e 192.168.0.10
Export list for 192.168.0.10:
/data 192.168.0.0/24
 
# mount -t nfs 192.168.0.10:/data /mnt
$ df -h /mnt
Filesystem          Size  Used Avail Use% Mounted on
192.168.0.10:/data   50G   20G   30G  40% /mnt
  • 마운트 대상을 서버:디렉터리 로 적는다. df의 Filesystem 칸에 /dev/sda1 같은 장치 대신 이 꼴이 보이면 NFS다.
  • showmount -e는 클라이언트에서 "저 서버가 무엇을 내놓았나"를 볼 때, exportfs는 서버에서 "내가 무엇을 내놓았나"를 다룰 때 쓴다.
  • NFS는 소유자를 이름이 아니라 UID 번호로 주고받는다. 서버에서 alice(uid 1001)의 파일은, 클라이언트에서 uid 1001을 가진 사람의 것으로 보인다. 4주 차에 본 "파일에는 번호가 저장된다"가 여기서도 그대로 통한다.
  • 포트는 NFS가 2049번, RPC 서비스의 위치를 알려 주는 rpcbind가 111번이다.

삼바 — 윈도와

항목내용
목적리눅스와 윈도 사이의 파일·프린터 공유
프로토콜SMB, 이를 확장한 CIFS
이름 관리NetBIOS
설정 파일/etc/samba/smb.conf
데몬smbd(파일 공유), nmbd(이름 관리)
줄임말풀네임
SMBServer Message Block
CIFSCommon Internet File System — SMB를 확장한 것
NetBIOSNetwork Basic Input/Output System

⚠️ "삼바의 구성 요소와 거리가 먼 것은?" 이라는 문제에 SMB · CIFS · NetBIOS · RPC 가 보기로 나온다. 답은 RPC 다. RPC는 NFS가 쓰는 것이지 삼바의 요소가 아니다.

smbclient -L //서버                 # 공유 목록 보기
mount -t cifs //서버/공유 /mnt      # 마운트
testparm                           # smb.conf 문법 검사

smb.conf의 모양

   [global]
      workgroup = WORKGROUP
      security = user
 
   [share]
      path = /srv/share
      writable = yes
      valid users = alice
섹션뜻
[global]서버 전체에 적용되는 설정
[homes]각 사용자의 홈 디렉터리를 자동으로 공유
[printers]프린터 공유
그 밖의 [이름]공유 하나. 대괄호 안의 이름이 윈도에서 보이는 공유 이름
  • [global]·[homes]·[printers] 셋은 미리 뜻이 정해진 이름이고, 나머지는 관리자가 마음대로 짓는 공유 이름이다.
  • 삼바는 리눅스 계정과 별도로 삼바용 비밀번호를 둔다. 리눅스에 alice 계정이 있어도 smbpasswd -a alice 로 등록해야 삼바에 로그인할 수 있다.
  • 두 데몬의 일이 갈린다 — smbd는 파일·프린터 공유와 인증, nmbd는 NetBIOS 이름으로 컴퓨터를 찾게 해 주는 일이다. 포트도 smbd가 TCP 139·445, nmbd가 UDP 137·138로 나뉜다.
  • 공유를 적는 법이 운영체제마다 다르다. 윈도는 역슬래시로 \\서버\공유, 리눅스는 슬래시로 //서버/공유 다.
  • smbclient //서버/share -U alice 로 들어가면 smb: \> 프롬프트가 뜨고, FTP처럼 get·put 으로 파일을 주고받는다. 마운트하지 않고 잠깐 꺼내 올 때 쓴다.
  • 삼바(Samba) 라는 이름은 프로토콜 이름 SMB 에서 따왔다.

NFS와 삼바 비교

구분NFS삼바(Samba)
상대유닉스·리눅스윈도
프로토콜RPC 기반 NFSSMB / CIFS
이름 관리—NetBIOS
설정 파일/etc/exports/etc/samba/smb.conf
데몬nfsdsmbd, nmbd
  • "윈도와 공유하려면?" → 삼바, "유닉스끼리 공유하려면?" → NFS 로 바로 답한다.
구분NFS삼바
주요 포트2049 (+ rpcbind 111)139 · 445
마운트mount -t nfs 서버:/data /mntmount -t cifs //서버/공유 /mnt
공유 목록 보기showmount -e 서버smbclient -L //서버
설정 반영·검사exportfs -rtestparm
사용자 인증주로 호스트(IP) 기준으로 허용사용자 이름·비밀번호 (smbpasswd)
  • 마운트 명령은 -t 뒤의 낱말과 원격 표기가 갈린다. nfs는 서버:/경로, cifs는 //서버/공유다.
  • NFS·삼바와 어제의 FTP는 쓰는 느낌이 다르다. NFS·삼바는 "마운트해서 내 디렉터리처럼" 쓰고, FTP는 "접속해서 파일을 주고받는다." 그래도 셋 다 "파일 공유·전송" 묶음에 든다.
증상원인조치
mount.nfs: access denied by server/etc/exports에 내 주소가 허용되어 있지 않거나 아직 반영 전서버에서 exports 확인 후 exportfs -r
NFS로 마운트는 됐는데 쓰기가 안 된다옵션이 ro이거나, 디렉터리 권한이 그 UID에 쓰기를 주지 않는다exports의 rw, 서버 디렉터리의 권한
클라이언트의 root가 만든 파일 소유자가 nobody(배포판에 따라 nfsnobody)root_squash가 root를 낮춰 취급했다정상 동작이다
삼바 접속에서 비밀번호가 계속 거부된다삼바 비밀번호를 등록하지 않았다smbpasswd -a 사용자
smb.conf를 고친 뒤 공유가 사라졌다문법 오류testparm으로 검사

웹 이전의 인터넷 서비스

서비스하는 일
Gopher메뉴 방식으로 정보를 찾아가는 서비스. 웹의 전신
Usenet뉴스그룹 — 주제별 게시판. 프로토콜은 NNTP
ArchieFTP 서버의 파일을 검색해 주는 서비스
VeronicaGopher 안의 내용을 검색
IRC실시간 채팅
WAIS문서 데이터베이스 검색
Telnet원격 접속
  • Gopher는 웹(WWW)이 나오기 전의 정보 검색 서비스다. 메뉴를 따라 내려가는 방식이라 하이퍼링크가 없었다.
  • Usenet은 뉴스그룹이고 프로토콜이 NNTP(Network News Transfer Protocol)다.
  • Archie는 FTP 검색이다. 이름이 낯설어 보기로 쓰이기 쉽다.
검색 서비스무엇을 찾아 주나
Archie익명 FTP 서버에 있는 파일 이름
VeronicaGopher 서버들의 메뉴 항목
WAIS문서의 본문 내용(키워드 검색)
  • 셋 다 "검색"이지만 뒤지는 대상이 다르다. Archie–FTP, Veronica–Gopher로 짝을 지어 둔다.
  • Gopher와 WWW의 차이는 문서를 잇는 방식이다. Gopher는 위에서 아래로 메뉴를 골라 내려가고, WWW는 문서 속 하이퍼링크를 눌러 어디로든 건너뛴다. Gopher는 70번, WWW(HTTP)는 80번 포트다.
  • Usenet은 메일과 달리 "여럿이 함께 보는 게시판" 이다. 글은 comp.os.linux처럼 점으로 나뉜 주제별 뉴스그룹에 올라간다. NNTP의 포트는 119번이다.
  • 리누스 토르발스가 1991년에 리눅스를 처음 알린 곳도 Usenet의 뉴스그룹 comp.os.minix였다. 1주 차에 본 리눅스의 탄생과 이어진다.
이름이 닮은 프로토콜무엇에 쓰나
SMTP메일 전송
NNTP뉴스그룹(Usenet) 전송
NTP시간 동기화
SNMP네트워크 장비 관리
  • 넷은 철자가 한두 글자씩만 달라 보기에 함께 나온다. 약자를 풀어서 가른다 — SMTP의 M은 Mail, NNTP의 둘째 N은 News, NTP의 T는 Time, SNMP의 M은 Management다.

성격으로 묶어 보기

묶음서비스
파일 공유·전송FTP · NFS · Samba · SCP · SFTP
원격 접속TELNET · SSH · rlogin
정보 검색WWW · Gopher · Archie · WAIS
메시지·게시판메일 · Usenet · IRC

이 묶음이 그대로 문제가 된다. 예를 들어 WWW · SAMBA · TELNET · GOPHER 중에서 성격이 다른 것을 고르라면, WWW·Gopher는 정보 검색, TELNET은 원격 접속, SAMBA는 파일 공유이므로 무엇을 기준으로 묶는지 문장을 잘 읽어야 한다.

그 밖의 서비스

서비스하는 일포트
DHCPIP 주소를 자동으로 할당67/68
NTP시간 동기화123
SNMP네트워크 장비 관리·감시161
LDAP디렉터리(계정 정보) 서비스389
Syslog로그 수집514
  • DHCP는 IP 자동 할당, NTP는 시간 맞추기라는 대응을 기억한다. DNS(이름 변환)와 헷갈리지 않도록 주의한다.
  • DHCP의 두 포트는 67번이 서버, 68번이 클라이언트다. DHCP가 내려 주는 것은 IP 주소만이 아니라 서브넷마스크·기본 게이트웨이·DNS 서버 주소까지다. 9주 차에 손으로 넣던 값들을 한꺼번에 받는 셈이다.
  • 주소는 영구히 주는 것이 아니라 기간을 정해 빌려준다(임대). 기간이 끝나기 전에 갱신하지 않으면 그 주소는 다른 컴퓨터에 돌아간다.
  • 이 표의 서비스 가운데 DHCP·NTP·SNMP는 UDP를 쓴다. 짧게 묻고 답하는 일이라 연결을 맺는 TCP가 필요 없다.

내일은 이번 주의 인터넷 서비스를 한 장으로 묶어 정리한다.

📖 용어

  • NFS : 유닉스·리눅스 사이의 파일 공유 시스템. RPC를 기반으로 하며 /etc/exports로 설정한다.
  • RPC : 원격 프로시저 호출. NFS가 사용하는 통신 방식이다.
  • 삼바(Samba) : 리눅스와 윈도 사이의 파일·프린터 공유를 제공하는 소프트웨어.
  • SMB / CIFS : 삼바가 사용하는 파일 공유 프로토콜과 그 확장 규격.
  • NetBIOS : 삼바에서 이름 관리를 담당하는 규격.
  • Gopher : 메뉴 방식으로 정보를 찾던 웹 이전의 서비스.
  • Usenet : 주제별 뉴스그룹 서비스. NNTP 프로토콜을 사용한다.
  • Archie : FTP 서버에 있는 파일을 검색해 주던 서비스.

📝 연습 문제

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

문제 1

다음 중 유닉스와 리눅스 시스템 사이에서 디렉터리를 공유해 원격 디렉터리를 로컬처럼 사용하는 서비스로 알맞은 것은?

문제 2

다음 중 리눅스와 윈도 시스템 사이에서 파일과 프린터를 공유하기 위해 사용하는 소프트웨어로 알맞은 것은?

문제 3

다음 중 삼바의 구성 요소와 거리가 먼 것으로 알맞은 것은?

문제 4

다음 중 웹이 등장하기 전에 메뉴 방식으로 정보를 찾아가던 서비스로 알맞은 것은?

문제 5

다음 중 Usenet 뉴스그룹에서 사용하는 프로토콜로 알맞은 것은?

이전원격 접속과 파일 전송Week 10 · Day 3다음 Week 10 종합 복습: 인터넷 서비스 한 장Week 10 · Day 5

참고 공식 자료

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

이 페이지

  • NFS — 유닉스끼리
  • etc/exports 한 줄 읽기
  • 삼바 — 윈도와
  • smb.conf의 모양
  • NFS와 삼바 비교
  • 웹 이전의 인터넷 서비스
  • 성격으로 묶어 보기
  • 그 밖의 서비스
  • 용어
  • 연습 문제