home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / iu-config.sh.done < prev    next >
Text File  |  2003-09-19  |  7KB  |  295 lines

  1. #!/bin/sh
  2. #
  3. # iu-config, Copyright 2001, Red Hat Inc.
  4. #
  5. # This file is part of the Cygwin port of Berkley inetutils.
  6.  
  7. # set -x
  8.  
  9. # Subdirectory where the new package is being installed
  10. PREFIX=/usr
  11.  
  12. # Directory where the config files are stored
  13. SYSCONFDIR=/etc
  14.  
  15. progname=$0
  16. auto_answer=""
  17.  
  18. request()
  19. {
  20.   if [ "${auto_answer}" = "yes" ]
  21.   then
  22.     return 0
  23.   elif [ "${auto_answer}" = "no" ]
  24.   then
  25.     return 1
  26.   fi
  27.  
  28.   answer=""
  29.   while [ "X${answer}" != "Xyes" -a "X${answer}" != "Xno" ]
  30.   do
  31.     echo -n "$1 (yes/no) "
  32.     read answer
  33.   done
  34.   if [ "X${answer}" = "Xyes" ]
  35.   then
  36.     return 0
  37.   else
  38.     return 1
  39.   fi
  40. }
  41.  
  42. # Check how the script has been started.  If it has been started by
  43. # giving the full path and that path is /etc/postinstall, set
  44. # auto_answer to "no".  This allows automatic creation of the
  45. # config files in /etc w/o overwriting them if they already exist.
  46. progdir=`dirname $0`
  47. if [ "$progdir" = "/etc/postinstall" ]
  48. then
  49.   auto_answer="no"
  50. fi
  51.  
  52. # Check options
  53.  
  54. while :
  55. do
  56.   case $# in
  57.   0)
  58.     break
  59.     ;;
  60.   esac
  61.  
  62.   option=$1
  63.   shift
  64.  
  65.   case "$option" in
  66.   -d | --debug )
  67.     set -x
  68.     ;;
  69.  
  70.   -y | --yes )
  71.     auto_answer=yes
  72.     ;;
  73.  
  74.   -n | --no )
  75.     auto_answer=no
  76.     ;;
  77.   *)
  78.     echo "usage: ${progname} [OPTION]..."
  79.     echo
  80.     echo "This script creates an OpenSSH host configuration."
  81.     echo
  82.     echo "Options:"
  83.     echo "    --debug  -d     Enable shell's debug output."
  84.     echo "    --yes    -y     Answer all questions with \"yes\" automatically."
  85.     echo "    --no     -n     Answer all questions with \"no\" automatically."
  86.     echo
  87.     exit 1
  88.     ;;
  89.  
  90.   esac
  91. done
  92.  
  93. # Check for ${SYSCONFDIR} directory
  94.  
  95. if [ -e "${SYSCONFDIR}" -a ! -d "${SYSCONFDIR}" ]
  96. then
  97.   echo
  98.   echo "${SYSCONFDIR} is existant but not a directory."
  99.   echo "Cannot create global configuration files."
  100.   echo
  101.   exit 1
  102. fi
  103.  
  104. # Create it if necessary
  105.  
  106. if [ ! -e "${SYSCONFDIR}" ]
  107. then
  108.   mkdir "${SYSCONFDIR}"
  109.   if [ ! -e "${SYSCONFDIR}" ]
  110.   then
  111.     echo
  112.     echo "Creating ${SYSCONFDIR} directory failed"
  113.     echo
  114.     exit 1
  115.   fi
  116. fi
  117.  
  118. # Check if ftpusers exists. If yes, ask for overwriting
  119.  
  120. if [ -f "${SYSCONFDIR}/ftpusers" ]
  121. then
  122.   if request "Overwrite existing ${SYSCONFDIR}/ftpusers file?"
  123.   then
  124.     rm -f "${SYSCONFDIR}/ftpusers"
  125.     if [ -f "${SYSCONFDIR}/ftpusers" ]
  126.     then
  127.       echo "Can't overwrite. ${SYSCONFDIR}/ftpusers is write protected."
  128.     fi
  129.   fi
  130. fi
  131.  
  132. if [ ! -f "${SYSCONFDIR}/ftpusers" ]
  133. then
  134.   echo "Creating default ${SYSCONFDIR}/ftpusers file"
  135.   cat > ${SYSCONFDIR}/ftpusers << EOF
  136. ftp
  137. anonymous
  138. EOF
  139. fi
  140.  
  141. # Check if ftpwelcome exists. If yes, ask for overwriting
  142.  
  143. if [ -f "${SYSCONFDIR}/ftpwelcome" ]
  144. then
  145.   if request "Overwrite existing ${SYSCONFDIR}/ftpwelcome file?"
  146.   then
  147.     rm -f "${SYSCONFDIR}/ftpwelcome"
  148.     if [ -f "${SYSCONFDIR}/ftpwelcome" ]
  149.     then
  150.       echo "Can't overwrite. ${SYSCONFDIR}/ftpwelcome is write protected."
  151.     fi
  152.   fi
  153. fi
  154.  
  155. if [ ! -f "${SYSCONFDIR}/ftpwelcome" ]
  156. then
  157.   echo "Creating default ${SYSCONFDIR}/ftpwelcome file"
  158.   cat > ${SYSCONFDIR}/ftpwelcome << EOF
  159.  
  160. Wow! I have found the ftp daemon! Let's see...
  161.  
  162. EOF
  163. fi
  164.  
  165. # Check if inetd.conf exists. If yes, ask for overwriting
  166.  
  167. if [ -f "${SYSCONFDIR}/inetd.conf" ]
  168. then
  169.   if request "Overwrite existing ${SYSCONFDIR}/inetd.conf file?"
  170.   then
  171.     rm -f "${SYSCONFDIR}/inetd.conf"
  172.     if [ -f "${SYSCONFDIR}/inetd.conf" ]
  173.     then
  174.       echo "Can't overwrite. ${SYSCONFDIR}/inetd.conf is write protected."
  175.     fi
  176.   fi
  177. fi
  178.  
  179. if [ ! -f "${SYSCONFDIR}/inetd.conf" ]
  180. then
  181.   echo "Creating default ${SYSCONFDIR}/inetd.conf file"
  182.   cat > ${SYSCONFDIR}/inetd.conf << EOF
  183. # See "man 8 inetd" for more information.
  184. #
  185. # If you make changes to this file, either reboot your machine or restart
  186. # inetd:
  187. #   "net stop inetd"
  188. #   "net start inetd"
  189. # The inetd will then re-read this file.
  190. #
  191. # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
  192. #
  193. echo    stream  tcp     nowait  root    internal
  194. echo    dgram   udp     wait    root    internal
  195. discard stream  tcp     nowait  root    internal
  196. discard dgram   udp     wait    root    internal
  197. daytime stream  tcp     nowait  root    internal
  198. daytime dgram   udp     wait    root    internal
  199. chargen stream  tcp     nowait  root    internal
  200. chargen dgram   udp     wait    root    internal
  201. time    stream  tcp     nowait  root    internal
  202. time    dgram   udp     wait    root    internal
  203. #
  204. # The external services are typically called via 'tcpd' for
  205. # security reasons, eg.
  206. # ftp   stream  tcp     nowait  root    /usr/sbin/tcpd in.ftpd
  207. #
  208. # but tcpd is not part of the inetutils, unfortunately.
  209. # Nevertheless there's a port contributed by Prentis Brooks <prentis@aol.net>
  210. #
  211. # We are calling the services here directly.
  212. #
  213. # These are standard services.
  214. #
  215. ftp     stream  tcp     nowait  root    /usr/sbin/in.ftpd in.ftpd
  216. telnet  stream  tcp     nowait  root    /usr/sbin/in.telnetd in.telnetd
  217. #
  218. # Shell, login, exec and talk are BSD protocols.
  219. #
  220. shell   stream  tcp     nowait  root    /usr/sbin/in.rshd in.rshd -L
  221. login   stream  tcp     nowait  root    /usr/sbin/in.rlogind in.rlogind
  222. exec    stream  tcp     nowait  root    /usr/sbin/in.rexecd in.rexecd
  223. talk    dgram   udp     wait    root    /usr/sbin/in.talkd in.talkd
  224. ntalk   dgram   udp     wait    root    /usr/sbin/in.talkd in.talkd
  225. #
  226. # The Internet UUCP service.
  227. #
  228. uucp    stream  tcp     nowait  uucp    /usr/sbin/in.uucpd in.uucpd
  229. #
  230. # Tftp service is provided primarily for booting.  Most sites
  231. # run this only on machines acting as "boot servers." 
  232. #
  233. # tftp  dgram   udp     wait    nobody  /usr/sbin/in.tftpd in.tftpd
  234. EOF
  235. fi
  236.  
  237. # Check if motd exists. If yes, ask for overwriting
  238.  
  239. if [ -f "${SYSCONFDIR}/motd" ]
  240. then
  241.   if request "Overwrite existing ${SYSCONFDIR}/motd file?"
  242.   then
  243.     rm -f "${SYSCONFDIR}/motd"
  244.     if [ -f "${SYSCONFDIR}/motd" ]
  245.     then
  246.       echo "Can't overwrite. ${SYSCONFDIR}/motd is write protected."
  247.     fi
  248.   fi
  249. fi
  250.  
  251. if [ ! -f "${SYSCONFDIR}/motd" ]
  252. then
  253.   echo "Creating default ${SYSCONFDIR}/motd file"
  254.   cat > ${SYSCONFDIR}/motd << EOF
  255. Fanfare!!!
  256. You are successfully logged in to this server!!!
  257. EOF
  258. fi
  259.  
  260. # Check if shells exists. If yes, ask for overwriting
  261.  
  262. if [ -f "${SYSCONFDIR}/shells" ]
  263. then
  264.   if request "Overwrite existing ${SYSCONFDIR}/shells file?"
  265.   then
  266.     rm -f "${SYSCONFDIR}/shells"
  267.     if [ -f "${SYSCONFDIR}/shells" ]
  268.     then
  269.       echo "Can't overwrite. ${SYSCONFDIR}/shells is write protected."
  270.     fi
  271.   fi
  272. fi
  273.  
  274. if [ ! -f "${SYSCONFDIR}/shells" ]
  275. then
  276.   echo "Creating default ${SYSCONFDIR}/shells file"
  277.   cat > ${SYSCONFDIR}/shells << EOF
  278. /bin/sh
  279. /bin/bash
  280. /bin/ksh
  281. /bin/pdksh
  282. /bin/tcsh
  283. /bin/zsh
  284. /usr/bin/sh
  285. /usr/bin/bash
  286. /usr/bin/ksh
  287. /usr/bin/pdksh
  288. /usr/bin/tcsh
  289. /usr/bin/zsh
  290. EOF
  291. fi
  292.  
  293. echo
  294. echo "Configuration finished. Have fun!"
  295.