그동안 ftp서버로 사용하던 시스템을 ftp서비스를 더이상 제공하지 않고 다른 용도로 사용하게 되었다.
현재 제공되고 있는 ftp서비스를 중지시키고 앞으로도 부팅시에도 더이상 제공되지 않도록 필요한 시스템 설정을 바꾸시오

inetd
inetd은 Unix시스템에서  인터넷 서비스를 관리하는 슈퍼서버 데몬(super-server daemon)입니다. 보안상의 문제로 inetd대신 Xinetd (the eXtended InterNET Daemon)를 사용하기도 합니다.

기능
TCP 또는 UDP 패킷이 도착하면 포트번호를 확인하여 관련된 서비스로 연결해줍니다.
각각의 서비스들이 항상 실행중인 상태가 아니라 요청이 있을때만 실행되므로, 시스템은 높은 효율성을 가질 수 있게 됩니다.

설정
inetd의 직접적인(?) 설정 파일은 /etc/inetd.conf입니다.
하지만 inietd.conf파일에 관련 서비스를 추가하기 전에 /etc/services 파일에 먼저 등록 해야합니다.

가령 telnet 서비스의 경우 (telnet service는 23번 프토/tpc를 사용합니다.)
# cat /etc/services
telnet          23/tcp

# cat /etc/inetd.conf
telnet  stream  tcp6    nowait  root    /usr/sbin/telnetd      telnetd -a

inetd.conf 파일내에 설정되어 있는 행들은 모두 7개의 컬럼으로 되어있습니다.

service : 서비스이름. /etc/services에 등록되어 있어야 합니다.
socket type : TCP일 경우에는 stream이며, UDP일 경우에는dgram이라고 명시합니다.
protocol : tcp 혹은 udp의 프로토콜을 명시하며 /etc/protocols에 등록되어 있어야 합니다.
wait flag : inetd가 서비스 요청을 받은 경우, 이후에 즉시 또 다른 요청을 처리할 것인지 아닌지의 여부에 따라 nowait 또는 wait로 구분한다. stream일 경우에는 반드시 nowait이어야 합니다.
login name : 어떤 사용자의 권한으로 프로그램을 수행시켜 줄 것인지 명시합니다.
server : 어떤 응용프로그램을 수행시킬 것인지 명시합니다. 절대경로를 모두 명시하여야 합니다.
argument : 응용 프로그램의 인자를 지정하며 5개까지 가능합니다. 일반적으로 argv[0]는 프로그램 자신의 이름이 되므로 첫 번째 인자는 응용 프로그램 자신의 이름이 됩니다.


시작과 종료
첫 번째 방법
[root@test /]# ps -ef | grep inet
root      2212     1  0 11:22 ?        00:00:00 inetd
[root@test /]# kill -HUP 2212

두 번째 방법
[root@test /]# cd /etc/rc.d/init.d
[root@test init.d]# ./inet stop
Stopping INET services:                                 [  OK  ]
[root@test init.d]#
[root@test init.d]# ./inet start
Starting INET services:                                  [  OK  ]parent.ContentViewer.parseScript('b_8957815');

참고
http://en.wikipedia.org/wiki/Inetd - inetd를 이용한 프로그램 소스를 구경(^^)하실 수 있습니다.
http://hacmp.egloos.com/1065531

Posted by 달빛변신
,