After attending this track, students will be able to install and upgrade the Unix operating system on standard PC hardware, and use it to provide some essential Internet services
Resources needed
local mirror of FreeBSD 5.4RC with selected packages not on the CD-ROM and the distfiles we need for the ports exercises (test all the exercises on one machine, then copy across its distfiles directory)
local FreeBSD cvsup mirror. Note, we can freeze it and therefore be guaranteed that our exercises won't break due to new changes in CVS!
ideally one PC per student, else one between two, with flat LAN
test that the NIC works with FreeBSD
6GB or larger hard drive
one FreeBSD CD-ROM per student
[optional: a blank floppy per student]
if available: USB memory stick, one or two USB/firewire attached hard drives
instructor PC with overhead projector
useful handout: commands and config files for FreeBSD 5.x
student non-root logins on the NOC server, for ssh practice
why use Unix not Windows? (and a bit about the philosophy: small, re-usable components which you can join together. Scripts and remote management rather than a GUI. Security history)
How to create a user: 'pw useradd xxx -m', 'passwd xxx'
How to delete a user: 'pw userdel xxx -r'
Using 'su' to become root from non-root; add user into 'wheel' group
Everybody create a non-root account. Always use it! Then use su when necessary
Simple filesystem commands
Look at the filesystem status: 'mount', 'df'
Mount the cdrom, use 'ls' to check contents, unmount it (can't eject until unmounted)
Simple package management commands
Look at package status: 'pkg_info' (and remember 'man pkg_info')
Add packages from CD-ROM
Install 'bash'
List the files it contains with pkg_info -L bash\; note all under /usr/local
Type 'bash'; why doesn't it work? 'rehash' first (C shell anomoly)
Editing files with vi
Edit /etc/rc.conf to set up networking
Edit /etc/resolv.conf to set up nameserver client
Test (e.g. ping)
Configure network interface in /etc/rc.conf
Using FTP client
Fetch joe and lynx-ssl packages into your home directory
Install them
Check they work (try editing a file with joe instead of vi)
Stick to vi if you want to practice
Note that some packages have dependencies which need downloading too; e.g. try installing 'gmake'
Note that /stand/sysinstall lets you install packages, but it's tedious over the network because it downloads a huge INDEX file every time. OK for CD-ROM though.
Practice installing, deleting, and querying packages
Session 4: Tour of Unix basics - Brian
Presentation: OpenOffice
Handout:
PDF |
PS .gz
Exercises:
Text |
HTML |
PDF |
PS .gz
For each session include the commands you need to see the current state (e.g. ps and top, ls -l) and to change the current state (e.g. kill, rm). Some of this may be trimmed...
main cryptographic techniques: private key, hashing, public key
demonstrate md5
approaches to man-in-the-middle
known hosts (a magic 'fingerprint' learned from the other side)
[moved to start of next session] certificates
ssh practical
enable ssh, use it to log onto neighbour's machine, get prompted to accept the host key first time, not second. (Check the host key fingerprint manually on the other side)