Chapter 9

advertisement
Network+ Guide to Networks, Fourth Edition
Chapter 9
Networking with UNIX-Type
of Operating Systems
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 SPARCbased 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 UNIXtype system a fully featured Windows file- and printersharing server
– Communicates with Windows servers using SMB filesharing 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
Download