59 lines
1.6 KiB
Bash
Executable File
59 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# $NetBSD: script,v 1.2 2001/08/01 08:11:33 garbled Exp $
|
|
|
|
BIGLIST="ftp,tcp telnet,tcp shell,tcp login,tcp exec,tcp uucpd,tcp nntp,tcp \
|
|
finger,tcp ident,tcp tftp,udp comsat,udp ntalk,udp bootps,udp hunt,udp \
|
|
tcpmux,tcp echo,tcp discard,tcp chargen,tcp daytime,tcp time,tcp echo,udp \
|
|
discard,udp chargen,udp daytime,udp time,udp qotd,tcp klogin,tcp eklogin,tcp \
|
|
kshell,tcp kerberos-adm,tcp kpasswd,udp hprop,tcp rstatd/1-3,rpc/udp \
|
|
rusersd/2-3,rpc/udp walld/1,rpc/udp sprayd/1,rpc/udp rquotad/1,rpc/udp \
|
|
ftp,tcp6 telnet,tcp6 shell,tcp6 login,tcp6 finger,tcp6 tftp,udp6 \
|
|
kpasswd,udp6 rstatd/1-3,rpc/udp6 rusersd/2-3,rpc/udp6"
|
|
|
|
INETDCONF="/etc/inetd.conf"
|
|
|
|
if [ "$1" = "YES" ]; then
|
|
restart=YES
|
|
fi
|
|
shift
|
|
|
|
IFS=" "
|
|
CONF=`cat $INETDCONF`
|
|
echo "Processing $INETDCONF"
|
|
|
|
j=0
|
|
for i in $BIGLIST
|
|
do
|
|
TCONF="${CONF}"
|
|
j=`expr $j + 1`
|
|
x=$(echo `eval echo \\$${j}`)
|
|
A=`echo "$i" | sed -e 's@,@ .* @'`
|
|
B=`echo "$i" | sed -e 's@,@ @'`
|
|
C=`/usr/share/sushi/system/inetdconf/script1 $B | grep YES`
|
|
if [ -z "$C" -a $x = "YES" ]; then
|
|
echo "Cannot enable service $B"
|
|
continue
|
|
fi
|
|
C=`/usr/share/sushi/system/inetdconf/script1 $B | head -1`
|
|
if [ $C = "YES" -a $x = "YES" ]; then
|
|
continue
|
|
fi
|
|
if [ $C = "NO" -a $x = "NO" ]; then
|
|
continue
|
|
fi
|
|
if [ $C = "YES" -a $x = "NO" ]; then
|
|
echo "DISABLING service $B"
|
|
CONF=`echo $TCONF | sed -e "s@\(^$A .*\)@#\1@"`
|
|
fi
|
|
if [ $C = "NO" -a $x = "YES" ]; then
|
|
echo "ENABLING service $B"
|
|
CONF=`echo $TCONF | sed -e "s@^#\($A .*\)@\1@"`
|
|
fi
|
|
done
|
|
echo "Writing modified version to $INETDCONF"
|
|
echo $CONF >$INETDCONF
|
|
|
|
if [ "$restart" = "YES" ]; then
|
|
/etc/rc.d/inetd reload
|
|
fi
|