Chapter 9 Networking with UNIX-Type of Operating Systems Network+ Guide to Networks, Fourth Edition.

Post on 20-Jan-2016

225 views 0 download

Tags:

transcript

Chapter 9Networking with UNIX-Type

of Operating Systems

Network+ Guide to Networks, Fourth Edition

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

Objectives (continued)

• 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

• UNIX led to development of TCP/IP• Numerous vendors sell different UNIX varieties• Ken Thompson and Dennis Ritchie developed UNIX

at Bell Labs (part of AT&T)– System V

• UNIX source code was cheaply available from AT&T– Quickly distributed to many organizations

A Brief History of UNIX (continued)

• Berkeley Software Distribution (BSD): Berkeley versions of UNIX– Added TCP/IP network subsystem to UNIX

• AT&T sold rights to UNIX– Now owned by two groups:

• The SCO Group owns rights to UNIX source code

• The Open Group owns UNIX trademark

Varieties of UNIX

• All flavors of UNIX share the following features:– Support multiple, simultaneously logged-on users

– Coordinate multiple, simultaneously running tasks

– Mount disk partitions on demand

– Apply permissions for file and directory access and modification

– Uniform method of issuing data to or receiving data from hardware devices, files, and running programs

– Start programs without interfering running programs

Varieties of UNIX (continued)

• All flavors of UNIX share the following features (continued):– Hundreds of subsystems, including dozens of

programming languages

– Source code portability

– Window interfaces (e.g., X Windows)

• Two main categories:– Proprietary

– Open source

Proprietary UNIX

• Source code either unavailable or available only by purchasing licensed copy from the SCO Group– Mac OS X Server: Apple

• Runs on PowerPC-based computers

– Solaris: Sun• Runs on SPARC-based workstations and servers, Intel-based

Pentium-class workstations and servers

– AIX: IBM• Runs on PowerPC-based computers

• Does not run on Macs

Proprietary UNIX (continued)

• Advantages:– Accountability and support

– Optimization of hardware and software

– Predictability and compatibility

• Customer has no access to system’s source code – Cannot customize

Open Source UNIX

• Open source software available to anyone, without licensing fees

• Open source UNIX flavors:– GNU

– BSD

– Linux

• Users can modify code – Add functionality

• Can be installed on wide range of systems

Three Flavors of UNIX

• Solaris used by Sun Microsystems on its SPARC-based servers

• Linux follows standard UNIX conventions, highly stable, and free– Developed by Linus Torvalds in 1991– Widely supported and used

• Mac OS X Server: Runs on Apple’s Xserve line of computers as well as Power Mac computers

• All support TCP/IP and other protocols• Support many network topologies and physical

media

UNIX Server Hardware Requirements

• Any UNIX-type OS can act as a workstation or server OS

• Use of GUI optional– Command line interface

• To estimate additional hardware required:– Server usage?

– Applications and services to be run on server?

– Number of users?

– Peak usage time periods?

– Maximum tolerable downtime?

Solaris Hardware Requirements

Table 9-1: Minimum hardware requirements for Solaris 10

Linux Hardware Requirements

Table 9-2: Minimum hardware requirements for a Linux server

Mac OS X Server Hardware Requirements

Table 9-3: Apple hardware recommendations for Mac OS X Server

A Closer Look at UNIX: Multiprocessing

• Allocate separate resources (e.g., memory space) to each process as it is created– Enables partitioning of processes in memory

– Prevent programs from disrupting operation of entire system

• Support symmetric multiprocessing (SMP)– Solaris: up to 128 processors

– Linux: up to 32 processors

– Mac OS X Server: up to 2 processors

The UNIX Memory Model

• Use both physical and virtual memory efficiently• Allocate memory area for each application

– Sharing memory between programs wherever possible• Increases efficiency

• Most use 32-bit addressing scheme – Enables programs to access 4 GB of memory

• Most can run on CPUs employing 64-bit addresses• Virtual memory: disk partition or a file

The UNIX Kernel

• Core of all UNIX-type of systems– Loaded into memory and runs computer turned on– Coordinates access to computer’s hardware– Can add or remove functionality by loading and

unloading kernel modules• Files containing instructions for performing specific tasks

• Kernel origins:– Solaris: original AT&T UNIX software– Linux: Linus Torvalds– Mac OS X Server (XNU): Mach

UNIX System File and Directory Structure

• First OSs to implement hierarchical file system– /boot directory contains kernel and other system

initialization files

– Applications and services stored in /bin and /sbin directories

– /var directory holds variable data

– Users’ login directories typically in /home• /Users on Mac OS X Server

UNIX System File and Directory Structure

Figure 9-1: UNIX file system hierarchy

UNIX System File Services

• Disk File Systems:– OS’s facility for organizing, managing, and accessing

files through logical structures and software routines

– Native file system type on Linux is ext3

– Solaris employs UFS

– Mac OS X Server employs HFS+ file system

– Can access FAT and NTFS partitions

UNIX System File Services (continued)

• Network File Systems (NFSs): analogous to Windows shares or NetWare network volumes– Attach shared file systems (or drives) from Windows,

NetWare, or other UNIX servers and share files with users on other computers

– Sun Microsystems’ NFS

– Samba: open source application that implements Windows SMB and CIFS file system protocols

• Included with Solaris, most Linux distributions, and Mac OS X Server systems by default

– Mac OS X Server uses AFP

A UNIX Command Sampler

• Command line is primary method of interacting with UNIX-type systems

• Command interpreter (shell): program that accepts and runs typed commands– Primary UNIX command interpreter file is /bin/sh

• Every UNIX-type system contains full documentation of UNIX commands in manual pages (man pages)– Access via man command

A UNIX Command Sampler

