RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'Daemon'에 해당되는 글 2

linux 설치 후 DAEMON을 정리하기 귀찮아서 만든 쉘이라고 하기에도 민망한 스크립트 -_-;;

#!/bin/bash
# created by uzoogom at 2012.2.13

export LC_ALL=C

RED='\e[1;31m'
GREEN='\e[1;32m'
YELLOW='\e[1;33m'
BLUE='\e[1;34m'
NC='\e[0m'

chkall=$(chkconfig --list | egrep "(on|off)" | awk '{print $1}')
chkon=$(cat chklist.txt | egrep -v "^#")

# ALL DEAMON STOP
echo -e "ALL DEAMON STOP ========================================================="
for chkalloff in $chkall
do
chkconfig --level 2345 $chkalloff off
service $chkalloff stop 1>/dev/null
        echo -e "$chkalloff is ${RED}OFF${NC}"
done
echo "Done====================================================================="

echo ""

# SELECT DEAMON START
echo -e "SELECT DEAMON START ====================================================="
for chkselect in $chkon
do
chkconfig --level 2345 $chkselect on
service $chkselect start 1>/dev/null
echo -e "$chkselect is ${GREEN}ON${NC}"
done
echo "Done====================================================================="

echo ""

# selinux disabled
echo "selinux status==========================================================="
setenforce 0 1>/dev/null
perl -pi -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
grep "SELINUX=" /etc/selinux/config | egrep -v "^#"

Trackback
Reply

출처 : 대전국제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)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/04   »
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