////////////////////////////////////////////////// Tentative Schedule for CS 4750 ////////////////////////////////////////////////// Last Revision -- 05/13/97 ================================================================= Week 01: Feb 17-21 DAEMON pages 001-023: history and goals, 4.4BSD facilities and the kernel, kernel organization. NEMETH ch1:1-12 History of Unix and overview, ch31:705-721 daemons, ch6:85-95 adding new users LAB IDEAS: * create a coherent set of users on all machines * vipw and sudo installation * configure user environment + path, aliases + terminal types + "centralized" dot files + install jove & other "productivity software" users want. * security + check "stock" passwd file entries + install npasswd and crack ================================================================= Week 02: Feb 24-28 DAEMON pages 024-046 Design overview of 4.4BSD; NEMETH ch3:49-55 rootly powers, file ownership, important users; ch4:56-67 filesystem, file types, permissions ch5:68-84 controlling processes, id's, kill, nice, ps LAB IDEAS: *continue with week 1 stuff *check permissions on various directories and log files, /tmp, /var/spool/mail *install the top program *practice the Unix commands you have been reading about in Nemeth ================================================================= Week 03: Mar 3-7 DAEMON pages 047-069; kernel services, system calls, NEMETH ch11:179-199 Backups; ch26:618-630 Disk Space Management LAB IDEAS: * Backup demo and practice + using tar, dump and restore + dump scripts * Institute a regular backup regime for the Linux machines. Start and continue regular backups. ================================================================= Week 04: Mar 10-14 DAEMON pages 070-092 kernel services, process management; NEMETH ch21:439-462, 513-517 electronic mail; ch12:200-206 syslog and log files LAB IDEAS: * continue with week 3 stuff * check daily message logs in /var/log * check mail spool file * check mail queue file * fake a mail message by telnetting to port 25. * create system mailing list * set up imap4 software * fake a syslogd message by calling the syslog command from a C program. (cf Nemeth p. 213) * try to locate all the log files and check to see if cron is set up to maintain them all properly. Make any needed changes to cron. ================================================================= Week 05: Mar 17-21 DAEMON pages 093-115; process management NEMETH ch12:207-217 syslog and log files ; ch2:13-37 booting and shutting down LAB IDEAS: * practice shutting down & rebooting + read the man pages on shutdown, halt, and reboot. + figure out how to order the system to boot into single-user mode. + use "wall" write to all users + use shutdown messages and delayed shutdowns + check for long-running processes * examine rc files on our Unix machines * examine the /proc filesystem and investigate its uses. * examine the /etc/inittab file on a Linux or other ATT-ish system * create a spare root partition on a Linux system, or figure out how to do it. Be sure to figure out how to use LILO to boot from it. ================================================================= Week 06: Mar 24-28 DAEMON pages 116-138; memory management NEMETH ch2:38-48 booting and shutting down ch14:243-267 tcp/ip and routing First In-Term Exam: 9-10pm? LAB IDEAS: * continue with week 5 stuff * use the ping, arp, route, netstat, ifconfig, traceroute commands * check out the etherfind, nit, and traffic commands on the suns. * use ruptime and rwho + learn about setting up rwho -- /usr/spool/rwho + aliasing rwho and ruptime * use rsh and rcp + learn about set-up -- /usr/hosts + .rhosts files in ~, /, /root, and /tmp directories + /etc/hosts.equiv ================================================================= SPRING BREAK -- Mar 29 - Apr 6 ================================================================= Week 07: Apr 7-11 DAEMON pages 139-160; memory management NEMETH ch14:268-288 tcp/ip and routing ch25:580-594 printing and imaging LAB IDEAS: * practice networking and routing by creating a slip network. You can do it by simply connecting the serial ports between pairs of linux hosts. (Of course, you have to make completely certain that your cables are correct before connecting -- don't risk blowing out any connections.) * study the /etc/printcap files on sirius, barnard, and one of the linux hosts. * set up line-printing and laser printing on the linux boxes + for laser printing, investigate nenscript on pomo, and lptops on the suns. + see if you can figure out how to use a filter so that postscript and text are both handled correctly by the "lpr" command (c.f. pp. 589-590, 594 of Nemeth.) + make the necesary changes to /etc/printcap + resolve the host file and nameservice issues (you need help from John or Julie to do things that require root access on the Suns.) ================================================================= Week 08: Apr 14-18 DAEMON pages 161-183; memory management NEMETH ch25:595-617 printing and imaging ch15:289-301 network hardware LAB IDEAS: * continue setting up printing + get simple line printing and laser printing working from all the linux machines + investigate mpage on the CD-ROM for use as a filter (c.f. p. 614 of Nemeth) * get maps of the CS Dept Ethernet, and figure out where everything is, and what kind of network hardware is involved everywhere. * catch up with other stuff :^) * install software? * lynx * modem transfer software; kermit, sz,rz etc ================================================================= Week 09: Apr 21-25 "MAKE-UP EXAM" Tuesday, April 22 7:00pm DAEMON pages 184-206; I/O system overview NEMETH ch15:301-313 network hardware ch17:368-384 the network file system ch16:314-321 the domain name system LAB IDEAS: * create an NFS filesystem on the linux network + class discussion to determine the desired sharing ^ should home directories be shared? ^ should there be a shared area for downloading software? ^ should there be a shared area for web pages? + check for uniformity of uid's and gid's + read the man pages for exports, mountd, and nfsd + make the necessary changes to /etc/exports + notify mountd and nfsd + make the necessary changes to /etc/fstab + create the mount points + do a mount -a + test things ================================================================= Week 10: Apr 28 - May 2 DAEMON pages 207-229; I/O system overview NEMETH ch16:322-357 the domain name system LAB IDEAS: * continue with the NFS system get some non-trivial permanent NFS mounts installed. * install and configure the automounter amd off the CDROM * examine altair:/etc/namedb * experiment with nslookup and/or dig ^ get the names of the servers for the root domain ^ get information about the csustan.edu domain ^ get information about some foreign second-level domain, such as unc.edu * study the DNS database installation on our campus -- all the servers. What is anomalous about what we are doing at csustan.edu? ================================================================= Week 11: May 5-9 DAEMON pages 230-240 I/O system overview, pages 435-447 Network Protocols NEMETH ch16:358-367 the domain name system ch18:384-403 sharing system files, rdist, NIS ch22:519-524 network management LAB IDEAS: * examine altair:/etc/namedb * Run some of the "yp" commands: ypwhich, ypcat, ypmatch * Figure out which Suns are the Master and slave ypservers and learn as much as possible about how they have been configured. What is standard, and what is non-standard about how we do things here? * Examine /var/yp on altair * Consider solutions to NSF and NIS issues + uid & gid coherence problems + changing uid's and gid's en masse * using ping, traceroute, netstat * SNMP software? * Set up your host to "pull" passwd info from altair so that all users on the Sun network to login in to your host with their same password. ================================================================= Week 12: May 12-16 DAEMON pages 448-470 Network Protocols; NEMETH ch22:525-538 network management ch23:539-560 security LAB IDEAS: * Formulate plan (only) for integrating Suns with Linux net * Install npasswd or passwd+ off the CDROM * Do shadow passwords * Do password aging * Install a script that checks for accounts without passwords and accounts with uid = 0. * Install a script that finds setuid programs. * Use ncheck to find setuid programs. * Check your system for file permission problems. * Check ~ftp/etc/passwd for encrypted passwords. * Find a spare printer and set up a hardcopy security violation logger. * Check /etc/hosts.equiv for security problems. * Determine if the version of sendmail being run is the most secure possible -- if not then replace. * Run crack * Install tcp wrapper, COPS, tripwire * Look into the possibility of installing Kerberos: What are the current requirements? What is the current level of security of Kerberos? * Is there a way to set up packet filtering between our Linux hosts and a PPP/SLIP network? * Try learning more about "25th line" attacks. Are we vulnerable? What can we do? * Try to get information on what is the best current technology for encrypting files on Unix systems. * Look to see what the latest security information available from CERT is. * Join a security mailing list or start reading a security newsgroup. ================================================================= WEEK 13: May 19-23 Second In-Term Exam: 8-9pm DAEMON pages 471-487 Network Protocols; NEMETH ch32:722-750 policy and politics LAB IDEAS: * catch up :^) * other ================================================================= May 27, 7:00 p.m. Project Report Oral Presentations and Final Written Reports Due ================================================================= ================================================================= Here are some other "lab things" someone in the class may want to do, or that we might decide to do instead of some of the "lab things" listed above. 01. (re-) install some Linux systems. 02. Set up X-windows 03. Create programming environments such as a Java development environment. 04. Install DOS emulation so that some useful DOS software can be run (e.g. a Pascal Compiler) 05. Practice aspects of configuring sendmail -- e.g. set up a mail-exchanger. 06. Create a PPP host using a serial line interface. 07. Learn system monitoring tools -- checking for full filesystems, overworked CPU, network errors, etc. 08. Practice installing various software packages to get the experience of finding software on the net and installing it. 09. Learn about configuring the kernel. 10. Learn about installing Japanese Language Extensions to Linux. 11. Install MGR graphics interface for Linux. 12. Get Usenet running. 13. Get sound processing working. 14. Anything else!!? ================================================================= =================================================================