• Nine man page sections:– Section 1 covers commands most typically entered– Sections 2 through 5 document programmer’s interface to

UNIX system– Section 6 documents some amusements and games

included in UNIX system– Section 7 describes device drivers– Section 8 covers commands used by administrators to

manage system– Section 9 documents UNIX kernel functions programmers

use when writing device drivers

A UNIX Command Sampler (continued)

• apropos command: find possible manual page entries for a command

• Most commands are lowercase alphabetic characters• To specify an option, usually type a hyphen (-)

followed by a letter• File globbing: equivalent to using wildcards in

Windows and DOS• UNIX directory separator character is “/”

A UNIX Command Sampler (continued)

Table 9-4: Commonly used UNIX commands

A UNIX Command Sampler (continued)

Table 9-4 (continued): Commonly used UNIX commands

A UNIX Command Sampler (continued)

Table 9-4 (continued): Commonly used UNIX commands

A UNIX Command Sampler (continued)

• Most frequently used UNIX command is ls• For each file, system stores all information (except

filename) in a file information node (i-node)– Beginning of disk partitions contain reserved space for all

i-nodes on partition

– Contain pointers to actual file contents

• Pipe (|): combine commands– Output of one command is input to next

– Pipeline: two or more commands connected by a pipe

A UNIX Command Sampler (continued)

Figure 9-3: Anatomy of ls –l output

Installing Linux: Planning a Linux Installation

• Be prepared to answer following questions:– What is the new server’s name?

– What is the server’s IP address?• Also need subnet mask, IP address of server’s primary gateway,

and IP address of new server’s domain name server

– What kind of video card is installed in the server?

– What is the administrative user’s password?• Root: administrating user name

– How can this information be remembered?

Installing and Configuring Fedora Core

• Installation tasks:– Select language

– Confirm keyboard layout

– Select Server installation type

– Select disk drive partitioning options

– Choose booting options

– Configure the network interface(s)

– Configure firewall and security level options

– Set the time and time zone

– Enter the root password

Administering a UNIX-type of Server

• User names and passwords used to connect clients to network

• Access rights for groups– Users may be members of multiple groups

• groupadd command enables addition of new group• useradd command enables addition of new users• Mac OS X Server uses GUI Workgroup Manager

application

Establishing Groups and Users (Linux)

• groupadd command creates new group ID and makes group available for use– Assign unique ID number to each group

– Does not automatically assign access rights

• useradd command adds new user ID– Creates user ID and assigns it to one or more groups

– -g option specifies initial group

– -G option specifies additional groups

Establishing Groups and User (Mac OS X)

• Use Workgroup Manager application• Creating new group does not assign users• Assign unique name and numeric ID to groups

Establishing Groups and User (Mac OS X)

Figure 9-4: User creation in Mac OS X Server’s Workgroup Manager

Changing File Access Permissions

• Every file and directory is owned by exactly one user and is a member of exactly one group

• By default, when a user creates a file or directory, that user is the file or directory’s owner

Changing File Access Permissions (Linux)

• Use chgrp command to assign a file or directory to a group

• Use chmod command to change file and directory permissions– Uses two sets of abbreviations to specify permission

changes for files• First set identifies for whom change will occur [file’s owner (u

for “user”), file’s group (g), all others (o)]• Second set identifies access rights [read (r), write (w), and

execute (x)]• Separated by plus or minus sign

Changing File Access Permissions (Mac OS X)

• Accomplished through the GUI• Must be logged on as system administrator

Connecting to UNIX-Type of Servers

• UNIX-type of systems and Windows can both communicate via TCP/IP– File systems not necessarily compatible

• Samba: one application that bridges file system incompatibility– Provides networking services necessary to make a UNIX-

type system a fully featured Windows file- and printer-sharing server

– Communicates with Windows servers using SMB file-sharing protocol and CIFS protocol

Connecting to UNIX-Type of Servers

• All modern flavors of UNIX, Linux, and Mac OS X Server support data sharing using directory services based on LDAP– Solaris: Sun Java System Directory Server Enterprise

Edition

– Linux: OpenLDAP

– Mac OS X Server: Open Directory

• UNIX-type of systems include full complement of Internet tools– e.g., Telnet

Connecting to UNIX-Type of Servers

Figure 9-5: Windows Telnet session

Summary

• UNIX is a stable, flexible, and efficient NOS that relies on TCP/IP and forms the basis of much of the Internet

• Many varieties of UNIX-type of systems exist, and each of these belong to one of two categories: proprietary and open source

• Characteristics of UNIX-type of systems include the ability to support multiple, simultaneous users; hierarchical files; a uniform method for interacting with files, devices, and programs; hundreds of subsystems and dozens of programming languages; and source code portability

Summary (continued)

• UNIX-type of systems use virtual memory and also allocate a memory area for each application

• The UNIX kernel, the core of the OS, is loaded into memory from disk and runs when you turn on your computer

• UNIX-type of systems were among the first to include a hierarchical file system

• UNIX-type of systems support multiple file system types

• UNIX-type of network file systems include NFS and Samba

Summary (continued)

• Consult the command’s manual (man) page by typing man command at the shell prompt, and pressing Enter to learn more about a command

• ls command is most frequently used command• The useradd and groupadd commands allow you to

add new users and groups• The chgrp and chmod commands assign files to

groups and change file access permissions

Summary (continued)

• Installing the Samba application on a UNIX-type of server allows it to exchange information with Windows servers by using Windows file system and file access protocols

• All modern flavors of UNIX, Linux, and Mac OS X Server support data sharing using directory services based on LDAP

• Any client that runs the TCP/IP protocol can connect to a UNIX-type of host, such as a Linux server, through the Telnet utility