memo.xight.org

日々のメモ

tcpserver の設定

接続制御データベースの作成

/etc/tcpserver/ftpd.rules
/etc/tcpserver/telnetd.rules
などのファイルを作成する

接続制御データベースの記述方法

# すべて許可
:allow
# 192.168.0.2からの接続を許可
192.168.0.2:allow
# 192.168.0.1 - 192.168.0.10からの接続を許可
192.168.0.1-10:allow

# すべて拒否
:deny
# 192.168.0.2からの接続を拒否
192.168.0.2:deny
# 192.168.0.1 - 192.168.0.10からの接続を拒否
192.168.0.1-10:deny

接続制御データベースの作成

# tcprules /etc/tcpserver/ftpd.cdb /tmp/ftpd.tmp < /etc/tcpserver/ftpd.rules
# tcprules /etc/tcpserver/telnetd.cdb /tmp/telnetd.tmp < /etc/tcpserver/telnetd.rules


/etc/init.d/tcpserverの例

#!/bin/sh

RETVAL=0

case "$1" in
	start)
		echo -n "Starting tcpserver daemon: "
		daemon /etc/init.d/tcpserver_sub
		RETVAL=$?
		echo
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/tcpserver
	;;
	stop)
		echo -n "Stopping tcpserver daemon: "
		killproc tcpserver
		RETVAL=$?
		echo
		[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tcpserver
	;;
	status)
		status tcpserver
		RETVAL=$?
	;;
	restart)
		$0 stop
		$0 start
		RETVAL=$?
	;;
	*)
		echo "Usage: tcpserver {start|stop|status|restart}"
		exit 1
esac
exit $RETVAL


/etc/init.d/tcpserver_sub の例

#!/bin/sh
/usr/local/bin/tcpserver -v -u 0 -g 0 -x /etc/tcpserver/telnetd.cdb 0 telnet /usr/sbin/in.telnetd &
/usr/local/bin/tcpserver -v -u 0 -g 0 -x /etc/tcpserver/ftpd.cdb 0 ftp /usr/local/sbin/in.proftpd &


ランレベルにtcpserverを追加 (RedHat)

# /sbin/chkconfig --add tcpserver


ランレベルにtcpserverを追加 (Debian)

# /usr/sbin/update-rc.d tcpserver defaults


Reference

tcpserverでtelnetd&proftpd
http://cmf.ohtanz.com/tcpserver.html