What's in This Book?
Linux Administration: A Beginner.s Guide, is broken into five parts.
Part I: Installing Linux as a Server
Part I includes three chapters (Chapter 1, "Technical Summary of Linux Distributions and Windows 2003"; Chapter 2, "Installing Linux in a Server Configuration"; and Chapter 3, "Installing Software") that provide you with the necessary information to get a firm handle on what Linux is, how it compares to Windows in several key areas, how to install Fedora Core, and, finally, how to install source code and prepackaged software. Ideally, this should be enough information to get you started and help you draw parallels to how Linux works based on your existing knowledge of Windows.
Part II: Single-Host Administration
Part II covers the necessary material to manage a single system that is disconnected from a network. While this may seem useless at first, it is the foundation on which many other concepts are built, and these concepts are essential to understand even after a system is connected to a network.
There are seven chapters in this part. Chapter 4, "Managing Users," covers the necessary information on how to add, remove, and otherwise manage users. The chapter also introduces the basic concepts of multiuser operation and how a user applies to application security. In Chapter 5, "The Command Line," we begin covering the basics of working with the Linux command line so that you can become comfortable dropping out of the graphical environment provided by default. While it is possible to administer a system from within the graphical desktop, the greatest power comes from being comfortable with both the CLI and the GUI. (This is true for Windows, too. Don't believe that? Open a command prompt, run netsh, and try to do what netsh does in the GUI.)
Once you are comfortable with the CLI, we begin Chapter 6, "Booting and Shutting Down," which documents the entire booting and shutting down process. This includes the necessary detail on how to start up services and properly shut them down during these cycles so that you can reliably add new services later on in the book without any difficulty.
Chapter 7, "File Systems," continues with the basics of file systems, their organization, creation, and, most importantly, their management. The basics of operation continue in Chapter 8, "Core System Services," with coverage of basic tools, such as xinetd for scheduling applications to run at specified times. Xinetd is the Linux equivalent of Windows' svchost. Finally, there is syslog, which manages logging for all applications in a unified framework. One may think of syslog as a more flexible version of the Event Viewer.
We finish this section with Chapter 9, "Compiling the Linux Kernel," and Chapter 10, "Knobs and Dials: The proc File System," which cover the kernel and kernel-level tweaking through /proc. Kernel coverage documents the process of compiling and installing your own custom kernel in Linux. This capability is one of the points that gives Linux administrators an extraordinary amount of fine-grained control over how their systems operate. The viewing of kernel-level configuration and variables through the /proc file system shown in Chapter 10 allow administrators to fine-tune their kernel operation in what amounts to an arguably better/easier way than Windows' regedit.
Part III: Security and Networking
Previous editions of this book had security and networking at the back of the book. This was done because at the time the only real extensions to the book that were covered were advanced networking concepts that don't apply to most administrators. The last few years have significantly changed.
With the ongoing importance of security on the Internet as well as compliancy issues with Sarbanes Oxley and HIPAA, the use of Linux in security situations has risen dramatically. Thus, we decided to move coverage up before introducing network-based services, which could be subject to network attacks.
We kick off this section with Chapter 11, "TCP/IP for System Administrators," which provides a detailed overview of TCP/IP in the context of what system administrators need to know. The chapter provides a lot of detail on how to use troubleshooting tools like tcpdump to capture packets and read them back, as well as a step-by-step analysis of how TCP connections work. These tools should enable you to effectively troubleshoot network peculiarities.
Chapter 12, "Network Configuration," returns to administration issues by focusing on basic network configuration. This includes setting up IP addresses, routing entries, and even setting up multiple IP addresses. We extend past the basics in Chapter 13, "Configuring the Linux Firewall," by going into advanced networking concepts and showing you how to build a Linux-based firewall.
Chapter 14, "Local Security," and Chapter 15, "Network Security," discuss aspects of system and network security in detail. They include Linux-specific issues as well as general security tips and tricks so that you can better configure your system and protect it against attack.
Part IV: Internet Services
The remainder of the book is broken into two distinct parts: Internet and intranet services. We define Internet services as those that you may consider running on a Linux system exposed directly to the Internet. Examples of this include Web and DNS services.
We start this section off with Chapter 16, "DNS". In this section, we cover the information you need to know to install, configure, and manage a DNS server. In addition to the actual details of running a DNS server, we provide a detailed background on how DNS works and several troubleshooting tips, tricks, and tools. From DNS we move on to Chapter 17, "FTP," and cover the installation and care of FTP servers. Like the DNS chapter, we also include a background on the FTP protocol itself and some notes on its evolution.
Chapter 18, "Setting Up Your Web Server Using Apache," moves onto what may be considered one of the most popular uses of Linux today: running a Web server with the Apache Web server. In this chapter, we cover the information necessary to install, configure, and manage the Apache Web server, with additional detail given to setting up and configuring virtual hosting.
Chapter 19, "SMTP," and Chapter 20, "POP and IMAP," dive into e-mail through the setup and configuration of SMTP, POP, and IMAP servers. We cover the information needed to configure all three, as well as show how they interact with one another, are testable via the CLI and Telnet, and can be used in heterogeneous environments. What you may find a little different about this book from other books on Linux is that we have chosen to cover the Postfix SMTP server instead of the classic Sendmail server because it provides a more flexible server with a better security record.
Finally, we end the part with Chapter 21, "The Secure Shell (SSH)". Setting up and managing the SSH service is a requirement for any server you set up, regardless of the server.s mail function.
Part V: Intranet Services
We define intranet services as those that are typically run behind a firewall for internal users only. Even in this environment, Linux has a lot to offer. We start off by looking at NFS in Chapter 22, "Network File System (NFS)". NFS has been around for close to 20 years now and has evolved and grown to fit the needs of its users very well. In this chapter, we cover Linux's NFS server capabilities, including how to set up both clients and servers as well as troubleshooting. From NFS we move on to NIS in Chapter 23, "Network Information Service (NIS)". NIS is typically deployed alongside NFS servers to provide a central naming service for all users within a network. We pay special attention to scaling issues and how you can make NIS work in a large user-base environment.
Chapter 24, "Samba," continues the idea of sharing disks and resources with coverage of the Samba service. Using Samba, administrators can share disks and printing facilities with Windows users without having to install any special client software. Thus, Linux can become an effective server able to support UNIX systems running NFS as well as Windows systems running Samba.
We revisit directory services in Chapter 25, "LDAP," with coverage of LDAP and how administrators can use this standard service for providing user directories for multiple operating systems as well as mail directories for both Windows and UNIX systems.
In Chapter 26, "Printing," we take a tour of the Linux printing subsystem. With Samba as a popular use of Linux, turning Linux systems into cross-platform printing servers can work with multiple types of operating systems, it makes sense to evaluate a powerful printing system and understand how this core piece of intranet infrastructure works.
Chapter 27, "DHCP," covers another common use of Linux systems: DHCP servers. In this chapter, we cover how to deploy the ISC DHCP server, which offers a powerful array of features and access controls that are not traditionally exposed in graphical-based DHCP administration tools.
We end with Chapter 28, "Backups". Backups are arguably one of the most critical pieces of administration. Linux comes with two common means of providing backups that are easy to use and readily usable by tape drives. We cover both and explain how they can be used as part of a backup schedule. In addition to the mechanics of backups, we discuss general backup design and how you can optimize your backup system.