RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

출처 : 대전국제IT교육센터 정성재 강사

 

1. Daemon이란?
Daemon이란 사전적인 의미로는 보통 악마(demon)를 뜻하거나, 그리스신화의 Daemon처럼 수호신을
뜻한다. 유닉스(리눅스)에서는 악마처럼 앞에 나타나지 않고, 사용자가 모르게 뒤에서 시스템의 관
리를 위해 움직이는 프로그램을 말한다. 즉, 백그라운드로 실행되어 있다가 네트워크를 통해 클라이
언트의 여러가지 요청(Mail이나 FTP등처럼)에 서비스하기 위해 설치하는 서버프로그램이다. 윈도우NT
나 윈도우2000의 서비스와 같은 의미로 보통 램에 상주하며, 대표적인 것으로는 httpd, ftpd,inetd
등이 있다.


2. Daemon의 종류
(1) 설명: 데몬에는 sendmail이나 apache처럼 단독으로 실행되는 것이 있고, ftp, telnet, pop3등을
          한꺼번에 관리하는 inetd(커널 2.4버전인 경우에는 xinetd)같은 슈퍼데몬이 있다.
(2)단독으로 실행되는 데몬 : 웹서비스처럼 클라이언트의 서비스요청이 많은 경우에 유용하다. 항
                            상 램에 상주하므로 좀 더 빠른 서비스가 가능하나, 자원(메모리)의
                            낭비를 초래할 수 있다. 대표적인 것으로는 다음과 같은 것이 있다.
   1) httpd : World Wide Web 서비스를 제공하는 아파치 데몬이다. 웹서버로 사용하지 않는다면 부
             팅시간이 많이 걸리므로 사용하지 않는 것이 좋다.
   2) named : DNS서버를 사용할 경우 이 서버의 작동유무를 제어하는 데몬이다. 독립시스템일 경우
             사용하지 않는다.
   3) sendmail : E-mail을 주고 받을 때 사용되는 데몬이다.
   4) smb : 일명 삼바를 실행 시켜주는 데몬이다. 삼바는 유닉스와 윈도우의 파일 및 프린터를 공
           유하게 해주는 서비스이다.
   5) crond: 리눅스에 등록된 명령어들을 정기적으로 수행하는 데몬이다. 즉, 멀티태스킹으로 동작
            하는 리눅스에서 받은 메일의 스풀러 정리라든지 각종 명령어들을 실행하는 데몬이다.
            반드시 실행시킨다.
   6) gated : 라우팅데몬으로 리눅스에 라우팅 기능을 수행하고 싶으면 이 데몬이 떠 있어야 한다.
   7) netfs: 삼바, NFS, NCP등을 마운트하거나 언마운트할 때 필요한 데몬이다. NFS 데몬등을 실행
            하려면 해당 데몬을 실행하기 전에 미리 띄워야 한다.
   8) nfs : NFS(Nerwork File System)데몬을 띄우는 일을 한다. NFS는 TCP/IP를 이용하여 파일들을
          서로 공유할 수 있게 만든다. 리눅스에서 NFS서버를 운영할 때 쓴다.
   9) lpd : 프린터 데몬이다. lpr과 같은 명령어를 사용해 프린터를 사용하려면 이 데몬을 실행시
           켜야 한다.
   10) mcserv : mc(Midnight Commannd)라는 파일매니저 프로그램을 작동시키는 데몬이다.
   11) ircd : IRC(Internet Relay Chat)데몬이다. IRC란 인터넷 채팅을 할 때 쓰는 일종의 채팅프로
             그램이다.
   12) syslog : syslog는 시스템에 일어나는 여러가지를 기록해주는 데몬이다. 이 데몬은 반드시 실
               행하는 것이 좋다. 이 데몬이 있어야 시스템에 여러가지 사고가 발생시 기록을 추적
               하는 단서를 얻을 수가 있기 때문이다. 이 데몬에 관련된 환경파일은 /etc/syslog.co
               nf이다.
   13) squid : http, ftp, gopher 같은 프로토콜을 사용할 때 캐쉬의 속도를 높여주는 데몬이다.
   14) snmpd : SNMP(Simple Network Management Protocol)데몬이다. 네트워크의 상황을 모니터를 할
              때 사용된다.
   15) amd : automount의 약자로 호스트에서 그 서버의 파일을 읽을 때 자동으로 마운트하게 해 주
            는 데몬이다. 이 데몬은 네트워크 정보가 잘못 입력되었을 경우 부팅될 때 문제를 일으킬
            킬 수 있으므로 별다른 경우가 아니면 꺼 놓는 것이 좋다. 네트워크 설정이 정상적이거
            나 아예 사용하지 않는 경우라면 선택해도 무방하다.
   16) bootparamd : 리눅스 서버를 통해 연결된 Sun워크스테이션의 네트웍을 부팅할 때 사용했던 데
                   몬으로 리눅스에서 sun 네트워크를 부팅시킬 때 사용한다. BOOTP와 DHCP를 사용
                   하는 경우에는 켜 놓을 필요가 없다.
   17) portmap : 원격프로시저호출(RPC:Remote Procedure Call)연결을 제어해 주는 역할을 하며,
                NFS와 RPC를 사용하는 서비스를 제공하는 데몬이다. 네트워크상에서 클라이언트-
                서버개념이 적용되지 않는 시스템에서는 실행할 필요가 없는 데몬이지만 nfs, nis,
                amd 등 원격 프로시저 호출을 하는 프로그램을 사용할 경우에는 반드시 선택해야
                하는 데몬이다.
   18) routed : 자동IP라우터로 독립적인 시스템에서는 실행할 필요가 없는 데몬이다.
   19) atd : 백그라운드 작업을 해주거나 각종 예약 명령을 처리하는 작업을 한다. 기본적으로 선택
            되어 있으며, 특별한 경우가 아니면 선택한다.
   20) dhcp : 네트워크로 구성된 상태에서 리눅스 서버의 정보를 이용하여 부팅될 자신의 IP주소와
             네트워크 정보를 가질 수 있게 하는 데몬이다. 네트워크에서 서버로 사용되면 BOOTP와
             DHCP가운데 하나를 선택하는데, 정적IP를 부여한 네트워크 환경에서 선택한다. 네트워
             크가 구성되지 않는 일반PC에서는 선택할 필요가 없다.
   21) gpm : 리눅스로 부팅된 다음 텍스트 상태에서 마우스를 사용하여 영역을 선택하거나 복사를
            가능하게 해주는 데몬이다. 이 서비스는 PS/2마우스일경우 X-window와 충돌할 수도 있
            다. 만약 X-window를 실행시켰을 때 마우스가 움직이지 않으면 이 데몬을 끈다.
   22) kerneld : 운영체제의 핵심인 커널 기능을 동작시키는 데몬이다. 반드시 선택한다.
   23) keytable : 키보드의 정보를 설정하는 /usr/sbin/kbdconfig명령으로 키보드유형을 변환할 수
                 있도록 해주는 데몬이다.
   24) network : 네트워크 관련된 각종 정보를 설정을 활성화하는 데몬이다.
   25) sound : 리눅스의 부팅과 종료시 사운드의 믹서 설정을 복구하거나 저장하는 스크립트이다.
   26) ruserd : 네트워크 사용자를 추적할 수 있는 데몬으로 특정 사용자의 위치를 확인할 수 있다.
   27) rwhod : 원격 접속을 한 사용자들의 목록을 볼 수 있는 로그 정보를 가진 데몬이다.
   28) ypbind : NIS(Network Information Service) 즉, 네트워크에 알려진 모든 머신들에게 정보(In
               formation)을 제공해주는 서비스를 해주는 네트워크-클라이언트에 관련된 서버이다.
   29) yppasswd : NIS에 관련되는 것으로 클라이언트 사용자가 패스워드를 변경할 수 있도록 해주는
                 서버측의 데몬이다.
   30) ypserv : NIS를 총괄하는 서버이다. 데이터베이스나 프로세스들로 구성되어 있는 간단한 네트
               워크를 찾는 서버이다.
   31) apmd : 고급전원 관리기능(Advanced Power Management)을 해주는 데몬이다. 마더보드에서 APM
             을 지원한다면 이 데몬을 작동하도록 한다. doze, standby, suspend, nap, sleep, mode
             s 와 하드디스크 절전 등 바이오스에서 하는 것보다 더욱 더 뛰어난 기능을 발휘한다.
   32) pcmcia : 노트북이나 laptops 에서 사용하는 PCMCIA 관련 데몬이다.
