home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3299 / INSTALL < prev    next >
Encoding:
Text File  |  1991-05-07  |  5.6 KB  |  189 lines

  1. #!/bin/sh
  2.  
  3. # Actions.
  4. # Change kmem to anything and mode to 0755 if you don't have a kmem group,
  5. # or change kmem to anything and mode to 0700 if you don't want normal
  6. # users to be able to use these utilities.
  7. MODE=02755  # load, pff
  8. SYSMODE=02755  # authd, tcpuid, tcpuname, netstatuids
  9. GROUP=kmem
  10. INSTALL="install -c"
  11. PROGINSTALL="$INSTALL -g $GROUP -m $MODE"
  12. SYSINSTALL="$INSTALL -g $GROUP -m $SYSMODE"
  13. LIBINSTALL="$INSTALL -m 0444"   # really ends up 0644
  14. MANINSTALL="$INSTALL -m 0444"
  15.  
  16. # Directories.
  17. BIN=/usr/local/bin
  18. ETC=/etc
  19. LIB=/usr/lib
  20. INCLUDE=/usr/include
  21. MAN=/usr/man
  22.  
  23. # Programs.
  24. PFF="$BIN"/pff
  25. LOAD="$BIN"/load
  26. AUTHD="$ETC"/authd
  27. TCPUID="$ETC"/tcpuid # must be on same filesystem as authd
  28. TCPUNAME="$ETC"/tcpuname # ditto
  29. NETSTATUIDS="$ETC"/netstatuids
  30. AUTHUSER="$LIB"/libauthuser.a
  31. AUTHUSERH="$INCLUDE"/authuser.h
  32.  
  33. # Man pages.
  34. MPFF="$MAN"/man1/pff.1  # XXX: not used
  35. MLOAD="$MAN"/man1/load.1
  36. MAUTHUSER="$MAN"/man3/authuser.3
  37. MAUTHD="$MAN"/man8/authd.8
  38. MTCPUID="$MAN"/man8/tcpuid.8
  39. MTCPUNAME="$MAN"/man8/tcpuname.8
  40. MNETSTATUIDS="$MAN"/man8/netstatuids.8  # XXX: not used
  41.  
  42. # Name of port 113 in /etc/services.
  43. PORTNAME=auth
  44.  
  45. echo "Each action will be printed before it is run. Press return to proceed."
  46. echo "Type skip (or anything starting with an s) to skip a step."
  47. echo "(To see all actions, do something like % yes skip | sh INSTALL.)"
  48.  
  49. echo "1. Install load and pff."
  50. echo "! $PROGINSTALL pff $PFF: " | tr -d '\012'
  51. read line; case "$line" in
  52. s*) echo "[skipped]" ;;
  53. *) eval "$PROGINSTALL" pff "$PFF" ;;
  54. esac
  55.  
  56. echo "! $PROGINSTALL load $LOAD: " | tr -d '\012'
  57. read line; case "$line" in
  58. s*) echo "[skipped]" ;;
  59. *) eval "$PROGINSTALL" load "$LOAD" ;;
  60. esac
  61.  
  62. echo "2. Install authd, tcpuid, tcpuname, and netstatuids."
  63. echo "! $SYSINSTALL authd $AUTHD: " | tr -d '\012'
  64. read line; case "$line" in
  65. s*) echo "[skipped]" ;;
  66. *) eval "$SYSINSTALL" authd "$AUTHD" ;;
  67. esac
  68.  
  69. echo "! rm -f $TCPUID; ln $AUTHD $TCPUID: " | tr -d '\012'
  70. read line; case "$line" in
  71. s*) echo "[skipped]" ;;
  72. *) rm -f "$TCPUID"; ln "$AUTHD" "$TCPUID" ;;
  73. esac
  74.  
  75. echo "! rm -f $TCPUNAME; ln $AUTHD $TCPUNAME: " | tr -d '\012'
  76. read line; case "$line" in
  77. s*) echo "[skipped]" ;;
  78. *) rm -f "$TCPUNAME"; ln "$AUTHD" "$TCPUNAME" ;;
  79. esac
  80.  
  81. echo "! $SYSINSTALL netstatuids $NETSTATUIDS: " | tr -d '\012'
  82. read line; case "$line" in
  83. s*) echo "[skipped]" ;;
  84. *) eval "$SYSINSTALL" netstatuids "$NETSTATUIDS" ;;
  85. esac
  86.  
  87. echo "3. Install the authuser library."
  88. echo "! $LIBINSTALL authuser.h $AUTHUSERH: " | tr -d '\012'
  89. read line; case "$line" in
  90. s*) echo "[skipped]" ;;
  91. *) eval "$LIBINSTALL" authuser.h "$AUTHUSERH" ;;
  92. esac
  93.  
  94. echo "! ar rv $AUTHUSER authuser.o: " | tr -d '\012'
  95. read line; case "$line" in
  96. s*) echo "[skipped]" ;;
  97. *) ar rv "$AUTHUSER" authuser.o ;;
  98. esac
  99.  
  100. echo "! ranlib $AUTHUSER: " | tr -d '\012'
  101. read line; case "$line" in
  102. s*) echo "[skipped]" ;;
  103. *) ranlib "$AUTHUSER" ;;
  104. esac
  105.  
  106. echo "! chmod 644 $AUTHUSER: " | tr -d '\012'
  107. read line; case "$line" in
  108. s*) echo "[skipped]" ;;
  109. *) chmod 644 "$AUTHUSER" ;;
  110. esac
  111.  
  112. echo "4. Make the man pages available."
  113. echo "! $MANINSTALL authuser.3 $MAUTHUSER: " | tr -d '\012'
  114. read line; case "$line" in
  115. s*) echo "[skipped]" ;;
  116. *) eval "$MANINSTALL" authuser.3 "$MAUTHUSER" ;;
  117. esac
  118.  
  119. echo "! $MANINSTALL load.1 $MLOAD: " | tr -d '\012'
  120. read line; case "$line" in
  121. s*) echo "[skipped]" ;;
  122. *) eval "$MANINSTALL" load.1 "$MLOAD" ;;
  123. esac
  124.  
  125. echo "! $MANINSTALL authd.8 $MAUTHD: " | tr -d '\012'
  126. read line; case "$line" in
  127. s*) echo "[skipped]" ;;
  128. *) eval "$MANINSTALL" authd.8 "$MAUTHD" ;;
  129. esac
  130.  
  131. echo "! $MANINSTALL tcpuid.8 $MTCPUID: " | tr -d '\012'
  132. read line; case "$line" in
  133. s*) echo "[skipped]" ;;
  134. *) eval "$MANINSTALL" tcpuid.8 "$MTCPUID" ;;
  135. esac
  136.  
  137. echo "! $MANINSTALL tcpuname.8 $MTCPUNAME: " | tr -d '\012'
  138. read line; case "$line" in
  139. s*) echo "[skipped]" ;;
  140. *) eval "$MANINSTALL" tcpuname.8 "$MTCPUNAME" ;;
  141. esac
  142.  
  143. echo "5. Make sure an auth port is in /etc/services."
  144. echo "Let me glance at /etc/services for you..."
  145. if grep '^'$PORTNAME'[     ]*113/tcp' /etc/services >/dev/null 2>&1
  146. then echo "Okay, you have it already. Let's continue."
  147. else echo "Nope, it's not there."
  148.      echo "Let me check that you don't have a different auth port..."
  149.      if grep '^'$PORTNAME'[     ][     ]*' /etc/services >/dev/null 2>&1
  150.      then echo "Aaack! $PORTNAME is already used in /etc/services. Exiting."
  151.       exit 1
  152.      fi
  153.      echo "! echo $PORTNAME'    113/tcp' >> /etc/services: " | tr -d '\012'
  154.      read line; case "$line" in
  155.      s*) echo "[skipped]" ;;
  156.      *) echo "$PORTNAME"'        113/tcp' >> /etc/services ;;
  157.      esac
  158. fi
  159.  
  160. echo "6. Enable auth in /etc/inetd.conf."
  161. echo "Let me glance at /etc/inetd.conf for you..."
  162. if grep '^'"$PORTNAME"'[     ]' /etc/inetd.conf >/dev/null 2>&1
  163. then echo "Okay, it's already there. That's it!"
  164.      exit 0
  165. fi
  166. if grep 'telnet.*root' /etc/inetd.conf >/dev/null 2>&1
  167. then echo "It's not there yet. Hmmm, looks like you have a Sun-style inetd."
  168.      echo "! echo $PORTNAME' stream tcp nowait root '$AUTHD' authd' >> /etc/inetd.conf: " | tr -d '\012'
  169.      read line; case "$line" in
  170.      s*) echo "[skipped]" ;;
  171.      *) echo "$PORTNAME"'    stream    tcp    nowait    root    '"$AUTHD"'    authd' >> /etc/inetd.conf ;;
  172.      esac
  173. else echo "It's not there yet."
  174.      echo "! echo $PORTNAME' stream tcp nowait '$AUTHD' authd' >> /etc/inetd.conf: " | tr -d '\012'
  175.      read line; case "$line" in
  176.      s*) echo "[skipped]" ;;
  177.      *) echo "$PORTNAME"'    stream    tcp    nowait    '"$AUTHD"'    authd' >> /etc/inetd.conf ;;
  178.      esac
  179. fi
  180.  
  181. echo "7. Let inetd know about the new service."
  182. echo "On most machines you have to % kill -HUP nn"
  183. echo "where nn is the number of the inetd process."
  184. echo "Here's what ps acugx shows about inetd:"
  185. ps acugx | sed -n -e 1p -e /inetd/p
  186. echo "I'll leave this step to you. That's it!"
  187.  
  188. exit 0
  189.