You are previewing Linux in a Windows World.
O'Reilly logo
Linux in a Windows World

Book Description

Linux's unparalleled functionality and adaptability have made it the main alternative to Unix and Microsoft Windows operating systems. And with good reason. System administrators realize that this robust alternative can greatly improve their operating system's reliability and save them money, too. Linux systems are even less vulnerable to attacks by computer viruses and worms. Not surprisingly, businesses, government agencies, schools, and a wealth of other institutions are all looking to Linux to replace the Windows desktop for these same benefits. Linux in a Windows World takes an in-depth look at exactly how Linux can be brought into an organization that's currently based on Microsoft Windows systems. Featuring a litany of insider tips and techniques, Linux in a Windows World dispenses all the practical advice you need to migrate to this revolutionary open source software. Author Roderick W. Smith, himself a renowned system administrator and Linux convert, understands that the skills required to install, deploy, and maintain Linux are not easy to find. That's why he has tapped the absolute best source of information available: the Linux server experts who have made it their life's work to build and manage the Linux system. The latest in O'Reilly's line of bestselling Linux titles, Linux in a Windows World is an invaluable companion for any system administrator interested in integrating Linux into their Windows environment.

Table of Contents

  1. Linux in a Windows World
    1. Dedication
    2. Preface
      1. Audience
      2. Contents of This Book
      3. Conventions Used in This Book
      4. Using Code Examples
      5. Comments and Questions
      6. Safari Enabled
      7. Acknowledgments
    3. I. Linux’s Place in a Windows Network
      1. 1. Linux’s Features
        1. Where Linux Fits in a Network
        2. Linux as a Server
          1. Linux Server Capabilities
          2. Typical Linux Server Hardware
          3. Typical Linux Server Software
            1. Picking a distribution for server use
            2. Picking individual server programs
        3. Linux on the Desktop
        4. Comparing Linux and Windows Features
        5. Summary
      2. 2. Linux Deployment Strategies
        1. Linux Server Options
          1. Linux File and Print Servers
          2. Linux Authentication Servers
          3. Remote Login Servers
          4. Mail Servers
          5. Miscellaneous Linux Servers
        2. Linux Desktop Migration
        3. Linux and Thin Clients
        4. Summary
    4. II. Sharing Files and Printers
      1. 3. Basic Samba Configuration
        1. Installing Samba
        2. The Samba Configuration File Format
          1. Configuration File Sections
          2. Parameters, Values, and Comments
          3. Variables and Their Uses
          4. The include Parameter
        3. Identifying the Server
          1. NetBIOS Name Options
          2. Workgroup Name Options
          3. Miscellaneous Identification Options
        4. Setting Master Browser Options
        5. Setting Password Options
          1. Password Issues
          2. Using Cleartext Passwords
          3. Using Encrypted Passwords
          4. Using a Password Server
            1. Setting the security mode
            2. Using server-level security
            3. Using domain-level security
        6. Summary
      2. 4. File and Printer Shares
        1. Common File Share Options
          1. Defining a File Share
          2. Setting Write Access
          3. Setting Filename Options
          4. Setting Access Control Features
            1. Setting Linux ownership
            2. Setting Linux permissions
            3. Mapping DOS-style flags
            4. Using ACLs
            5. Enabling Unix extensions
        2. Printing with CUPS
          1. Installing CUPS
          2. Adding Printers to CUPS
          3. Adjusting CUPS Browsing and Security
        3. Creating a Printer Share
          1. File Shares Versus Printer Shares
          2. Sharing PostScript Printers
          3. Sharing Non-PostScript Printers
        4. Delivering Printer Drivers to Windows Clients
          1. Picking a Driver
          2. Defining Necessary Shares
          3. Installing the Driver on the Server
            1. Installing drivers from Linux
            2. Installing drivers from Windows NT/200x/XP
          4. Installing Drivers on Clients
        5. Example Shares
          1. The [homes] Share
          2. A Windows Program Share
          3. File-Exchange Shares
          4. The [printers] Share
          5. A PDF-Generation Printer Share
        6. Summary
      3. 5. Managing a NetBIOS Network with Samba
        1. Enabling Domain Controller Functions
          1. The Role of a Domain Controller
          2. Domain Controller Parameters
          3. Maintaining the Password Database
          4. Configuring Machine Trust Accounts
          5. Common Domain Controller File Shares
            1. Configuring domain logon shares
            2. Configuring roaming profiles
          6. Configuring Windows Clients and Servers as Domain Members
            1. Activating Windows 9x/Me domain membership
            2. Activating Windows NT/200x/XP domain membership
        2. Enabling NBNS Functions
          1. The Role of the NBNS System
          2. Defining Samba NBNS Functions
          3. Delivering NBNS Information via DHCP
            1. DHCP server configuration
            2. Windows client configuration
        3. Assuming Master Browser Duties
          1. The Role of the Master Browser
          2. Winning (or Not Winning) Local Master Browser Elections
          3. Configuring Samba Domain Master Browser Features
        4. Summary
      4. 6. Linux as an SMB/CIFS Client
        1. Using NetBIOS Name Resolution
          1. Setting Name Resolution Options in smb.conf
          2. Using NetBIOS Name Resolution in Non-Samba Programs
        2. Accessing File Shares
          1. Using smbclient
          2. Mounting Shares Using smbmount
          3. Mounting Shares Using mount
            1. Using the smbfs driver
            2. Using the cifs driver
          4. Editing /etc/fstab
          5. File Share Access Limitations
        3. Printing to Printer Shares
          1. Printing Using smbclient
          2. Defining SMB/CIFS Printers Using CUPS
          3. Defining SMB/CIFS Printers Using LPRng or BSD LPD
        4. Configuring GUI Workgroup Browsers
          1. A Rundown of GUI Network Browsers
          2. Using LinNeighborhood
          3. Using Konqueror
        5. Summary
    5. III. Centralized Authentication Tools
      1. 7. Using NT Domains for Linux Authentication
        1. The Principles Behind Winbind
          1. The Problem: Linux Users on an NT Domain
          2. Linux’s PAM and NSS Systems
          3. Winbind: Linking PAM and NSS to an NT Domain
        2. Samba Winbind Configuration
          1. Winbind Options in smb.conf
          2. Running the Winbind Daemon
        3. PAM and NSS Winbind Options
          1. NSS and PAM Winbind Modules
          2. Configuring NSS
          3. Configuring PAM
        4. Winbind in Action
          1. Testing Winbind Operation
          2. Winbind Logins
        5. Summary
      2. 8. Using LDAP
        1. The Principles Behind LDAP
          1. The Problem: Providing a Network-Accessible Directory
          2. LDAP Terminology and Features
          3. LDAP Software
        2. Configuring an OpenLDAP Server
          1. Obtaining and Installing OpenLDAP
          2. Basic OpenLDAP Configuration
          3. Preparing Keys and Certificates
          4. Running the Server
        3. Creating a User Directory
          1. Distinguished Names
          2. Understanding LDIF
          3. Creating the Directory
          4. Account Maintenance
        4. Configuring Linux to Use LDAP for Login Authentication
          1. LDAP, PAM, and NSS
          2. Basic LDAP Client Configuration
          3. Configuring the LDAP NSS Modules
          4. Configuring the LDAP PAM Modules
          5. Verifying Proper Functioning
        5. Configuring Windows to Use LDAPfor Login Authentication
          1. Obtaining and Installing pGina
          2. Registering Your Certificate
          3. Configuring pGina for LDAP Client Use
        6. Summary
      3. 9. Kerberos Configuration and Use
        1. Kerberos Fundamentals
          1. The Problem: Centralized Single-Authentication Logins
          2. An Overview of Kerberos Operation
          3. Kerberos Tools for Linux
          4. Windows and Kerberos
        2. Linux Kerberos Server Configuration
          1. Kerberos Realm Configuration
            1. Editing krb5.conf
            2. Editing kdc.conf
          2. Creating a Master Key
          3. Realm Administration
            1. Creating principals
            2. ACL definitions
          4. Running the KDC
        3. Kerberos Application Server Configuration
          1. Setting Up Kerberos
          2. Preparing Application Server Principals
          3. Running the Servers
        4. Linux Kerberos Client Configuration
          1. Preparing Kerberos Clients
          2. Installing Kerberized Clients
          3. Using Kerberized Clients
          4. Using Kerberos for Network Logins
            1. Kerberized login tools
            2. Kerberos and PAM
            3. Kerberized account maintenance
        5. Windows Kerberos Tools
          1. Windows Kerberos Implementations
          2. Windows Kerberized Servers
          3. Windows Kerberized Clients
            1. Using Windows’ Kerberos
            2. Using Kerberos Telnet
        6. Summary
    6. IV. Remote Login Tools
      1. 10. Remote Text-Mode Administration and Use
        1. What Can Text-Mode Logins Do?
          1. Remote Text-Mode User Access
          2. Remote Text-Mode Administration
          3. Tools for Remote Text-Mode Access
        2. SSH Server Configuration
          1. SSH Server Options for Linux
          2. Configuring an SSH Server
          3. Launching an SSH Server
        3. Telnet Server Configuration
          1. Launching a Telnet Server
          2. Telnet Server Security Concerns
            1. Encryption
            2. Controlling access by IP address
        4. Windows Remote-Login Tools
          1. Locating Client Software
          2. Windows Telnet and SSH Servers
        5. Summary
      2. 11. Running GUI Programs Remotely
        1. What Can GUI Logins Do?
        2. Using Remote X Access
          1. The X Client/Server Model
          2. X Server Options
          3. Initiating a Connection from a Text-Mode Login
          4. Windows X Server Concerns
          5. Simplifying Remote X Logins with XDMCP
            1. XDMCP basics
            2. Configuring XDM
            3. Configuring KDM
            4. Configuring GDM
            5. Configuring an XDMCP client
        3. Encrypting X by SSH Tunneling
          1. Advantages and Disadvantages of X SSH Tunneling
          2. SSH Server Options
          3. SSH Client Options and Use
        4. VNC Configuration and Use
          1. VNC Versions
          2. Configuring a Linux VNC Server
            1. X and VNC interactions
            2. Traditional user VNC server sessions
            3. Linking VNC to an XDMCP server
            4. KDE’s VNC features
          3. Configuring a Windows VNC Server
          4. Using a VNC Client
          5. Encrypting VNC Connections
        5. Running Windows Programs from Linux
        6. Summary
      3. 12. Linux Thin Client Configurations
        1. The Role of Thin Client Computing
          1. Types of Thin Client Computing
          2. When to Use Thin Client Computing
        2. Hardware Requirements
          1. Server Requirements
          2. Client Requirements
          3. Network Hardware Requirements
        3. Linux as a Server for Thin Clients
          1. Linux Distribution Selection and Configuration
          2. XDMCP and VNC Options
          3. DHCP Configuration
          4. TFTP Configuration
        4. Linux as a Thin Client
          1. Distribution Selection and Installation
          2. Configuring PXES
          3. Testing Your PXES Image
          4. Booting a Thin Client from the Network
        5. Summary
    7. V. Additional Server Programs
      1. 13. Configuring Mail Servers
        1. Linux Mail Server Options
          1. Push Mail Versus Pull Mail Protocols
          2. Linux SMTP Server Options
          3. Linux POP and IMAP Server Options
          4. Mail Security Concerns
        2. Configuring Sendmail
          1. Sendmail Configuration Files
          2. Sendmail Address Options
          3. Sendmail Relay Options
            1. Configuring sendmail to relay mail
            2. Configuring sendmail to use a relay
            3. Configuring sendmail to forward mail
        3. Configuring Postfix
          1. Postfix Configuration Files
          2. Postfix Address Options
          3. Postfix Relay Options
            1. Configuring Postfix to relay mail
            2. Configuring Postfix to use a relay
            3. Configuring Postfix to forward mail
        4. Configuring POP and IMAP Servers
          1. Launching POP and IMAP Servers
          2. Setting Authentication Options
          3. Additional Options on Advanced Servers
        5. Scanning for Spam, Worms, and Viruses
          1. An Antispam and Antivirus Tool Rundown
          2. Sendmail Antispam Options
          3. Postfix Antispam Options
          4. Using Procmail
            1. Calling Procmail
            2. The Procmail configuration file
            3. Creating Procmail recipes
            4. Examples of Procmail recipes
          5. Using SpamAssassin
            1. SpamAssassin basics
            2. Calling SpamAssassin from Procmail
            3. Calling SpamAssassin from sendmail
          6. Using Bogofilter
          7. Discarding or Quarantining Suspicious Attachments
        6. Supplementing a Microsoft Exchange Server
        7. Using Fetchmail
          1. The Role of Fetchmail
          2. Configuring Fetchmail
          3. Running Fetchmail
        8. Summary
      2. 14. Network Backups
        1. Backup Strategies
          1. Backup Hardware
          2. Complete Versus Incremental Backups
          3. Local Versus Network Backups
          4. Client- Versus Server-Initiated Backups
          5. Backup Pitfalls
        2. Backing Up the Linux System
          1. A Rundown of Linux Backup Packages
          2. Using tar for Tape and Disk Backups
          3. Backing Up to Optical Media
          4. Restoring Data Locally
        3. Backing Up with Samba
          1. Pluses and Minuses of Samba Backups
          2. Using a Samba Backup Share
            1. Creating a backup share
            2. Using a backup share
          3. Using smbtar for Backups
            1. Configuring Windows clients to share files
            2. Backing up with smbtar
          4. Restoring Data with Samba
        4. Backing Up with AMANDA
          1. AMANDA Principles
          2. Configuring an AMANDA Server
            1. AMANDA server programs
            2. Setting AMANDA options
            3. Preparing tapes
            4. Defining dump types and backup sets
          3. Linux AMANDA Client Configuration
          4. Windows AMANDA Client Configuration
          5. Backing Up and Restoring Data with AMANDA
        5. Summary
      3. 15. Managing a Network with Linux
        1. Delivering IP Addresses with DHCP
          1. The Role of DHCP
          2. Kernel and Routing Requirements for DHCP
          3. DHCP Configuration Files
          4. Assigning Addresses
            1. Dynamic address assignment
            2. Fixed address assignment
          5. Telling Clients to Use DHCP
        2. Delivering Names with DNS
          1. Principles of DNS
          2. Basic Name Server Configuration
          3. Setting Up a Domain
            1. Configuring forward zone files
            2. Configuring reverse zone files
            3. Running the server
          4. Pointing Clients at the Name Server
        3. Keeping Clocks Synchronized with NTP
          1. Principles of NTP
          2. NTP Server Configuration
          3. Configuring Windows Clients
            1. Using NET SET
            2. Windows NTP clients
        4. Summary
    8. VI. Appendixes
      1. A. Configuring PAM
        1. PAM Principles
        2. The PAM Configuration File Format
          1. PAM Configuration Files and Fields
          2. Module Stacks
        3. PAM Modules
          1. Standard PAM Modules
          2. Additional PAM Modules
        4. Sample PAM Configurations
          1. Typical Login Services
          2. Password Services
          3. An Authentication Stack
        5. Summary
      2. B. Linux on the Desktop
        1. Linux Desktop Applications for All Occasions
        2. Configuring Applications and Environments
          1. Global Versus User Configuration Files
          2. Locating Configuration Files
          3. Creating Default Desktop Configurations
            1. Creating a template configuration
            2. Copying the template to be a global configuration
          4. Adding an Environment as a Login Option
            1. Running a GUI login tool
            2. Presenting desktop environment options
        3. Running Windows Programs in Linux
          1. Why Run Windows Programs in Linux?
          2. Options for Running Windows Programs from Linux
        4. File and Filesystem Compatibility
          1. Accessing Windows Disks and Filesystems
          2. Office File Format Compatibility
          3. Creating and Reading PDF Files
          4. Managing Cross-Platform Archive Files
          5. Tips for a Smooth Migration
        5. Font Handling
          1. Linux Font-Handling Systems
          2. Installing X Core Fonts
            1. Preparing font directories
            2. Setting the X font path
            3. Configuring a font server
            4. Using the fonts
          3. Installing Xft Fonts
          4. Installing Fonts in OpenOffice.org
        6. Summary
    9. Index
    10. Colophon