본문 바로가기

개발자愛/JAVA

리눅스 서비스(데몬)의 종류와 관리

1. 데몬의 종류(펌)


데몬에는 sendmail 이나 아파치 처럼 단독으로 실행되는 것들이 있고 데몬들을 여러가지 서비스 등을 한꺼번에 관리하는 슈퍼 데몬이 있다

리눅스 초기 설치 시, 또는 추가 또는 수정하였을 때 데몬을 리스트에 올리거나 내릴 수 있으며(ntsysv) 지금 나열하는 데몬의 종류는 레드헷 리눅스(Red hat Enterprise Linux) AS 4.0 버전 기준으로 작성한 것이다. 출처는 각 데몬의 도움말을 참고하였다.

1. NetworkManager : 자동으로 최대 사용가능한 연결에 네트워크 연결을 스위칭한다.

2. acpi : 커널로부터 ACPI 이벤트들을 받아서 처리한다.

3. anacron : downtime까지 남겨진 cron 작업들을 실행한다.

4. apmd : 베터리 상태를 모니터링하고 기록(syslog(8))한다. 고급 전원 관리기능을 하는 데몬

5. arptables_jf : 자동으로 arptables로 패킷 필터링을 하는 방화벽 데몬

6. atd : 백그라운드 작업을 수행하거나 예약 명령을 처리한다.

7. autofs : 서버의 파일을 읽을 때 자동으로 마운트하도록 해주는 데몬

8. bluetooth : 서비스 검색과 인증 서비스를 위한 데몬

9. chargen : 케릭터를 발생시키는 내부적인 xinetd 서비스 데몬(tcp버전)

10. chargen-utp : 9번과 동일 utp버전이다.

11. cpuspeed : 동적인 cpu speed 데몬

12. crond : 리눅스에 등록된 명령어들을 정기적으로 수행하는 데몬

13. cups : 프린터 데몬

14. cups-config-deamon : D-BUS를 통한 프린터 환경설정 데몬

15. cups-lpd : cups와 통신하는 레거시 lpd 프로토콜 데몬

16. daytime : 현재 시스템 시간을 가져와 프린트해주는 내부 xinetd 데몬 (tcp버전)

17. daytime-udp : 현재 시스템 시간을 가져와 프린트해주는 내부 xinetd 데몬(udp버전)

18. diskdump : 시스템 충돌이나 diskdump모듈이 초기화되면 덤프파일을 저장

19. echo : echo의 케릭터들을 클라이언트로 뿌려주는 xinetd데몬 (tcp)

20. echo-udp : (udp) version

21. eklogin : 케베로스 5를 가지고 암호화시키는 데몬

22. gpm : 텍스트기반의 리눅스 어플리케이션에 마우스를 서포트하는 데몬

23. gssftp : kerberized ftp 서버 케베로스 5를 가지고 암호화

24. haldeamon : 소스로부터 하드웨어에 대한 정보를 모으고 유지하는 데몬

25. iiim : 중요한 IIIMSF 요소

26. iptables : 방화벽 설정 데몬(iptables)

27. dirda : (infrared Data Association) wireless를 위한 표준 협회

28. irqbalance : 프린터 작업 분배 담당

29. idsn : ISDN 서비스 설정 데몬

30. klogin : 케베로스 5 인증, dsd 타입, rlogin 세션을 설정하는 데몬

31. krbs-telnet : 케베로스 5 인증, 보통의 텔넷 세션

32. kshell : 케베로스 5 인증, rshell 인증

33. kudzu : 하드웨어 검색 데몬 이 서비스를 중지시키면 새로 장착하는 하드웨어가 없는 한 부팅시간을 단축시킨다. 보통의 경우엔 꺼두는 것이 좋다.

34. Im-sensors : 메인보드 센서값을 모니터링한다.

35. mdmonitor : RAID 모니터링과 관리 담당 데몬

36. mdmpd : 다중 경로 디바이트 모니터링과 관리

37. messagebus : 시스템 이벤트나 다른 메시지를 알려줌

38. microcode-ctl : cpu 마이크로코드를 지원하는 스크립트

39. netdump : netconsol과 netcrashdump 요소들을 초기화시키는 데몬

40. netfs : NFS, SMB/CIFS, NCP등을 마운트 또는 언마운트 시키는 데몬

예를 들어 NFS서비스를 사용하고자 할때는 미리 이 데몬을 띄어 놓아야 한다.

41. netplugd : non-static 네트워크 인터페이스를 관리하는 데몬

42. network : 부팅시 모드 설정된 네트워크 인터페이스를 활성화 또는 비활성화시키는 데몬

43. nfs : tcp에서 파일 공유 데몬, 리눅스에서 nfs서버를 운영할 때 쓴다.

41. nfslock : nfs서버를 운영할 때 다수 사용자들의 접근을 방지할 때 쓴다.

42. nscd : 느린 DNS서비스나 NIS, LDAP를 쓰면 이 데몬을 띄어 주어야 한다.

43. NTPD : ntpV4 데몬, 시간 동기화를 맞춰 주는 데몬

44. pcmcia : 이더넷 데몬 노트북에서 주로 사용하는 데몬이다.

45. portmap : RPC 연결 관리 데몬(NFS, NIS)

46. psacct : 프로세스에 대한 설명을 시작하거나 중지할때 쓰는 데몬

47. rawdevices : raw디바이스를 블록 디바이트에 맵핑시켜주는 스크립트

48. readahead : startup 퍼포먼스를 증가시킨다.

49. readahead-early : 위와 같다.

50. rhnsd : 서비스 레벨에 따라 시스템 모니터링 작업 수행과 업데이트 등을 위해서 연결된 작업을 레드햇 네트워크 서버에 핸들링한다.