(3)슈퍼데몬 inet에서 관리하는 데몬
   1) 설명: Inet는 Internet Superserver라 불리우며 자주 실행되지 않는 데몬들을 통들어 관리해
           슈퍼데몬이라고 부른다. 일반 데몬들처럼 프로세스가 항상 떠있지 않고, 클라이언트의
           요청이 있는 경우   에만 데몬을 실행시킨다. 응답시간은 좀 걸리지만 메모리가 절약된다.
           이 슈퍼데몬은 커널 2.2버전과 2.4버전이 차이가 있다. 커널 2.2버전 (리눅스 6.x 버전)
           에서는 inetd라는 이름을 사용하였으며, 전체적인 환경 설정은 /etc/inetd.conf에서 통합
           관리하였고, 슈퍼 데몬에 속하는 데몬들은 'TCP Wrapper'라는 프로그램에 의해 접근이
           제어되었다. 커널 2.4버전(리눅스 7.x버전이후)에서는 xinetd라는 이름의 슈퍼데몬이
           작동되고 환경설정은 /etc/xinetd.conf와 /etc/xinetd.d디렉토리의 각 서비스파일에서
           관리한다.
   2) 슈퍼데몬에서 관리하는 데몬
    ㄱ. telnet : telnet서비스를 제공하는 데몬
    ㄴ. ftp  : ftp(file transper protocol)서비스를 제공하는 데몬
    ㄷ. finger : 시스템에 현재 누가 로그인하고 있는지를 알려주고 그 밖에도 여러가지 유용한
                정보를 얻을 수 있게 해주는 데몬
    ㄹ. login : rlogin과 같은 명령어를 사용하여 신뢰하는 호스트에서 접속시 로그인할 수 있도록
              해주는 데몬. 보안상 위험하니 사용하지 않는 것이 좋다.
    ㅁ. auth : IDENT 프로토콜을 지원하는 서비스이다. 리눅스의 ident 데몬으로 접속해 현재 누가
              접속했는지에 대한 정보를 알려주는 데몬이다.
    ㅂ. shell : rsh와 같은 명령어를 사용해서 원격의 호스트에서 접속시 조건없이 쉘명령어를 실행
               시키는 데몬이다.
    ㅅ. tcpd : 호스트에서 telnet서비스를 요청하면 TCP Wrapper에서 in.telnetd 를 작동시킨다. 이
              과정만 보면 telnet서비스만 할 뿐 호스트에 대한 정보를 남기지 않는다. tcpd의 역할
              은 in.telnetd가 구동되기 전에 telnet서비스 접속에 대한 기록을 파일에 적는 역할을
              한다. 즉, tcpd가 TCP Wrapper 프로세스이다.

