공든탑앱 열기

리눅스 서버 데몬

네트워크관리사 2급 · Linux · 약 12분

쉽게 말하면

리눅스 서버에서 웹·DNS·파일 공유 같은 일을 하는 프로그램은 뒤에서 조용히 계속 돌아가는데, 이런 걸 데몬이라 불러요. 이름 끝에 d가 붙은 경우가 많아요(httpd, named, sshd). 켜고 끄는 건 systemctl start/stop, 부팅할 때 자동으로 켜지게 하는 건 systemctl enable이에요.

시험용 정의

리눅스의 네트워크 서비스는 데몬(백그라운드 프로세스)으로 동작하며, systemd의 systemctl로 시작(start)·중지(stop)·재시작(restart)·상태(status)·자동 실행(enable/disable)을 관리한다. 대표 서비스는 웹(Apache httpd, nginx), DNS(BIND named), 파일 공유(Samba smbd, NFS), 원격 접속(sshd), FTP(vsftpd), 메일(sendmail, postfix), DHCP(dhcpd)다.

비유로 이해하기

데몬은 가게의 야간 경비원이다. 손님(요청)이 없을 때도 늘 대기하다가 오면 바로 응대한다. systemctl은 경비 근무표를 짜는 관리자다.

자세히

먼저 알아 둘 말

말뜻
데몬뒤에서 계속 도는 서비스 프로그램
systemd부팅과 서비스를 관리하는 첫 프로세스(PID 1)
설정 파일서비스 동작을 정한 글자 파일. 고친 뒤 restart 해야 반영

서비스와 설정 파일

서비스데몬주요 설정 파일
웹httpd (Apache)/etc/httpd/conf/httpd.conf
DNSnamed (BIND)/etc/named.conf, 영역 파일
윈도우와 파일 공유smbd (Samba)/etc/samba/smb.conf
유닉스끼리 파일 공유nfsd (NFS)/etc/exports
원격 접속sshd/etc/ssh/sshd_config
FTPvsftpd/etc/vsftpd/vsftpd.conf
DHCPdhcpd/etc/dhcp/dhcpd.conf

systemctl 쓰는 법

  • systemctl start sshd: 지금 켜기
  • systemctl stop sshd: 지금 끄기
  • systemctl restart sshd: 설정 바꾼 뒤 다시 켜기
  • systemctl enable sshd: 부팅 때 자동으로
  • systemctl status sshd: 동작 중인지 확인
  • 옛 방식: service sshd start

Samba와 NFS

Samba는 SMB/CIFS 프로토콜로 리눅스와 윈도우가 폴더·프린터를 공유하게 한다(TCP 445, 139). NFS는 유닉스·리눅스끼리 원격 디렉터리를 내 디렉터리처럼 mount해서 쓰는 방식으로, 공유할 경로를 /etc/exports에 적는다.

Apache httpd.conf 주요 지시어

지시어뜻
Listen웹 서버가 요청을 받을 포트 (기본 80)
DocumentRoot웹 문서(홈페이지 파일)가 있는 디렉터리
ServerName서버가 자기 이름으로 쓰는 도메인 이름과 포트
KeepAliveTimeout한 연결을 다음 요청까지 유지하는 시간(초)
LimitRequestBody요청 본문(업로드 등)의 최대 크기
Options Indexes첫 화면 파일이 없을 때 디렉터리 목록을 보여 준다. 정보가 노출될 수 있어 보통 끈다

기출에서 더 나온 것

말뜻
DNS 포트DNS는 일반 질의에 주로 UDP 53, 영역 전송과 큰 응답에 TCP 53을 쓴다. BIND 서버는 방화벽에서 둘 다 열어야 한다
BIND 설정 파일주 설정은 /etc/named.conf. 그 안의 directory 옵션이 영역(zone) 파일이 있는 디렉터리를 정한다
systemctlsystemctl start(시작)·stop(중지)·restart(다시 시작)·enable(부팅 때 자동 시작)·status(상태 보기) 서비스 이름

시험에 이렇게 나와요

확인 문제

Q1. 리눅스에서 웹 서버를 부팅할 때 자동으로 실행되게 하는 명령은?

  1. service httpd stop
  2. systemctl start httpd
  3. systemctl status httpd
  4. systemctl enable httpd
정답 보기

4번 systemctl enable httpd

enable은 부팅 시 자동 실행 등록, start는 지금 바로 실행이다. 둘은 별개라 보통 둘 다 한다.

Q2. 리눅스와 윈도우 사이에 파일과 프린터를 공유할 때 쓰는 서비스는?

  1. Samba
  2. BIND
  3. NFS
  4. Apache
정답 보기

1번 Samba

Samba다. 윈도우의 SMB/CIFS 프로토콜로 공유한다. NFS는 유닉스·리눅스끼리, BIND는 DNS 서버, Apache는 웹 서버다.

Q3. NFS에서 공유할 디렉터리를 적는 파일은?

  1. /etc/exports
  2. /etc/fstab
  3. /etc/hosts
  4. /etc/samba/smb.conf
정답 보기

1번 /etc/exports

/etc/exports다. 서버에서 공유할 디렉터리와 허용할 호스트를 적는다. /etc/fstab은 부팅 때 마운트할 목록이다.

Q4. BIND DNS 서버의 데몬 이름은?

  1. named
  2. dnsd
  3. bindd
  4. resolved
정답 보기

1번 named

named (name daemon).

Q5. Apache 웹 서버가 받을 포트를 바꾸는 httpd.conf 지시어는?

  1. DocumentRoot
  2. Listen
  3. ServerName
  4. KeepAliveTimeout
정답 보기

2번 Listen

Listen 80처럼 적는다. KeepAliveTimeout은 연결 유지 시간.

Q6. 리눅스 DNS 서버(BIND)를 운영할 때 방화벽에서 열어야 하는 포트는?

  1. TCP 53만
  2. TCP·UDP 53 모두
  3. UDP 53만
  4. TCP 80
정답 보기

2번 TCP·UDP 53 모두

일반 질의는 주로 UDP, 영역 전송과 큰 응답은 TCP를 쓴다.

헷갈리기 쉬운 O·X

systemctl start는 부팅할 때 자동 실행되도록 등록한다.

정답 보기

X 자동 실행은 enable. start는 지금 실행.

Apache 웹 서버의 데몬 이름은 httpd이다.

정답 보기

O 레드햇 계열 기준. 우분투는 apache2.

sshd 설정 파일은 /etc/ssh/sshd_config이다.

정답 보기

O 포트·root 로그인 허용 등을 정한다.

함께 보면 좋은 개념