Annotation of elwix/config/etc/default/rc.initial, revision 1.6.8.1
1.2 misho 1: #!/bin/sh
2: #
3: # ELWIX Initial RC Menu script
4: #
1.6.8.1 ! misho 5: # $Id: rc.initial,v 1.6 2013/08/07 13:26:31 misho Exp $
1.2 misho 6: #
7:
8: trap : 2
9: trap : 3
10: trap : 18
1.6 misho 11: #exec </dev/console >/dev/console 2>/dev/console
1.2 misho 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
1.6.8.1 ! misho 90: cfexec -L "Locked by rc.initial for restore factory defaults"
! 91: tar -xzpf /elwix/altroot/backup/.var.tgz -C /elwix/altroot
! 92: tar -xzpf /elwix/altroot/backup/.etc.tgz -C /elwix
! 93: cfexec -U
1.2 misho 94: fi
95: ;;
96: 5)
97: reboot
98: ;;
99: 6)
100: read -p " +Address: " host
101: read -p " +Number packets [4]: " cx
102: ping -n -c ${cx:-4} ${host:-localhost}
103: ;;
104: 7)
105: read -p " +Address: " host
106: read -p " +Port [22]: " port
107: read -p " +User [$USER]: " user
108: ssh -p ${port:-22} -l ${user:-$USER} ${host:-localhost}
109: ;;
110: 8)
1.5 misho 111: exec $SHELL
1.2 misho 112: ;;
113: 9)
114: echo
115: camcontrol devlist
116: echo
1.3 misho 117: read -p " +Select copy from drive [like: ada0]: " src
118: read -p " +Select copy to drive [like: ada1]: " dst
119: if [ -n "$src" -a -n "$dst" ]; then
120: if [ -x /usr/sbin/diskinfo ]; then
121: diskinfo $dst
122: if [ $? -eq 0 ]; then
123: read -p " +This is right choice? [no|yes]: " ask
124: if [ X"$ask" = X"yes" -o X"$ask" = X"y" ]; then
125: dd if=/dev/$src of=/dev/$dst
126: fi
1.2 misho 127: fi
128: fi
129: fi
130: ;;
131: esac
132: }
133:
134: ### main()
135:
136: while : ; do
137: if [ -r /etc/disablemenu ]; then
138: echo
139: echo
140: echo "*** Console menu disabled. ***"
141: echo
142:
143: stty -echo
144: read tmp
145: stty echo
146: if [ X"${tmp}" = X"${MAGIC_MENU}" ]; then
147: echo
148: echo "> OK, temporary unhide menu ..."
149: echo
150:
151: menu
152: fi
153: else
154: menu
155: fi
156: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>