3.데몬의 실행과 중지
(1) 단독으로 실행되는 데몬
   1) 설명: 단독으로 실행되는 데몬들은 /etc/rc.d/init.d 디렉토리에 스크립트 파일을 가지고 실행
           /중지시키면 된다. 또는 service라는 스크립트를 사용해도 된다.
   2) 사용예 : httpd데몬의 중단과 실행
    ㄱ. [root@www root]# /etc/rc.d/init.d/httpd stop
         => httpd 데몬을 중지시킨다.
    ㄴ. [root@www root]# /etc/rc.d/init.d/httpd start
         => httpd 데몬을 작동시킨다.
    ㄷ. [root@www root]# service httpd restart
         => service 명령을 이용하여 httpd 데몬을 재작동시킨다.
(2)슈퍼데몬 inet에서 관리하는 데몬
   1) inet에서 관리하는 전체를 중지 또는 실행시키는 방법
    ㄱ. 커널 2.2 버전
       /etc/rc.d/init.d/inet stop
       /etc/rc.d/init.d/inet start
    ㄴ. 커널 2.4 버전
       /etc/rc.d/init.d/xinetd stop
       /etc/rc.d/init.d/xinetd start
    ㄷ. 참고: 위의 방법으로 inet을 중단시키면 inet데몬에 관련된 모든 데몬들이 작동을 하지 않는
             다. 그러므로, 한가지 데몬만을 중단한 경우에는 적합하지 않다.
   2) inet(또는 xinetd)에서 관리하는 데몬중 일부만 중지시키기
    ㄱ. 커널 2.2 버전: inet데몬에서 일부만 중단하려면 /etc/inetd.conf 파일에서 한다. 해당 서비
                      스 항목의 맨 앞에 주석처리('#')를 하면 해당 서비스에 해당하는 데몬이
                      작동하지 않는다.
    예) telnet서비스 중단하기
       #telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
        => (항목설명)
          - 서비스이름: /etc/services파일에 정의된 텔넷, ftp와 같은 특정 서비스들을 의미
          - 소켓타입: 서비스에 의해 사용된 연결의 타입을 기술. 보통 tcp서비스인 경우에는
                     'stream', udp서비스인 경우에는 'dgram'이 옴
          - 프로토콜: 네트워크 프로토콜 타입이 기술된다. 보통 'tcp'나 'udp'가 옴.
          - 대기상태: 하나의 서버프로세스가 한번에 여러 요청을 처리할 수 있는지를 나타냄. wait
                     이면 inetd가 서비스들에 대한 각각의 요청을 처리하기 위해 여러 프로세스가
                     생성되는 것을 방지하고 nowait라고 설정되어 있으면 각각의 요청을 위해 프로
                     세스를 생성
          - 사용자이름: 네트워크 서비스를 수행해야 할 로그인 이름
          - 서버프로그램: 네트워크 서비스를 활성화시키기 위해 수행해야 할 프로그램을 가리킴
          - 서버프로그램인자: 네트워크 서비스가 수행되기 시작할 때, 전달 되어야 할 인자와 설정
                             플래그들을 나열
    ㄴ. 커널 2.4 버전: /etc/xinetd.d디렉토리에 보면 xinetd에서 관리하는 데몬들의 파일이 생성
                     되어 있다. 만약 telnet이면 telnet이라는 파일의 항목에서 'disable = yes'
                     라고 설정하면 해당 데몬은 xinetd에서 실행하지 않는다. 또는 'chkconfig
                     telnet off' 하면 된다.

