TITLE : HTML as a Graphical User Interface for Unix System Administration Tasks
AUTHOR: Charles C. Bundy IV
E-MAIL : ccb8m@virginia.edu

SUMMARY: Proposal abstract submitted to "C/C++ Journal" on November 1 for
         inclusion in "Unix Theme" issue.

1.0 Abstract

Traditional Unix system administration consists of editing text 
files in obscure directories. This was adequate when punch cards 
and nifty printer terminals ruled the earth! It is no longer 
adequate in a modern Unix environment dominated by graphical 
user interfaces such as X11.

X11 has allowed various workstation manufacturers to build graphical 
interfaces for system administration tasks.  Unfortunately X11 
programming is cumbersome and not readily portable to non-Unix 
systems.  In an age of heterogeneous networked computers it is 
likely that a sysadmin won't be at an Xterm Unix console.  This 
can be unhandy if the sysadmin was trained to use GUI tools and 
doesn't have the foggiest notion of which text file needs modification.

What is needed is a non-platform specific way of presenting and
receiving graphical/textual data across networks.  Fortunately we 
have a portable graphical user interface solution available in the 
form of World Wide Web server/browser technology.

WWW server/browser technology allows custom GUI based sysadmin
tools with a minimum of C/C++ coding.  A sysadmin could contact 
the Unix host using any WWW browser running on any computer/OS!
Three things are required to administer a Unix system in this
fashion: 

   1) A WWW server running on each administered Unix machine.
   2) Common Gateway Interface programs which perform 
      the administration tasks. (written in C/C++)
   3) A WWW browser running on the computer being used 
      by the sysadmin.

This article provides hands on experience in writing and debugging CGI
binaries for the purpose of Unix system administration.  C routines are 
included.  These routines read administration files, output data in HTML 
format, and generate HTML forms for sysadmin input. 

The example administration tool for this article is called "La Tool".  It 
presents the sysadmin with a drop down list of all users on the system.  
Once a user is selected a list of online events is produced along with 
total online time statistics.

Items 1) and 3) are topics worthy of separate articles.  Thus they are
not covered in detail.  General article assumes Intermediate Unix SysAdmin
experience, Novice HTML, Intermediate C programming, Novice Unix Programming
environment experience.


1.1 Outline

  I. Introduction
     A) Benefits and Risks of using WWW as a user interface.
     B) HTML FORM commands and general format syntax.
     C) Common Gateway Interface
     D) Unix and C.

 II. Compiling a C program, Unix -vs- DOS/Windows
     A) Command lines -vs- Interactive Development Environments
     B) Tools: (make, cc, gcc and g++)

III. La Tool
     A) Explain relevant Unix admin files and directories
     B) Present C code in context with A)
        1) Unix admin routines (password/account info/login info etc)
        2) HTML I/O routines(Drop down lists/Radio Buttons/Text Input/Password)
     C) Debugging a CGI binary (La Tool)
     D) Installing a CGI binary (La Tool)
     E) Accessing a CGI binary (La Tool)

 IV. Conclusion


2.0 Qualifications

Educational:

B.S. & M.Cs, University of Virginia. Minor degrees in E.E. and Biology.  
Received two GTA teaching awards during graduate study.  Outstanding 
undergraduate thesis award for real time speaker independent voice 
controlled wheel chair.  Masters Project involved locating sound 
producing objects in "noisy" environments using phase correlation.

Industrial:

Three years in the field of computational fluid dynamics.  Experience with
ATT, BSD and Unix variants as well as supercomputer OS'es.  Manager of SW 
distribution.  System Administrator.  Software Engineer.  Network 
Administrator.

Six years: Media Lab technician, Mainframe/Unix help desk, Graduate 
Teaching Assistant at UVa. Extensive PC/Sun/SGI experience.

Currently a programmer/analyst for the Virginia Department of 
Transportation. Have implemented statewide WWW server program using
surplus equipment and Linux OS.  Founded an Internet Technology transfer
program.  
