rev |
line source |
pankso@2
|
1 #!/bin/sh
|
pankso@2
|
2 #
|
pankso@14
|
3 # Main CGI interface for TazPanel. In on word: KISS. Use the main cas form
|
pankso@14
|
4 # command so we are faster and dont load unneeded function. If nececarry
|
pankso@14
|
5 # you can use the lib/ dir to handle external resources.
|
pankso@2
|
6 #
|
pankso@2
|
7 echo "Content-Type: text/html"
|
pankso@2
|
8 echo ""
|
pankso@2
|
9
|
pankso@14
|
10 # Common functions from libtazpanel
|
pankso@14
|
11 . lib/libtazpanel
|
pankso@14
|
12 get_config
|
pankso@2
|
13
|
pankso@22
|
14 # Include gettext helper script.
|
pankso@22
|
15 . /usr/bin/gettext.sh
|
pankso@22
|
16
|
pankso@22
|
17 # Export package name for gettext.
|
pankso@22
|
18 TEXTDOMAIN='tazpanel-cgi'
|
pankso@22
|
19 export TEXTDOMAIN
|
pankso@22
|
20
|
pankso@2
|
21 #
|
pankso@2
|
22 # Commands
|
pankso@2
|
23 #
|
pankso@2
|
24
|
pankso@2
|
25 case "$QUERY_STRING" in
|
pankso@13
|
26 boot)
|
pankso@14
|
27 #
|
pankso@13
|
28 # Everything until user login
|
pankso@14
|
29 #
|
pankso@13
|
30 TITLE="- Network"
|
pankso@13
|
31 xhtml_header
|
pankso@13
|
32 cat << EOT
|
pankso@13
|
33 <div id="wrapper">
|
pankso@14
|
34 <h2>`gettext "Boot & startup"`</h2>
|
pankso@14
|
35 <p>
|
pankso@14
|
36 `gettext "Everything that appends before user login."`
|
pankso@14
|
37 </p>
|
pankso@14
|
38 </div>
|
pankso@13
|
39
|
pankso@13
|
40 <h3>`gettext "Kernel cmdline"`</h3>
|
pankso@13
|
41 <pre>
|
pankso@13
|
42 `cat /proc/cmdline`
|
pankso@13
|
43 </pre>
|
pankso@13
|
44 EOT
|
pankso@14
|
45 ;;
|
pankso@13
|
46 users|user=*)
|
pankso@14
|
47 #
|
pankso@13
|
48 # Manage system user accounts
|
pankso@14
|
49 #
|
pankso@8
|
50 TITLE="- Users"
|
pankso@8
|
51 xhtml_header
|
pankso@13
|
52 cmdline=`echo ${QUERY_STRING#user*=} | sed s'/&/ /g'`
|
pankso@13
|
53 # Parse cmdline
|
pankso@13
|
54 for opt in $cmdline
|
pankso@2
|
55 do
|
pankso@13
|
56 case $opt in
|
pankso@13
|
57 adduser=*)
|
pankso@13
|
58 user=${opt#adduser=}
|
pankso@13
|
59 cmd=adduser ;;
|
pankso@13
|
60 deluser=*)
|
pankso@13
|
61 user=${opt#deluser=}
|
pankso@13
|
62 deluser $user ;;
|
pankso@13
|
63 passwd=*)
|
pankso@13
|
64 pass=${opt#passwd=} ;;
|
pankso@13
|
65 esac
|
pankso@2
|
66 done
|
pankso@13
|
67 case "$cmd" in
|
pankso@13
|
68 adduser)
|
pankso@13
|
69 echo "$user"
|
pankso@13
|
70 echo $pass
|
pankso@13
|
71 adduser -D $user
|
pankso@13
|
72 echo "$pass" | chpasswd
|
pankso@13
|
73 for g in audio cdrom floppy video
|
pankso@13
|
74 do
|
pankso@13
|
75 addgroup $user $g
|
pankso@13
|
76 done ;;
|
pankso@13
|
77 *) continue ;;
|
pankso@13
|
78 esac
|
pankso@13
|
79 cat << EOT
|
pankso@13
|
80 <div id="wrapper">
|
pankso@14
|
81 <h2>`gettext "Manage users"`</h2>
|
pankso@14
|
82 <p>`gettext "Manage human users on your SliTaz system"`</p>
|
pankso@14
|
83 </div>
|
pankso@13
|
84 <form method="get" action="$SCRIPT_NAME">
|
pankso@13
|
85 EOT
|
pankso@13
|
86 table_start
|
pankso@13
|
87 cat << EOT
|
pankso@13
|
88 <tr id="thead">
|
pankso@13
|
89 <td>`gettext "Name"`</td>
|
pankso@13
|
90 <td>`gettext "User ID"`</td>
|
pankso@13
|
91 <td>`gettext "Name"`</td>
|
pankso@13
|
92 <td>`gettext "Home"`</td>
|
pankso@13
|
93 <td>`gettext "SHell"`</td>
|
pankso@13
|
94 </tr>
|
pankso@13
|
95 EOT
|
pankso@13
|
96 for i in `cat /etc/passwd | cut -d ":" -f 1`
|
pankso@13
|
97 do
|
pankso@13
|
98 if [ -d /home/$i ]; then
|
pankso@13
|
99 login=$i
|
pankso@13
|
100 uid=`cat /etc/passwd | grep $i | cut -d ":" -f 3`
|
pankso@13
|
101 gid=`cat /etc/passwd | grep $i | cut -d ":" -f 4`
|
pankso@13
|
102 name=`cat /etc/passwd | grep $i | cut -d ":" -f 5 | \
|
pankso@13
|
103 sed s/,,,//`
|
pankso@13
|
104 home=`cat /etc/passwd | grep $i | cut -d ":" -f 6`
|
pankso@13
|
105 shell=`cat /etc/passwd | grep $i | cut -d ":" -f 7`
|
pankso@13
|
106 echo '<tr>'
|
pankso@13
|
107 echo "<td><input type='hidden' name='user' />
|
pankso@13
|
108 <input type='checkbox' name='deluser' value='$login' />
|
pankso@13
|
109 <img src='$IMAGES/user.png' />$login</td>"
|
pankso@13
|
110 echo "<td>$uid:$gid</td>"
|
pankso@13
|
111 echo "<td>$name</td>"
|
pankso@13
|
112 echo "<td>$home</td>"
|
pankso@13
|
113 echo "<td>$shell</td>"
|
pankso@13
|
114 echo '</tr>'
|
pankso@13
|
115 fi
|
pankso@13
|
116 done
|
pankso@13
|
117 table_end
|
pankso@13
|
118 cat << EOT
|
pankso@14
|
119 <div>
|
pankso@14
|
120 <input type="submit" value="`gettext "Delete selected user"`" />
|
pankso@14
|
121 </div>
|
pankso@13
|
122 </form>
|
pankso@13
|
123
|
pankso@13
|
124 <h3>`gettext "Add a user"`</h3>
|
pankso@13
|
125 <form method="get" action="$SCRIPT_NAME">
|
pankso@14
|
126 <input type="hidden" name="user" size="30" />
|
pankso@14
|
127 <p>
|
pankso@14
|
128 `gettext ""`
|
pankso@14
|
129 <input type="text" name="adduser" size="30" />
|
pankso@14
|
130 </p>
|
pankso@14
|
131 <p>
|
pankso@14
|
132 `gettext ""`
|
pankso@14
|
133 <input type="password" name="passwd" size="30" />
|
pankso@14
|
134 </p>
|
pankso@14
|
135 <input type="submit" value="`gettext ""`Create user" />
|
pankso@13
|
136 </form
|
pankso@13
|
137 EOT
|
pankso@13
|
138 ;;
|
pankso@2
|
139 network)
|
pankso@14
|
140 #
|
pankso@13
|
141 # Network configuration
|
pankso@14
|
142 #
|
pankso@8
|
143 TITLE="- Network"
|
pankso@8
|
144 xhtml_header
|
pankso@13
|
145 cat << EOT
|
pankso@13
|
146 <div id="wrapper">
|
pankso@14
|
147 <h2>`gettext "Networking`</h2>
|
pankso@14
|
148 <p>`gettext "Manage network connection and services`</p>
|
pankso@14
|
149 </div>
|
pankso@14
|
150
|
pankso@14
|
151 <h3>Output of: ifconfig -a</h3>
|
pankso@14
|
152 <pre>
|
pankso@14
|
153 `ifconfig -a`
|
pankso@14
|
154 </pre>
|
pankso@13
|
155 EOT
|
pankso@14
|
156 ;;
|
pankso@2
|
157 hardware)
|
pankso@14
|
158 #
|
pankso@14
|
159 # Hardware drivers, devices, filesystem, screen
|
pankso@14
|
160 #
|
pankso@8
|
161 TITLE="- Hardware"
|
pankso@8
|
162 xhtml_header
|
pankso@13
|
163 cat << EOT
|
pankso@13
|
164 <div id="wrapper">
|
pankso@14
|
165 <h2>`gettext "Drivers & Devices"`</h2>
|
pankso@14
|
166 <p>`gettext "Manage your computer hardware`</p>
|
pankso@14
|
167 </div>
|
pankso@13
|
168 EOT
|
pankso@2
|
169 echo '<pre>'
|
pankso@14
|
170 fdisk -l | fgrep Disk
|
pankso@13
|
171 echo '</pre>'
|
pankso@14
|
172 echo '<pre>'
|
pankso@14
|
173 df -h | grep ^/dev
|
pankso@14
|
174 echo '</pre>'
|
pankso@14
|
175 echo '<pre>'
|
pankso@14
|
176 lspci
|
pankso@14
|
177 echo '</pre>'
|
pankso@14
|
178 ;;
|
pankso@2
|
179 *)
|
pankso@14
|
180 #
|
pankso@2
|
181 # Default xHTML content
|
pankso@14
|
182 #
|
pankso@8
|
183 xhtml_header
|
pankso@2
|
184 cat << EOT
|
pankso@13
|
185 <div id="wrapper">
|
pankso@14
|
186 <h2>`gettext "Host:"` `hostname`</h2>
|
pankso@14
|
187 <p>`gettext "SliTaz administration et configuration Panel"`<p>
|
pankso@14
|
188 </div>
|
pankso@14
|
189
|
pankso@14
|
190 <h3>`gettext "Summary"`</h3>
|
pankso@14
|
191 <div id="summary">
|
pankso@14
|
192
|
pankso@2
|
193 <p>
|
pankso@14
|
194 `gettext "Uptime:"` `uptime`
|
pankso@2
|
195 </p>
|
pankso@14
|
196 <p>
|
pankso@14
|
197 `gettext "Memory in Mb:"`
|
pankso@14
|
198 `free -m | grep Mem: | awk \
|
pankso@14
|
199 '{print "| Total:", $2, "| Used:", $3, "| Free:", $4}'`
|
pankso@14
|
200 </p>
|
pankso@14
|
201 <p>
|
pankso@14
|
202 `gettext "Filesystem usage statistics:"`
|
pankso@14
|
203 </p>
|
pankso@14
|
204 <pre>
|
pankso@14
|
205 `df -h | grep ^/dev`
|
pankso@14
|
206 </pre>
|
pankso@14
|
207
|
pankso@14
|
208 <!-- Close summary -->
|
pankso@14
|
209 </div>
|
pankso@2
|
210 EOT
|
pankso@2
|
211 ;;
|
pankso@2
|
212 esac
|
pankso@2
|
213
|
pankso@14
|
214 xhtml_footer
|
pankso@14
|
215 exit 0
|