51. rpcgssd : 유저레벨 데몬 시작, NFSv4 클라이언트를 위해서 RPCSEC 관리

52. rpcidmapd : 유저레벨 데몬, 유저 uid와 gid값을 매핑시켜준다.

53. rpcsucgssd : 유저레벨 데몬

54. rsync : crc check summring, 동기화 데몬

55. rwhod : finger와 비슷하다. 원격 유저가 유저 리스트를 얻을 수 있다.

56. saslauthd : 인증된 요청을 핸들링하는 서버 프로세스

57. sendmail : 메일 서버 데몬

58. smartd : 자기 모니터링과 리포틍

59. snmpd : 단순 네트워크 관리 프로토콜

60. snmptrapd : snmpd trap 데몬

61. sshd : 오픈 ssh 서버 데몬

62. syslog : 로그 데몬

63. telnet : 텔넷 서버 데몬

64. time : RFC 868타임 서버 데몬 (TCP버전)

65. time-udp : time 데몬과 같다. (udp버전)

66. uncserver : uncserver를 설정

67. vsftpd : ftp 데몬

68. winbind : 삼바 win bind 데몬

69. xfs : X-window 폰트 데몬

70. xinetd : 슈퍼 데몬 각종 서비스를 관리 한다. (telnet, ftp, rlogin 등)

71. ypbind : NIS 데몬

다. 데몬의 실행과 중지
단독 데몬들은

# service deamonname start | stop

을 실행함으로서 실행과 중지를 할 수 있다.

ex) # service network start | stop | restart

이 데몬들은 /etc/rc.d/init.d 디렉토리에 스크립트 파일을 가지고 있다.

스크립트 파일안의 내용을 수정하여도 된다.

부팅시 자동실행되는 데몬을 관리하기 위해서는 ntsysv명령어를 쳐서 쉽게 관리가 가능하다.

# ntsysv   // 현재 레벨의 데몬 관리 지정

# ntsysv --level 3 // 3번 레벨의 데몬 관리 지정

많이 사용하는 데몬 : 주로 사용하는 데몬으로는 xinetd, ftp(단독일경우), sshd(ssh 서비스 사용시)
정도가 있고 sendmail 을 사용하다면 이 데몬을 띄어 준다.
NFS 서비스를 사용한다면 nfs, nfslock, portmap, netfs 데몬들을 띄어 준다. 만일 사용하지 않는다면 꺼두는 것이 보안상 좋다.
named서비스를 사용하면 이 데몬을 띄어 주면 된다.
스케줄링 작업 데몬으로는 atd, crond 데몬 정도를 띄어 주면 된다.
시디를 자주 사용하지 않는다면 autofs 데몬을 정지시켜 놓는다.
테스트용이나 서비스를 하지 않는 데몬은 정지시켜 놓는 것이 바람직하다.

출처 : AS 4.0버전의 도움말




2. 데몬의 관리(펌)



  1). chkconfig  -->  runlevel에 따라 동작 하는 프로세스들을 확인 할 수 있다.


[root@panic-LINUX ~]# chkconfig --list | more
NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off
NetworkManagerDispatcher        0:off   1:off   2:off   3:off   4:off   5:off
6:off
acpid           0:off   1:off   2:off   3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
apmd            0:off   1:off   2:on    3:on    4:on    5:off   6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
bluetooth       0:off   1:off   2:on    3:on    4:on    5:on    6:off
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off

chkconfig 는 아래와 같은 option이 있다.
[root@panic-LINUX ~]# chkconfig
chkconfig version 1.3.20 - Copyright (C) 1997-2000 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.

usage:   chkconfig --list [name]
        chkconfig --add
        chkconfig --del
        chkconfig [--level ]
응용을 해보면
[root@panic-LINUX ~]# chkconfig --list yum(서비스명)
yum             0:off   1:off   2:off   3:on    4:on    5:on    6:off
[root@panic-LINUX ~]# chkconfig --level 45(runlevel)  yum(서비스명)  off(on/off)
[root@panic-LINUX ~]# chkconfig --list yum
yum             0:off   1:off   2:off   3:on    4:off   5:off   6:off  ==> 4,5 runlevel 목록이 off로 바뀌었다.
[root@panic-LINUX ~]#


     2) ntsysv


ntsysv 1.3.20 - (C) 2000-2001 Red Hat, Inc.

                                  Services                      
                                                                 
               What services should be automatically started?    
                                                                 
                       [ ] NetworkManager                        
                       [ ] NetworkManagerDispatcher              
                       [*] acpid                                
                       [*] anacron                              
                       [ ] apmd                                  
                       [*] atd                                  
                       [*] auditd                                
                       [*] autofs                                
                                                                 
                                                                 
                         Ok                   Cancel            
                 
Press for more information on a service.                                  


     3)  직접 각 runlevel에 들어가서 수정 하기


[root@panic-LINUX ~]# cd /etc/rc.d/rc5.d
[root@panic-LINUX rc5.d]# chkconfig --list yum
yum             0:off   1:off   2:off   3:on    4:off   5:off   6:off
[root@panic-LINUX rc5.d]# ls | grep yum
K01yum
[root@panic-LINUX rc5.d]# mv K01yum S01yum
[root@panic-LINUX rc5.d]# chkconfig --list yum
yum             0:off   1:off   2:off   3:on    4:off   5:on    6:off
[root@panic-LINUX rc5.d]#

'개발자愛 > JAVA' 카테고리의 다른 글

IT맨, 내가 사직서를 쓴 이유  (2) 2007.06.15
[GNU]AIX gcc 설치  (0) 2007.06.07
리눅스 시스템 시간 설정하기  (0) 2007.05.16
... 지금은 IDC...  (0) 2007.02.26
플러그인 설치 유무 및 확인 & JavaScript  (0) 2007.02.09