3omh4n
3omh4
3omh4n
  • 분류 전체보기 (65)
    • wargame - system (0)
      • DreamHack (9)
      • FTZ (5)
      • LoB (4)
      • pwnable.kr (1)
    • wargame - reversing (0)
      • DreamHack (5)
    • wargame - web (6)
      • webhacking.kr (3)
      • DreamHack (3)
      • HackCTF (0)
    • CS (21)
      • system (19)
      • reversing (0)
      • Linux (2)
    • python (5)
      • Flask (5)
    • C++ (3)
    • 개인기록 (2)
    • 이거저거 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

태그

  • error
  • systemhacking
  • Devtools
  • Programming
  • ftz
  • webhacking
  • Reversing
  • langage
  • System
  • RELRO
  • BOF
  • python
  • hacking
  • pwntools
  • hackerschool
  • flask
  • Dreamhack
  • LOB
  • ROP
  • C++

티스토리

전체 방문자
오늘
어제
3omh4n

3omh4

[Linux] 데몬(Daemon)이란?
CS/Linux

[Linux] 데몬(Daemon)이란?

2022. 5. 7. 01:07

FTZ level4를 풀다가 /etc/xinetd.d 폴더에 관련된 내용이 나와 검색해보던 중 xinetd데몬의 내용이 나와 데몬과 관련된 내용을 정리하고 넘어가려고 한다.

데몬(Daemon)??

리눅스 시스템이 처음 가동될 때 실행되는 백그라운드 프로세스들의 일종으로, 메모리에 상주하다가 요청이 오면 즉시 응답하도록 하는 대기 프로세스이다. 여기서 핵심은 백그라운드 프로세스라는 것이다.

 

데몬 종류 - standalone & xinetd

standalone

독단적으로 움직이는 방식으로, 항상 단독으로 메모리에 상주하고 있다가 요청이 오면 바로바로 처리해준다. 빠르다는 장점이 있지만, 메모리에 계속 상주하고 있어야 되므로 메모리를 많이 잡아먹는다.

→ 요청이 많은 프로세스는 항상 상주하고 있지 않는다면, 그만큼 메모리에 올렸다 내렸다 오래걸리므로 항상 상주하도록 한다. 즉, 요청이 많은 프로세스는 standalone방식을 사용하는 것이 좋다.

 

이 프로세스들은 /etc/init.d/ (= /etc/rc.d/init.d) 디렉토리에 위치해 있다. 이 폴더에는 standalone방식으로 데몬을 구동시킬 수 있는 스크립트를 저장하고있다.

/etc/init.d 파일은 init 프로세스(시스템 초기화 프로그램 - 부팅시 작동하는 프로그램)가 해야할 일을 기록한 파일이다. 이 때, /etc/rc0.d, /etc/rc1.d 처럼 rc(N).d 이렉터라가 있는데 이 숫자는 런레벨을 의미한다고 한다.

 

우선 이번 정리는 FTZ를 풀던 과정에서 모르는 내용을 정리한 것이므로 더 깊은 내용은 다음에 더 정리하려 한다.

 

 

xinetd(슈퍼 데몬)

슈퍼 데몬이라고도 하며 다른 데몬들의 상위에 존재한다. 이 데몬은 항상 상주해있지 않고, xinetd에 서비스를 요청해 서비스 데몬을 띄우는 방식이다. xinetd는 네트워크 데몬을 가동하는 슈퍼데몬으로, standalone 방식으로 대기하고 있다가 요청이 들어오면 xinetd에서 서비스를 띄운다.

xinetd = /etc/xinetd.conf(설정파일) + /etc/xinetd.d + /etc/rc.d/init.d/xinetd(standalone데몬)

/etc/xinetd.conf

xinetd데몬의 설정파일로, includedir에는 각각의 서비스에 해당하는 세부 설정들을 정의한 파일들이 있다.

service telnet {		//서비스 이름
	flag:				//서비스 포트가 사용중인 경우 해당 포트의 재사용 허가여부
    socket_type:		//TCP/IP 프로토콜 선택
    wait:				//서비스가 연결된 상태에서 다른 요청이 오면 즉각 응답할지의 여부
    user:				//**해당 데몬이 이 부분의 권한으로 실행된다**
    server:				//**서비스가 실행될 때 xinetd에 의해서 실행될 데몬파일**
    log_on_failure:		//로그인 실패 시 기록 여부
    disable:			//데몬의 비활성화 여부
}

 

참고

https://compunication.tistory.com/entry/%EB%8D%B0%EB%AA%ACDaemon%EC%9D%B4%EB%9E%80

https://hec-ker.tistory.com/325 → 깊은 내용 관련

 

 

'CS > Linux' 카테고리의 다른 글

[Linux] 심볼릭 링크 & 하드 링크 (symbolic & hard)  (0) 2022.05.09
    'CS/Linux' 카테고리의 다른 글
    • [Linux] 심볼릭 링크 & 하드 링크 (symbolic & hard)
    3omh4n
    3omh4n

    티스토리툴바