Xinetd슈퍼데몬이 관리하는 데몬은 어떻게 정상종료 시키나요?
아직도 데몬과 관련된 공부를 하고 있슴당. ㅡ.ㅡ;;
금방 끝낼 수 있을 것 같은데, 공부를 하다가 보면 자꾸만 떠 오르는 궁금증들... ㅡ.ㅡ;;
오늘은 3가지 질문이 있는데요. 그럼 질문 드릴께요.
<질문1>
/etc/rc.d/init.d 디렉토리에 있는 데몬들은 " service 데몬명 start/stop/restart " 명령이나 '/etc/rc.d/init.d/데몬명 start/stop/restart" 명령을 실행하면 해당 데몬을 정상적으로 시작/종료/재시작 시키는데요.
Xinetd슈퍼데몬이 관리하는 데몬에 " service 데몬명 start/stop/restart " 명령을 내리면 " unrecognized service " 라는 에러를 내면서 아무런 작업도 하지 않더라구요. 그래서 이번에는 "/etc/xinetd.d/데몬명 start/stop/restart" 명령을 실행해 보니까, " 허가 거부됨 " 이라는 에러를 내면서 아무런 작업을 하지 않더라구요.
여기서 궁금한 점이 있는데요. /etc/rc.d/init.d 디렉토리에 있는 데몬들은 " service 데몬명 start/stop/restart " 명령이나 '/etc/rc.d/init.d/데몬명 start/stop/restart" 명령을 실행하면 정상적으로 시작/종료/재시작 시킬 수 있는데, Xinetd슈퍼데몬이 관리하는 데몬이나 기타 다른 데몬들은 어떤 명령어를 사용해야 정상적으로 시작/종료/재시작을 시킬 수 있나요?
<질문2>
저는 Xinetd 슈퍼데몬이 관리하는 데몬은 "chkconfig 데몬명 on/off" 명령어를 사용하면 데몬을 정상적으로 start/stop 시킬 수 있는 것으로 알고 있었는데, 다른 분들은 해당 데몬을 start/stop 시키는 것이 아니라 데몬을 특정 실행레벨에서 on/off 시키는 것이라고 하더라구요.
그런데, "chkconfig telnet on" 명령을 실행하고(재부팅이나 실행레벨 전환없이) telnet 으로 접속한 후에 pstree 명령을 실행해 보면,...
init-+-atd
|-bash---ami_applet
|-bdflush
...... (중략)
|-xfs
`-xinetd---in.telnetd---login
와 같이 telnet 데몬이 시작되어 있고요. "chkconfig telnet off" 명령을 실행한 후에 pstree 명령을 실행해 보면...
init-+-atd
|-bash---ami_applet
|-bdflush
...... (중략)
|-xfs
`-xinetd
와 같이 telnet 데몬이 없어지더라구요.
이런 결과를 봤을 때, "chkconfig 데몬명 on/off" 명령어는 Xinetd 슈퍼데몬이 관리하는 데몬을 안전하게 종료/시작 해주는 명령어라는 생각이 드는데요.
아닌가요? 제가 잘 못 생각하고 있는 건가요?
<질문3>
/etc/rc.d/init.d 파일들, /etc/rc.d/init.d 디렉토리에 심볼릭링크를 걸어놓은 파일들 , /etc/xinetd.d 디렉토리에 있는 파일들이 데몬으로 실행되는 것으로 알고 있는데요. 이것들 이외에 어느 디렉토리에 있는 파일들이 데몬으로 실행되나요?
inetd나 xinetd가 관리하는 데몬으로 서비스 요청이 오면우선
inetd나 xinetd가 관리하는 데몬으로 서비스 요청이 오면
우선 inetd나 xinetd 가 받아서 데몬으로 넘깁니다.
따라서 /etc/init.d/데몬 start/stop/restart는 의미가 없게 됩니다.
어떤 데몬의 설정 파일이 변경되었다면 /etc/init.d/xinetd restart 만
해주면 됩니다.
xinetd가 관리하는 서비스는 chkconfig를 통해 시스템 시작시
실행레벨에 따라 서비스를 on/off하는 설정이 필요하지도 않습니다. 단순히 xinetd 데몬만 올라가면 됩니다.
/etc/xinetd.d 디렉토리에서는 각 서비스에 대해 어떤 호스트에 대해서
접근을 허용하고 거부할지를 설정하는 곳입니다. 데몬 실행 파일이 있는 것은
아닙니다.
설정 파일들을 보시면 실제 데몬의 실행 파일의 위치를 파악할 수 있을 겁니다.
예를 들변 telnet 같은 경우에 /usr/sbin/in.telnetd (데비안) 입니다.
더 자세한 사항은 tcpwrapper 에 관해 찾아 보시기 바랍니다.
댓글 달기