Annotation of elwix/config/etc/default/rc.initial, revision 1.2
1.2 ! misho 1: #!/bin/sh
! 2: #
! 3: # ELWIX Initial RC Menu script
! 4: #
! 5: # $Id: rc.initial,v 1.1.2.6 2013/01/28 01:18:19 misho Exp $
! 6: #
! 7:
! 8: trap : 2
! 9: trap : 3
! 10: trap : 18
! 11: exec </dev/console >/dev/console 2>/dev/console
! 12: MAGIC_MENU="menu"
! 13:
! 14: menu()
! 15: {
! 16: echo
! 17: echo
! 18: echo "ELWIX - console setup"
! 19: echo "*********************"
! 20: echo "0) Logout"
! 21: echo "1) Interfaces: assign network ports"
! 22: echo "2) Reset root password"
! 23: echo "3) Reset webGUI password"
! 24: echo "4) Reset to factory defaults"
! 25: echo "5) Reboot system"
! 26: echo "6) Ping host"
! 27: echo "7) SSH to host"
! 28: echo "8) Go to shell"
! 29: echo "9) Clone system on other drive";
! 30: echo
! 31:
! 32: read -p "Enter number: " opcode
! 33:
! 34: case ${opcode} in
! 35: 0)
! 36: exit
! 37: ;;
! 38: 1)
! 39: IFACES=$(ifconfig -l)
! 40: echo
! 41: echo "Available interfaces: $IFACES"
! 42: read -p " +Which from them: " iface
! 43: if [ -z "$iface" ]; then
! 44: return 1
! 45: fi
! 46: read -p " +Name of interface $iface []: " name
! 47: read -p " +Setup management vlan 4093 on $iface? [no|yes]: " mgmt
! 48: read -p " +IPv4 address/mask of interface $iface [dhcp|x.x.x.x/x]: " ip4
! 49: read -p " +IPv6 address/mask of interface $iface [auto|x:x:x::x/x]: " ip6
! 50: if [ X"$mgmt" = X"yes" -o X"$mgmt" = X"y" ]; then
! 51: cfexec sh -c "echo $iface >/etc/mylan"
! 52: fi
! 53: ifconfig $iface description "$name" up
! 54: if [ -n "$ip4" ]; then
! 55: if [ X"$ip4" != X"dhcp" ]; then
! 56: ifconfig $iface inet alias $ip4
! 57: else
! 58: dhclient $iface
! 59: fi
! 60: fi
! 61: if [ -n "$ip6" ]; then
! 62: ifconfig $iface inet6 auto_linklocal -ifdisabled
! 63: if [ X"$ip6" != X"auto" ]; then
! 64: ifconfig $iface inet6 -accept_rtadv
! 65: ifconfig $iface inet6 alias $ip6
! 66: else
! 67: ifconfig $iface inet6 accept_rtadv
! 68: fi
! 69: fi
! 70: ;;
! 71: 2)
! 72: passwd root
! 73: ;;
! 74: 3)
! 75: echo
! 76: read -p "New system webGUI password: " pass
! 77: read -p "Confirm system webGUI password: " confirm
! 78: if [ X"$pass" = X"$confirm" ]; then
! 79: cfexec xmler -s /elwix/system/password /elwix/etc/config.xml \
! 80: $(md5 -qs "$pass")
! 81: else
! 82: echo "Error:: passwords are different ..."
! 83: fi
! 84: ;;
! 85: 4)
! 86: echo
! 87: echo "Restore factory defaults ..."
! 88: read -p " +Are you sure for restore and clear all changes? [no|yes]: " ans
! 89: if [ X"$ans" = X"yes" -o X"$ans" = X"y" ]; then
! 90: cfexec rm -rf /elwix/etc/rc.S /elwix/etc/rc.s /elwix/etc/rc.t
! 91: cfexec tar -xzpf /elwix/altroot/backup/.var.tgz -C /elwix/altroot
! 92: cfexec tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix
! 93: fi
! 94: ;;
! 95: 5)
! 96: reboot
! 97: ;;
! 98: 6)
! 99: read -p " +Address: " host
! 100: read -p " +Number packets [4]: " cx
! 101: ping -n -c ${cx:-4} ${host:-localhost}
! 102: ;;
! 103: 7)
! 104: read -p " +Address: " host
! 105: read -p " +Port [22]: " port
! 106: read -p " +User [$USER]: " user
! 107: ssh -p ${port:-22} -l ${user:-$USER} ${host:-localhost}
! 108: ;;
! 109: 8)
! 110: $SHELL
! 111: ;;
! 112: 9)
! 113: echo
! 114: camcontrol devlist
! 115: echo
! 116: read -p " +Select drive [like: ada1]: " dev
! 117: if [ -n "$dev" -a -x /usr/sbin/diskinfo ]; then
! 118: diskinfo $dev
! 119: if [ $? -eq 0 ]; then
! 120: read -p " +This is right choice? [no|yes]: " ask
! 121: if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then
! 122: sysctl -w kern.geom.debugflags=16
! 123: dd if=/dev/ufs/elwix of=/dev/$dev
! 124: sysctl -w kern.geom.debugflags=0
! 125: fi
! 126: fi
! 127: fi
! 128: ;;
! 129: esac
! 130: }
! 131:
! 132: ### main()
! 133:
! 134: while : ; do
! 135: if [ -r /etc/disablemenu ]; then
! 136: echo
! 137: echo
! 138: echo "*** Console menu disabled. ***"
! 139: echo
! 140:
! 141: stty -echo
! 142: read tmp
! 143: stty echo
! 144: if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then
! 145: echo
! 146: echo "> OK, temporary unhide menu ..."
! 147: echo
! 148:
! 149: menu
! 150: fi
! 151: else
! 152: menu
! 153: fi
! 154: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>