Thanks Nicolas! But am not sure if I follow correctly.
The "cgiapp" in question has an architecture like
<code>ls -l /var/cgiapp
drwxr-xr-x 2 root root 48 2009-03-13 19:57 backup
drwxr-xr-x 8 root root 552 2010-08-31 04:43 bin
drwxr-xr-x 22 root root 608 2010-08-31 04:43 cgi
drwxr-xr-x 2 root root 176 2010-08-31 04:43 css
drwxr-xr-x 3 root root 88 2010-08-31 04:43 data
drwxr-xr-x 2 root root 3696 2010-08-31 04:43 error
drwxr-xr-x 12 admin users 480 2010-08-31 04:45 etc
drwxr-xr-x 3 root root 72 2010-08-31 04:43 include
-rwxr-xr-x 1 root root 66298 2009-03-13 19:57 index.cgi
drwxr-xr-x 2 root root 1512 2010-08-31 04:43 js
drwxr-xr-x 10 root root 248 2010-08-31 04:43 ldap
drwxr-xr-x 3 root root 2632 2010-08-31 04:43 lib
drwxr-xr-x 2 root root 224 2010-08-31 11:22 log
drwxr-xr-x 25 root root 680 2010-08-31 04:43 tmpl
drwxr-xr-x 4 root root 816 2010-08-31 13:51 web_server
</code>
So under cgi/ there are, for example, C CGI programs to add system users, read logs, etc. I am not sure about the www-data reference, since I don't want Apache in the picture, only Hiawatha. Also if it helps in explaining my problem better, this "cgiapp" is like Webmin. So there are modules/scripts for doing various things.
Also, since there is (possibly) no way to do such tasks (as adding system users, changing passwords etc.) without root privileges, what could be a good compromise in this situation ?
Sorry, if the answers to these questions are obvious, but I'd appreciate if I could get some further insight on this.