리눅스 서버 데몬
쉽게 말하면
리눅스 서버에서 웹·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 |
| DNS | named (BIND) | /etc/named.conf, 영역 파일 |
| 윈도우와 파일 공유 | smbd (Samba) | /etc/samba/smb.conf |
| 유닉스끼리 파일 공유 | nfsd (NFS) | /etc/exports |
| 원격 접속 | sshd | /etc/ssh/sshd_config |
| FTP | vsftpd | /etc/vsftpd/vsftpd.conf |
| DHCP | dhcpd | /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) 파일이 있는 디렉터리를 정한다 |
| systemctl | systemctl start(시작)·stop(중지)·restart(다시 시작)·enable(부팅 때 자동 시작)·status(상태 보기) 서비스 이름 |
시험에 이렇게 나와요
- Apache 포트 바꾸기 → httpd.conf의 Listen, 연결 유지 시간 → KeepAliveTimeout
- POST 크기 제한 → LimitRequestBody, 디렉터리 목록 노출 위험 → Options Indexes
- BIND → /etc/named.conf, zone 파일 위치 directory, DNS는 UDP·TCP 53 모두 열어야
- 데몬 → 백그라운드에서 서비스, 부팅 때뿐 아니라 언제든 시작 가능
- systemctl → start·stop·enable·status (passwd 같은 하위 명령은 없음)
확인 문제
Q1. 리눅스에서 웹 서버를 부팅할 때 자동으로 실행되게 하는 명령은?
- service httpd stop
- systemctl start httpd
- systemctl status httpd
- systemctl enable httpd
정답 보기
4번 systemctl enable httpd
enable은 부팅 시 자동 실행 등록, start는 지금 바로 실행이다. 둘은 별개라 보통 둘 다 한다.
Q2. 리눅스와 윈도우 사이에 파일과 프린터를 공유할 때 쓰는 서비스는?
- Samba
- BIND
- NFS
- Apache
정답 보기
1번 Samba
Samba다. 윈도우의 SMB/CIFS 프로토콜로 공유한다. NFS는 유닉스·리눅스끼리, BIND는 DNS 서버, Apache는 웹 서버다.
Q3. NFS에서 공유할 디렉터리를 적는 파일은?
- /etc/exports
- /etc/fstab
- /etc/hosts
- /etc/samba/smb.conf
정답 보기
1번 /etc/exports
/etc/exports다. 서버에서 공유할 디렉터리와 허용할 호스트를 적는다. /etc/fstab은 부팅 때 마운트할 목록이다.
Q4. BIND DNS 서버의 데몬 이름은?
- named
- dnsd
- bindd
- resolved
정답 보기
1번 named
named (name daemon).
Q5. Apache 웹 서버가 받을 포트를 바꾸는 httpd.conf 지시어는?
- DocumentRoot
- Listen
- ServerName
- KeepAliveTimeout
정답 보기
2번 Listen
Listen 80처럼 적는다. KeepAliveTimeout은 연결 유지 시간.
Q6. 리눅스 DNS 서버(BIND)를 운영할 때 방화벽에서 열어야 하는 포트는?
- TCP 53만
- TCP·UDP 53 모두
- UDP 53만
- 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 로그인 허용 등을 정한다.