home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2005 June
/
PCWorld_2005-06_cd.bin
/
software
/
vyzkuste
/
firewally
/
firewally.exe
/
framework-2.3.exe
/
iu-config
< prev
next >
Wrap
Text File
|
2003-09-19
|
7KB
|
295 lines
#!/bin/sh
#
# iu-config, Copyright 2001, Red Hat Inc.
#
# This file is part of the Cygwin port of Berkley inetutils.
# set -x
# Subdirectory where the new package is being installed
PREFIX=/usr
# Directory where the config files are stored
SYSCONFDIR=/etc
progname=$0
auto_answer=""
request()
{
if [ "${auto_answer}" = "yes" ]
then
return 0
elif [ "${auto_answer}" = "no" ]
then
return 1
fi
answer=""
while [ "X${answer}" != "Xyes" -a "X${answer}" != "Xno" ]
do
echo -n "$1 (yes/no) "
read answer
done
if [ "X${answer}" = "Xyes" ]
then
return 0
else
return 1
fi
}
# Check how the script has been started. If it has been started by
# giving the full path and that path is /etc/postinstall, set
# auto_answer to "no". This allows automatic creation of the
# config files in /etc w/o overwriting them if they already exist.
progdir=`dirname $0`
if [ "$progdir" = "/etc/postinstall" ]
then
auto_answer="no"
fi
# Check options
while :
do
case $# in
0)
break
;;
esac
option=$1
shift
case "$option" in
-d | --debug )
set -x
;;
-y | --yes )
auto_answer=yes
;;
-n | --no )
auto_answer=no
;;
*)
echo "usage: ${progname} [OPTION]..."
echo
echo "This script creates an OpenSSH host configuration."
echo
echo "Options:"
echo " --debug -d Enable shell's debug output."
echo " --yes -y Answer all questions with \"yes\" automatically."
echo " --no -n Answer all questions with \"no\" automatically."
echo
exit 1
;;
esac
done
# Check for ${SYSCONFDIR} directory
if [ -e "${SYSCONFDIR}" -a ! -d "${SYSCONFDIR}" ]
then
echo
echo "${SYSCONFDIR} is existant but not a directory."
echo "Cannot create global configuration files."
echo
exit 1
fi
# Create it if necessary
if [ ! -e "${SYSCONFDIR}" ]
then
mkdir "${SYSCONFDIR}"
if [ ! -e "${SYSCONFDIR}" ]
then
echo
echo "Creating ${SYSCONFDIR} directory failed"
echo
exit 1
fi
fi
# Check if ftpusers exists. If yes, ask for overwriting
if [ -f "${SYSCONFDIR}/ftpusers" ]
then
if request "Overwrite existing ${SYSCONFDIR}/ftpusers file?"
then
rm -f "${SYSCONFDIR}/ftpusers"
if [ -f "${SYSCONFDIR}/ftpusers" ]
then
echo "Can't overwrite. ${SYSCONFDIR}/ftpusers is write protected."
fi
fi
fi
if [ ! -f "${SYSCONFDIR}/ftpusers" ]
then
echo "Creating default ${SYSCONFDIR}/ftpusers file"
cat > ${SYSCONFDIR}/ftpusers << EOF
ftp
anonymous
EOF
fi
# Check if ftpwelcome exists. If yes, ask for overwriting
if [ -f "${SYSCONFDIR}/ftpwelcome" ]
then
if request "Overwrite existing ${SYSCONFDIR}/ftpwelcome file?"
then
rm -f "${SYSCONFDIR}/ftpwelcome"
if [ -f "${SYSCONFDIR}/ftpwelcome" ]
then
echo "Can't overwrite. ${SYSCONFDIR}/ftpwelcome is write protected."
fi
fi
fi
if [ ! -f "${SYSCONFDIR}/ftpwelcome" ]
then
echo "Creating default ${SYSCONFDIR}/ftpwelcome file"
cat > ${SYSCONFDIR}/ftpwelcome << EOF
Wow! I have found the ftp daemon! Let's see...
EOF
fi
# Check if inetd.conf exists. If yes, ask for overwriting
if [ -f "${SYSCONFDIR}/inetd.conf" ]
then
if request "Overwrite existing ${SYSCONFDIR}/inetd.conf file?"
then
rm -f "${SYSCONFDIR}/inetd.conf"
if [ -f "${SYSCONFDIR}/inetd.conf" ]
then
echo "Can't overwrite. ${SYSCONFDIR}/inetd.conf is write protected."
fi
fi
fi
if [ ! -f "${SYSCONFDIR}/inetd.conf" ]
then
echo "Creating default ${SYSCONFDIR}/inetd.conf file"
cat > ${SYSCONFDIR}/inetd.conf << EOF
# See "man 8 inetd" for more information.
#
# If you make changes to this file, either reboot your machine or restart
# inetd:
# "net stop inetd"
# "net start inetd"
# The inetd will then re-read this file.
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
echo stream tcp nowait root internal
echo dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
chargen stream tcp nowait root internal
chargen dgram udp wait root internal
time stream tcp nowait root internal
time dgram udp wait root internal
#
# The external services are typically called via 'tcpd' for
# security reasons, eg.
# ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
#
# but tcpd is not part of the inetutils, unfortunately.
# Nevertheless there's a port contributed by Prentis Brooks <prentis@aol.net>
#
# We are calling the services here directly.
#
# These are standard services.
#
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
#
# Shell, login, exec and talk are BSD protocols.
#
shell stream tcp nowait root /usr/sbin/in.rshd in.rshd -L
login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd
talk dgram udp wait root /usr/sbin/in.talkd in.talkd
ntalk dgram udp wait root /usr/sbin/in.talkd in.talkd
#
# The Internet UUCP service.
#
uucp stream tcp nowait uucp /usr/sbin/in.uucpd in.uucpd
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#
# tftp dgram udp wait nobody /usr/sbin/in.tftpd in.tftpd
EOF
fi
# Check if motd exists. If yes, ask for overwriting
if [ -f "${SYSCONFDIR}/motd" ]
then
if request "Overwrite existing ${SYSCONFDIR}/motd file?"
then
rm -f "${SYSCONFDIR}/motd"
if [ -f "${SYSCONFDIR}/motd" ]
then
echo "Can't overwrite. ${SYSCONFDIR}/motd is write protected."
fi
fi
fi
if [ ! -f "${SYSCONFDIR}/motd" ]
then
echo "Creating default ${SYSCONFDIR}/motd file"
cat > ${SYSCONFDIR}/motd << EOF
Fanfare!!!
You are successfully logged in to this server!!!
EOF
fi
# Check if shells exists. If yes, ask for overwriting
if [ -f "${SYSCONFDIR}/shells" ]
then
if request "Overwrite existing ${SYSCONFDIR}/shells file?"
then
rm -f "${SYSCONFDIR}/shells"
if [ -f "${SYSCONFDIR}/shells" ]
then
echo "Can't overwrite. ${SYSCONFDIR}/shells is write protected."
fi
fi
fi
if [ ! -f "${SYSCONFDIR}/shells" ]
then
echo "Creating default ${SYSCONFDIR}/shells file"
cat > ${SYSCONFDIR}/shells << EOF
/bin/sh
/bin/bash
/bin/ksh
/bin/pdksh
/bin/tcsh
/bin/zsh
/usr/bin/sh
/usr/bin/bash
/usr/bin/ksh
/usr/bin/pdksh
/usr/bin/tcsh
/usr/bin/zsh
EOF
fi
echo
echo "Configuration finished. Have fun!"