(3) 데몬관련명령어: ntsysv
   1) 설명: 부팅시 자동실행되는 데몬들을 쉽게 설정하기 위해서는 'ntsysv'를 이용하면 된다. 그럼
          데몬들의 목록이 나오는데 스페이스키로 선택해주면 부팅시마다 자동으로 데몬이 작동한다.
          이 명령도 어렵다면 'setup'을 하면 X-window설정등 여러 메뉴가 나오는데 여기는 'System
          Service'를 선택하면 된다. 물론 이 명령도 루트권한자만 가능하다.
   2) 사용예
    ㄱ. ntsysv
         => 현재 레벨의 자동으로 시작하는 서비스데몬을 지정할 수 있다.
    ㄴ. ntsysv --level 5
         => 레벨 5의 자동으로 시작하는 서비스데몬을 지정할 수 있다.

4. 데몬의 확인
(1) 개요: 리스트로 나열하여 확인할 수 있고, 트리형태로 그래픽하게도 확인할 수 있다.
(2) 관련명령어
   1) ps
    ㄱ. 설명: 리스트로 나열하여 보여준다.
    ㄴ. 사용예
       ps -aux
   2) pstree
    ㄱ. 설명: 이 명령은 현재 가동중인 데몬들을 tree구조 형태로 나타내 준다.
    ㄴ. 사용예
       pstree

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
Blah.. blah.. (5)
My Advanced Linux (73)
RedHat Knowledge (10)
Advanced Linux (47)
Virtualization (7)
HA clustering (2)
Bash shell scripts (6)
Learning Linux (96)
Fundamental (41)
AdminCourse (32)
Security (23)
OperatingSystem (5)
AIX (2)
HPUX (3)
Databases (4)
Oralce (3)
Mysql (1)
OpenSource (1)
Tips! (1)
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30