Network+ Guide to Networks, Fourth Edition Chapter 9 Networking with UNIX-Type of Operating Systems At a Glance Objectives Teaching Tips Quick Quizzes Class Discussion Topics Additional Projects Additional Resources 9-1 Network+ Guide to Networks, Fourth Edition Lecture Notes Chapter Objectives Describe the origins and history of the UNIX operating system Identify similarities and differences between popular implementations of UNIX Describe the features and capabilities of servers running Solaris, Linux, and Mac OS X Server Explain and execute essential UNIX commands Install and configure Linux on an Intel-based PC Manage users, groups, and file access permissions in Solaris, Linux, and Mac OS X Server Explain how computers running other operating systems can connect to UNIX servers A Brief History of UNIX Provide a brief overview of UNIX-Types of OSs. Stress that UNIX was the testing ground for TCP/IP. Also stress that many versions of UNIX-like OSs are available for free or for a nominal fee. Provide an overview of the history of the UNIX OS. Mention where it was first created and who first created it. Discuss the chain of ownership of UNIX, from the AT&T days up to the current ownership. Discuss how UNIX was initially disseminated and expanded. Mention the importance of Berkeley Software Distribution (BSD) in UNIX’s history. Varieties of UNIX Discuss the properties and features that all UNIX-Type systems share in common, as specified on page 487 of the text. Introduce the two main categories of UNIX systems. Proprietary UNIX Provide an overview of proprietary UNIX systems. Mention that the source code for these types of UNIX is unavailable, or must be licensed from The SCO Group. Discuss the three major flavors of Proprietary UNIX: Mac OS X Server, Solaris, and AIX. Discuss the types of hardware that each of these run on. Mention that AIX cannot run on Macintosh systems, even though it is designed to run on a PowerPC-based processor. Discuss the advantages and disadvantages of using proprietary UNIX flavors, using the list on page 488 of the text as a guide. 9-2 Network+ Guide to Networks, Fourth Edition 9-3 Open Source UNIX Introduce the concept of open source software, and explain its advantages and disadvantages Discuss some of the UNIX-Type software packages that fall under the category of open source. Specifically mention Linux, BSD, and GNU. Mention some of the various flavors of Linux. Also mention that a nominal fee can be paid for support, documentation, and other resources. Compare proprietary and open source versions of UNIX-Type software. Stress that users can modify the source code of open source software, allowing them to add functionality. Mention that open source versions of UNIX-Type software are often able to run on a variety of types of systems. Teaching Tip Many open source software applications are published under the GNU Public License (GPL), which stipulates that the source code of any software published under its license must be freely available. Three Flavors of UNIX Discuss the three flavors of UNIX-Type software that will be used in this chapter: Solaris, Linux, and Mac OS X Server. Describe the environments on which each of these run, and mention the differences between them. Describe the networking features that these flavors of UNIX support, including TCP/IP, routing, firewall protection, DNS services, and DHCP services. Mention that these packages support a variety of network topologies and physical media. Mention that the source code for these UNIX-Type systems has been used for a number of years and refined many times by thousands of developers. Explain that all these systems are considered to be very stable and are supported by a wide variety of organizations. UNIX Server Hardware Requirements Explain that the hardware requirements for UNIX-type systems are similar to the requirements for Windows Server 2003. Stress that any type of UNIX-type OS can be run as either a workstation or server OS. Explain that the use of a GUI in UNIX-type OSs is generally optional. Discuss the situations where a command-line interface may be preferable to a GUI. Discuss how a network administrator can get an idea of what additional hardware a server may require, using the list of questions provided on page 491 of the text. Network+ Guide to Networks, Fourth Edition Solaris Hardware Requirements Discuss the minimum hardware requirements for the Solaris 10 OS, as described in Table 9-1. Stress that these are the minimum hardware requirements. Mention that the HCL for Solaris can be found on Sun’s Web site. Linux Hardware Requirements Discuss the minimum hardware requirements for a Linux Server OS, as described in Table 9-2. Stress that these are the minimum hardware requirements. Mac OS X Server Hardware Requirements Discuss the minimum hardware requirements for the Max OS X Server operating system, as described in Table 9-3. Stress that these are the minimum hardware requirements. A Closer Look at UNIX UNIX Multiprocessing Give an overview of the way that UNIX-type systems handle processes. Explain that this method enables partitioning of processes in memory, thereby preventing one program from disrupting the operation of the entire system. Discuss the number of processors that each of the three featured flavors of UNIX support, as described on page 494 of the text. The UNIX Memory Model Discuss the characteristics of the UNIX memory model, pointing out the differences from the Windows Server 2003 memory model. Mention that memory is shared between programs whenever possible. Briefly mention that virtual memory on a UNIX-type system can be in the form of a disk partition or a file. Teaching Tip Linux’s Fedora Core requires a separate partition to be created for virtual memory. The UNIX Kernel Provide an overview of the purpose of the UNIX kernel. Stress that functionality can be modified by adding or removing kernel modules. Briefly discuss the origins of the kernels for Solaris, Linux, and Mac OS X Server. 9-4 Network+ Guide to Networks, Fourth Edition UNIX System File and Directory Structure Give an overview of the UNIX file system. Mention that UNIX was the first OS to use an hierarchical file and directory structure. Discuss the purpose of a number of the directories that can be found on a typical UNIX-type system. Specifically discuss the root directory, /boot directory, /bin and /sbin directories, /var directory, and /home directory (/Users for Mac OS X Server). UNIX System File Services Briefly introduce disk and network file systems and discuss their purposes. Disk File Systems Discuss the disk file systems supported by Solaris, Linux, and Mac OS X Server. Mention that these OSs can access disk partitions formatted with the DOS FAT file system as well as Windows Server 2003 NTFS. Teaching Tip The most common types used today are the ext2, ext3, VFAT, and REISER file systems; although, Linux can support upward of 50 different file systems. Network File Systems Discuss the concept of a network file system. Stress that it allows you to attach shared file systems (or drives) from Windows, NetWare, or other UNIX servers and share files with users on other computers. Discuss the network file systems available on Solaris, Linux, and Mac OS X Server. Specifically mention NFS, Samba, and AFP. Quick Quiz 1 1. A primary advantage of _____ UNIX and Linux is that users can modify their code and thereby add functionality. Answer: open source 2. The core of all UNIX-type of systems is called the _____. Answer: kernel 3. The native file system type on Linux is called _____. Answer: ext3 4. _____ is an open source application that implements the Windows SMB and CIFS file system protocols. Answer: Samba 9-5 Network+ Guide to Networks, Fourth Edition 9-6 A UNIX Command Sampler Provide an overview of UNIX commands, mentioning that the command line is generally the primary method for interacting with a UNIX-type system. Discuss the purpose of the command interpreter, or shell. Mention that the primary UNIX command interpreter is the file /bin/sh. Stress that, in order to effectively use the command interpreter, you need to know at least some basic UNIX commands. If the classroom is equipped to do so, illustrate the command prompt on a UNIX-type system. Discuss the purpose of the man pages. Describe the sections contained within man pages, as listed on page 497 of the text. If the classroom is equipped to do so, illustrate the use of the man command on the classroom computer. Teaching Tip If the classroom computer is not running a UNIX-type system, you may be able to use a program such as secure shell (SSH) to connect to a UNIX system in order to illustrate the concepts described in this section. Teaching Tip Make sure that the students understand the utility of the man pages. They should realize that the man pages are the most extensive resource on most UNIX commands. Discuss the format of commands on UNIX-type systems. Explain the process of using options with commands. Define file globbing. If the classroom is equipped to do so, illustrate all these concepts on the classroom computer. Mention that the forward slash is used as the directory separator character in UNIX-type systems. Discuss some of the UNIX commands listed in Table 9-4. Specifically point out some of the more commonly used commands, such as ls, cat, cd, cp, mv, mkdir, and rmdir. Also point out commands that are often used in UNIX networking, such as chmod, chgrp, ifconfig, who, netstat, and ftp. Teaching Tip Make sure that the students understand that commands, command options, and filenames in UNIX are all case sensitive. Discuss the ls command in detail. Discuss all the information that UNIX-type systems keep on file, using the list on page 500 as a guide. Mention the role that information nodes (i-nodes) play on a UNIX system. Explain all the information that is displayed by the ls –l command, as described on pages 500 and 501 of the text. Use Figures 9-2 and 9-3 to illustrate. If the classroom is equipped to do so, illustrate the use of this command on the classroom computer. Discuss the concept of pipes and explain how and why they are used. If possible, illustrate the use of pipes on the classroom computer. Network+ Guide to Networks, Fourth Edition 9-7 Installing Linux Explain that the Fedora Core will be installed. Mention that the installation will require installation CDs or DVDs. Planning a Linux Installation Explain that the considerations when installing Linux as a server are similar to those when installing Windows Server 2003. Discuss the preinstallation questions listed on pages 502 and 503 of the text. Mention the limitations imposed when naming a Linux server. Also mention the various IP addresses that will be needed. Installing and Configuring Fedora Core Discuss the tasks that take place during the installation of Fedora Core, as described on page 503 of the text. If the classroom is equipped to do so, walk students through the beginning steps of a Fedora Core installation (you should not have to show students the entire installation process, as this would take a substantial amount of time). Teaching Tip When installing the Fedora Core, selecting the Server type of installation will cause a default set of packages appropriate to a Linux server to be installed. However, the network administrator will have the option to add or remove packages either later during the installation, or after the installation has been completed. Administering a UNIX-Type of Server Provide an overview of administering a UNIX-type of server. Explain the role of the groupadd and useradd commands. Mention that Mac OS X uses the GUI Workgroup Manager application to manage groups and users. Establishing Groups and Users on Linux and Solaris Discuss the groupadd command in detail. Explain that Linux and Solaris assign a unique identification number to each group. Stress that creating a new group does not automatically assign access rights to that group. If possible, illustrate the use of this command on the classroom computer. Teaching Tip Make sure the students realize that they will only see a response to a UNIX command if the command experienced an error. Network+ Guide to Networks, Fourth Edition Teaching Tip Make sure that students understand that logon passwords on UNIX-type of systems are case sensitive and can include any of the characters on the keyboard. Discuss the useradd command in detail. Explain that it creates a new user ID and assigns that user ID to one or more groups. Discuss the purpose of the –g and –G options. Explain the purpose of the passwd command. If possible, illustrate the use of these commands on the classroom computer, as described in the steps listed on page 505 of the text. Establishing Groups and Users on Mac OS X Server Provide an overview of the Workgroup Manager application on Mac OS X Server. Explain that creating a new group on a Mac OS X Server does not assign users to that group. Also explain that when a new group is created, you assign a unique name and numeric ID to the group. If the classroom is equipped to do so, walk the students through the process of adding a group on a Mac OS X Server system, as describe in the steps listed on page 506 of the text. Describe the processes of creating users and adding them to existing groups on a Mac OS X Server system. If possible, illustrate these processes on the classroom computer, as described in the steps on pages 506 through 508 of the text Changing File Access Permissions Provide an overview of file access permissions in UNIX-type systems. Stress that every file and directory on a UNIX-type of system is owned by exactly one user and is a member of exactly one group. Explain that, by default, when a user creates a file or directory, that user is the file or directory’s owner. Illustrate an example of group security and permissions using Table 9-5. Changing File Access Permissions on Linux and Solaris Explain the steps involved in creating a directory and assigning it to a group on a Linux or Solaris system using the chgrp command, as described on pages 508 and 509 of the text. If possible, illustrate these steps on the classroom computer. Discuss the format of the chmod command, including the abbreviations used to specify who the changes will apply to and the permissions to apply. Explain the differences between read, write, and execute permissions. If possible, illustrate the use of the chmod command, using the steps listed on page 509 of the text as a guide. Changing File Access Permissions on Mac OS X Server Discuss the process of changing file access permissions on Mac OS X Server, as described in the steps on page 510 of the text. If the classroom is equipped to do so, illustrate these steps on the classroom computer. Connecting to UNIX-Type of Servers Provide an overview of connections between UNIX-type servers and Windows servers. Stress that both can communicate via TCP/IP, but their file systems may not be compatible. 9-8 Network+ Guide to Networks, Fourth Edition Discuss the functionality provided by SAMBA. Explain that it bridges file system incompatibilities using the server message block (SMB) file-sharing protocol and the Common Internet File System (CIFS) protocol. Explain that all modern UNIX-type systems support data sharing using directory services based on LDAP. Discuss how LDAP is implemented on Linux, Solaris, and Mac OS X Server. Explain that modern UNIX-type systems have a full complement of Internet tools. Mention that one of the most basic Internet services is connecting to a TCP/IP host from a remote computer. Describe how Telnet is used to accomplish this task, using Figures 9-5 and 9-6 to illustrate. If possible, illustrate the use of Telnet on the classroom computer, using the steps listed on page 511 of the text as a guide. Quick Quiz 2 1. In UNIX-type systems, the program that accepts the commands you type on the keyboard and runs the commands for you is called a(n) _____. Answer: command interpreter or shell 2. In UNIX-type systems, for each file, the system stores all of this information (except the filename) in a file _____. Answer: information node (i-node) 3. Which UNIX command displays with details all the files in the current directory? a. list b. ls c. lpr d. grep Answer: b 4. In UNIX, which symbol represents a pipe? a. / b. ? c. | d. # Answer: c 5. Which UNIX command is used to change file and directory permissions on Solaris and Linux? a. chgroup b. chmod c. useradd d. groupadd Answer: B Class Discussion Topics 1. Given how widely supported open source OSs such as Linux are, why would you choose to use a NOS that requires high licensing fees? 2. Have students discuss some of the reasons why they either do or do not enjoy working from a traditional computer command line. Have them discuss both the advantages and disadvantages of the command line from the point of view of speed, connection types, ability to remember commands, and so forth. 9-9 Network+ Guide to Networks, Fourth Edition Additional Projects 1. There are a number of file system options on OSs such as Linux. Have the students research file systems that can be used on Linux and compile a list of some of the most popular Linux file systems (including ext3, discussed in this chapter). Have the students report not only what file systems are available, but also the characteristics, advantages, and disadvantages of these file systems. 2. Have the students gain some experience using network-related UNIX commands, and well as some of the basic commands. From a UNIX-type system, have the students figure out how to perform the following tasks: Create a file named networkinfo.txt. Issue commands to write the following information to the file: the users now logged into the system, the network interface configuration, and the system’s TCP/IP routing table. Once this is completed, the students should then display the contents of this file to the screen. If possible, they should also send the file to a printer. Finally, if possible, have the students FTP the file to your system (have them first append their name to the file, using the mv command). This exercise will require the use of piping. Most of the commands necessary to complete this exercise are listed in Table 9-4, but a few are not, and will require a little research on the students’ part. Additional Resources The SCO Group: http://www.sco.com/ Linux.org: http://www.linux.org Mac OS X Server Home page: http://www.apple.com/server/macosx/ Solaris 10 Home page: http://www.sun.com/software/solaris/index.jsp Introduction to UNIX pipes: http://www.cf.ac.uk/psych/CullingJ/pipes.html UNIX Commands Reference Card: http://www.indiana.edu/~uitspubs/b017/ UNIX i-nodes: http://teaching.idallen.com/fasttrack/98/unix/inodes.htm Linux Install Guide: http://www.cppsig.org/links/linux/linuxInstall.html Linux File Systems: http://help-site.com/c.m/linux/filesystems/ Linux Security Administrator’s Guide: http://www.nic.com/~dave/SecurityAdminGuide/SecurityAdminGuide.html 9-10