freebsdzine.org
"That boy's about as sharp as a pound of wet liver" -- Foghorn Leghorn

[ Home  · Contribute  · Mailing Lists  · Contact Us  · Site Statistics  · Latest BSD News  · Submit an Article  ]

Search freebsdzine.org

FreeBSD 'zine Polls

I like...

men
women
men and women
pie
beer
uhhh, what?
moses

Results  · More polls


Sections
· Wanted articles
· About the site
· The staff
· Copyright info
· Privacy policy
· Change log

Resources
· The FreeBSD Project
· The FreeBSD Diary
· BSD Today
· Daemon News
· Daily Daemon News
· Slashdot BSD
· FreshPorts
· The FreeBSD Mall
· BSDVault
· The FreeBSD Browser

FreeBSD Books
· Complete FreeBSD
· FreeBSD Handbook
· FreeBSD Corporate
Networker's Guide


Runs on FreeBSD
Teaching with FreeBSD
Warren Toomey <[email protected]>

[ This was sent to us by Warren back in August, but due to the downtime, we're just publishing it now. Sorry for the delay, Warren. ]

Introduction

I work for one of the few universities in Australia that teach Systems Administration as an elective course in an undergraduate Computer Science or Information Systems degree. Currently, I have 22 students, and we are a third of the way through the course. I thought I'd briefly describe how the course is run, why I'm using FreeBSD, and how useful the students are finding the course.

I've been teaching a sysadmin course, SA3, for quite a number of years now. Because of its popularity and some other perceived shortcomings of the 1999 course, I've changed the work that the students get to do. In 2000, we have three main servers:

groucho

This server runs FreeBSD, acts as a filtering router to an internal network, 131.236.210.0, and also provides the primary DNS, mail, and, web server for the SA3 course.

harpo

This server runs OpenBSD, and provides internal services such as DHCP, an NTP server, and secondary DNS services. I went to FreeBSD after 386BSD 0.1, but I felt it was time to try out OpenBSD and see what good things they have done.

chico

Because of it's popularity with the students, this server runs Linux. It provides other internal services like Samba, POP/IMAP, printing, mailing lists, IRC, and FTP.

There's no way I'd be able to give a good sysadmin course without Open Source systems. All of the above, and NetBSD, allow you to really get your hands dirty with low-level sysadmin commands as well as hiding behind a GUI (if you really feel the need). These systems come with a pile of useful system and network services built-in. Most of these systems come with ports and/or package collections, which makes adding extra functionality relatively easy. And finally, having full source code allows the kernel to be tailored to match the hardware and the desired level of functionality.

Each week, I give two hour-long lectures in SA3. These cover the basic UNIX concepts and sysadmin tasks, but the students learn more by going into the lab and trying things out. They usually spend at least 4 hours per week there, either reading manuals and web pages or actually doing set tasks.

As well as the three servers, each student shares one of 13 other PCs. These are used as "sandbox" systems for the students to practice on. With these machines, they can make mistakes that would otherwise be disasterous on a production system.

The assessment for SA3 is broken into several categories:

  • Students must install FreeBSD or Linux on their own sandbox PC, and write up a report on how it went. For many of the students, both CompSci and InfoSys, this is the hardest assignment to do, as there is such a big learning curve on how to install and configure a real system.

  • Students must create non-root user accounts on the three servers.

  • At the end of the course, I give a lab test which examines the UNIX sysadmin skills that they picked up during the course. I also find that the Linux users fare badly against the FreeBSD users; I'd guess that the Linux GUI prevents them from finding out what's really going on underneath.

  • Also at the end of the course, I ask the students to write a short course summary, telling me any shortcomings, what they did right, and what they did wrong. These are usually an excellent read, and they get passed on to the next-year students.

  • In 2000, each student must choose at least one course-long job on one of the three SA3 servers. This forces them to install and configure a specific service, and also to maintain that service throughout the course. I've tried to make the jobs interdependent, so that to get part of a job done, a student might need to ask another student to do some work in their job. Fortnightly, students have to submit activity logs which record what job-related work they have performed.

  • Finally, to make up the marks, students can choose from a wide range of elective assignments broken into two categories:  install work and report writing. The install assignments give students a chance to install fun things like Apache, Samba, an IRC server, a new desktop, etc. The report work is oriented towards the InfoSys students who don't want to get too technical, but can do useful sysadmin things like draft system policy documents and so on.

All software installed as part of an assignment must be done from source code, as installing from a FreeBSD port or package makes it too easy, and also stops the would-be sysadmin from configuring the software to suit the local system.

SA3 in 2000: Weeks One to Three

Ok, so now you've got the gist of how SA3 runs, let me describe how it's going so far. We're now into week 5 of our 13 week semester.

In week 1, I advertised the course-long jobs and an empty allocation for the "sandbox" PCs, and immediately got job requests for the web server, the tiger team, and the first few sandbox groups. We've got one student who's essentially an ankle-biter/hacker who wanted to be in on the tiger team -- I thought at least we'd know what he was trying to do then :-)

It took until week 3 before all of the students chose jobs and sandbox groups. Several people chose to do multiple course-long jobs, as this means less formal report writing, and more informal job activity log writing. In these first 3 weeks, I cover the basic concepts of UNIX, which can be kind of dull, but is crucial if you want to understand how FreeBSD or any UNIX system really works.

Weeks Three to Five

The due date for the first assignments (the installation of FreeBSD or Linux and the user accounts on the 3 servers) was the 16th of August. As expected, some students found these first assignments conceptually hard, but after reading their reports, I think they got the hang of things.

The tiger team also had to create user accounts, and so for the first few weeks they had root access to the servers, but were not allowed to do anything nasty. That didn't stop them from running Crack on the password file. With the user accounts due date passed, we immediately changed the servers' root passwords. To my surprise, they didn't leave backdoors on the servers!

I made the mistake of emailing the new passwords out to the non-tiger students. Of course, students read each other's email, so the tiger team was back in. The passwords changed again very quickly, and now propagate verbally.

The next trick from the tiger team was to login as ordinary users and waste resources (i.e., recursive directories, fork bombs, memory and CPU chewers). This got the hackles of our security officers up. The security officer for groucho has spent the last few days learning about login.conf(5) and quotas on FreeBSD. I'm hoping that we can set resource limits on the Linux and OpenBSD boxes too.

One major event in SA3 this year is to migrate the 16 SA3 machines onto their own private network. We've got the hub and patch cables, and groucho has two working ethernet cards; it will become the router. We have been given a subnet allocation and the route for it has been set up, and groucho has also been registered as the Source of Authority for our own domain. Now it's up to the three network admins and the DNS admin to do the cabling, choose IP addresses and hostnames, and get all the students to reset their hostnames, addresses, default router, and DNS nameserver(s).

I'll keep you posted on how the SA3 course is going in future installments. If possible, I'll try to get the students themselves to tell you how the course is going and what they think of it.

Teaching systems administration isn't easy; the only real way to do it is to roll up your sleeves and get your hands dirty. A course like SA3 gives students this opportunity, but with some support from the lecturer for when things go wrong. It also helps direct the students' activities to ensure that they learn good habits and methods. Stay tuned for more...

- Warren

Return to the February 2001 Issue



Issues
2001
· March
· February
· January

2000
· December
· August
· July
· June
· May
· April
· March
· February

1999
· January

Other issues from 1999 are available in the attic for now.

Other News
· Slashdot
· FreeBSD Diary
· BSD Today
· FreshPorts
· Daemon News
· OS Online
· Rootprompt
· Maximum BSD

Miscellaneous
· Jim's site

IRC
#freebsdzine
If you'd like to hang out with us and talk about the site, join us in #freebsdzine on Undernet.

Backend
You can add a list of our latest issue's articles to your site by using our RDF/RSS file. You can also add it to your My Netscape page, or add our slashbox once you log in over at Slashdot.

[ Home  · Contribute  · Mailing Lists  · Contact Us  · Site Statistics  · Latest BSD News  · Submit an Article  ]

Copyright © 1998-2001 · The FreeBSD 'zine · All rights reserved.