Virtual Environments for Collaborative Visualization and Experimentation.

as fall semester gets under way

Will be a Java tutor from here on out.  Still adding Solaris accounts for late enrollees, and editing Solaris user guides.  Also did some research into gconf trying to add Eclipse to thin clients and Secure Global Desktop.

 

new student Solaris accounts for fall semester

The GUI looked like it would finally work as planned in the real environment when an alert SysAdmin detected an unintended side effect that opened up a gap in security.  So that was put on hold and we added accounts manually for this semester; this involved learning more about the options of the "smuser" command and how they work together, as these accounts were set up in a specific subdirectory created for this semester.  Will check into what caused the GUI's nasty side effect next week, after the new student guides to using the Solaris accounts are finished.

week ending 8/21/10

Got so caught up in preparing for the start of fall semester that I have two weeks worth of blog entries to catch up on.

Finished hooking up the last four computers in 3290 and put them in their harnesses; also re-attached back panel of one desk.

The GUI did not run on the t-2000-2 until an ID with the role of primary administrator was set up on the Solaris Management Console in that environment.  Could then run it from NetBeans but needed to specify path of JRE 1.6 to run from command line.  Made minor improvements to GUI:

per user web directories in Apache 2

The default Apache 2 installation on Ubuntu 10.04  Provides one web root directory which is located in /var/www to provide additional webroot directories it is necessary to alter the default configuration file located in /etc/Apache/sites-available

In the case of providing multiple users access to different web root accounts that work with Apache 2 the developers at Apache foundation created a directive called UserDir.  This directive allows the system administrator to specify which directory within each users home directory to look for HTML documents. It can also be used to enable or deny access to specific users based on username. It is often used to disable the root user's web directory for security purposes.

Getting Ready for the Start of the Semester

There's not much time left till fall semester starts, so everything has to be in place for that.  Helped Josh some with configuring in rooms 3270 & 3290 before and after cloning; added password-changing function to the GUI, fixed the remaining bugs, added an extra security check, and tested and verified that everything is in working order.  Moved my code off of the testing environment and into the real one; Warren will help me get it executable on Monday.  Then I'll check to see if what prints to the console now will also print a hard copy or if that section needs finishing up.

Progress on GUI

This entry will bring things up to date for two weeks of work.  Have been trying out four different versions of code to execute bash commands, while attempting to execute two different commands (really three:  "useradd", "userdel", and "smuser").  Got similar results with "useradd" and userdel" using the first source, and with "smuser" using the fourth - I could add to /etc/ files but not to /var/yp/ ones.  But there were two drawbacks to using "useradd" - I couldn't seem to add the account user's name (as a comment using option "-c") and, worse, I couldn't log into accounts I'd added to /etc/ files - it turned out they were locked for some reason.  So I'm going with "smuser" and the execution code from the JavaWorld article (http://www.javaworld.com/javaworld/jw-12-2000/jw-1229

GUI code progress

Changed the dropdown list of existing accounts to only print a substring that contains the userID to be deleted; this prevents lines that need to stay in the file from being deleted and also solves the problem of only partial lines printing because the list items were too long for the dropdown list's container.  But I will probably change this to print the name associated with the userID - did not realize at the time that login name and userID were separate fields and that userID would not contain the user's name, so userID would allow the system, but not the administrator, to identify the account to be deleted.

New environment for further development of app

Josh set up Solaris on Virtual Box on a computer that runs Windows so that I could continue to work on the bash commands methods without dealing with "sudo".  Updated Firefox to 3.6.6 in the new environment because I got a message that said Google Docs was not supported, but I still get that message.  Also can't view the Java SE 6 API in this environment because it uses frames, so I don't use Virtual Box for anything other than NetBeans and the terminal.  I'm beginning to think that getting the right test environment takes at least as much time as the actual development does.

"Useradd" and "userdel" commands are now adding to and removing from /etc/passwd and /etc/shadow but "cp" and "userdel" are not copying to or removing from the targeted files.  Am looking into "smuser". 

Squid - caching proxy

{s q u i d}Squid is a FOSS project that was started with an NSF grant and has continued with the support of volunteers, donors, and commercial support.  I am currently testing it on a small lab network to see if I can notice a difference in web surfing speed.  I learned of squid when I was reading an article in Communications of the ACM about a caching proxy called Varnish.  The author, a kernel developer on the FreeBSD project, claimed to have created a caching proxy that was ten times faster than the highest performing proxy caching servers. Squid is such a high performance caching proxy and his remarks were clearly a reference to squid.  

bash commands from GUI app

Started adding bash commands to the GUI.  Replaced the code I'd used earlier with something else because the first option wasn't working with "sudo" but now the new option isn't working with "sudo" either.  Have been trying to work around it (in sudoers) or disable sudo, but not really getting anywhere. 

I'd also like to combine the file-reading methods, but the code that differentiates them is all in try-catch blocks, and the methods are pretty small as is.  Don't know if it would really save anything, though it would be cleaner to read; that alone might make it worthwhile.