About the Authors |
|
xvii | |
About the Technical Reviewer |
|
xx | |
Acknowledgments |
|
xxi | |
Introduction |
|
xxii | |
|
|
1 | (30) |
|
|
1 | (2) |
|
|
3 | (26) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (24) |
|
Working with the Command-Line Interface |
|
|
31 | (14) |
|
Identifying the Working User |
|
|
32 | (1) |
|
|
33 | (2) |
|
|
35 | (1) |
|
Listing the Contents of a Directory |
|
|
36 | (3) |
|
|
39 | (1) |
|
Absolute and Relative Paths |
|
|
39 | (1) |
|
|
40 | (1) |
|
Renaming and Moving Files |
|
|
40 | (1) |
|
Deleting Directories and Files |
|
|
41 | (1) |
|
Creating and Viewing Text Files |
|
|
42 | (2) |
|
Viewing the Contents of a File |
|
|
44 | (1) |
|
|
45 | (3) |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
48 | (3) |
|
|
51 | (1) |
|
Creating and Running Your Own Script |
|
|
52 | (2) |
|
|
54 | (1) |
|
Client/Host Configuration |
|
|
55 | (16) |
|
|
55 | (8) |
|
|
55 | (5) |
|
Kernel, Init, and Runlevels |
|
|
60 | (2) |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (1) |
|
|
65 | (2) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
71 | (16) |
|
Provisioning a New Hard Drive |
|
|
71 | (6) |
|
Partitioning a Disk Using RAID |
|
|
77 | (4) |
|
Understanding RAID Types and Levels |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (2) |
|
|
81 | (1) |
|
|
81 | (4) |
|
Understanding How LVM Works |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
84 | (1) |
|
Making Sure Your Volumes Work |
|
|
85 | (1) |
|
Finding More Information on LVM |
|
|
85 | (1) |
|
|
85 | (2) |
|
|
87 | (18) |
|
Managing Users and Groups with the Graphical Interface |
|
|
87 | (6) |
|
|
87 | (2) |
|
|
89 | (2) |
|
|
91 | (1) |
|
|
91 | (1) |
|
Changing Group Properties |
|
|
92 | (1) |
|
|
93 | (1) |
|
User Management on the Command Line |
|
|
93 | (5) |
|
|
94 | (1) |
|
|
94 | (1) |
|
|
95 | (1) |
|
|
96 | (1) |
|
Changing Group Properties |
|
|
96 | (1) |
|
|
96 | (2) |
|
|
98 | (2) |
|
Enabling User and Group Quotas on a Filesystem |
|
|
99 | (1) |
|
Setting Up the Quota Files |
|
|
99 | (1) |
|
|
100 | (2) |
|
|
101 | (1) |
|
Managing Quotas for Group |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (2) |
|
|
105 | (28) |
|
|
106 | (5) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
108 | (2) |
|
|
110 | (1) |
|
Making a New xorg.conf File |
|
|
111 | (1) |
|
|
111 | (11) |
|
|
112 | (1) |
|
|
113 | (2) |
|
|
115 | (2) |
|
|
117 | (1) |
|
|
118 | (2) |
|
|
120 | (1) |
|
Separator, Update, Clock, and Sound Applet |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
122 | (3) |
|
|
123 | (2) |
|
Reloading Options with gdmflexiserver |
|
|
125 | (1) |
|
|
125 | (5) |
|
Requesting an X Session with XDMCP |
|
|
126 | (1) |
|
|
126 | (2) |
|
|
128 | (2) |
|
|
130 | (1) |
|
|
131 | (2) |
|
|
133 | (20) |
|
|
133 | (1) |
|
The RPM Filename Convention |
|
|
134 | (1) |
|
|
135 | (10) |
|
|
135 | (1) |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (1) |
|
|
137 | (1) |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
141 | (1) |
|
Information and File Contents of a Package |
|
|
141 | (1) |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
144 | (1) |
|
Building a Binary Package from a Source Package |
|
|
144 | (1) |
|
|
145 | (6) |
|
Installing Packages with YUM |
|
|
146 | (1) |
|
Removing Packages with YUM |
|
|
146 | (1) |
|
Updating Packages with YUM |
|
|
147 | (1) |
|
Searching Packages with YUM |
|
|
148 | (1) |
|
|
148 | (2) |
|
Creating Repositories for YUM |
|
|
150 | (1) |
|
|
151 | (2) |
|
|
153 | (18) |
|
|
153 | (7) |
|
|
154 | (1) |
|
|
155 | (2) |
|
|
157 | (1) |
|
Detecting Intruders with the System Logger |
|
|
158 | (2) |
|
Automating Tasks with cron |
|
|
160 | (3) |
|
|
161 | (1) |
|
Using cron.allow and cron.deny |
|
|
161 | (1) |
|
Working with the crontab File |
|
|
161 | (1) |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
163 | (1) |
|
Pluggable Authentication Modules |
|
|
163 | (7) |
|
Understanding PAM Rules and Configuration Files |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
167 | (1) |
|
|
168 | (1) |
|
|
168 | (1) |
|
Testing pam_time.so with crond |
|
|
169 | (1) |
|
Finding Other PAM Modules |
|
|
170 | (1) |
|
|
170 | (1) |
|
|
171 | (32) |
|
Using Digital Certificates |
|
|
171 | (1) |
|
|
172 | (4) |
|
|
176 | (5) |
|
|
176 | (2) |
|
Intermediate Certificates |
|
|
178 | (1) |
|
|
178 | (1) |
|
Signing Your Own Certificates |
|
|
179 | (2) |
|
|
181 | (1) |
|
|
181 | (10) |
|
Monitoring the filesystem with RPM |
|
|
182 | (3) |
|
Monitoring the Filesystem with AIDE |
|
|
185 | (3) |
|
Monitoring the Network with Netfilter |
|
|
188 | (3) |
|
|
191 | (10) |
|
|
192 | (1) |
|
Enabling and Disabling SELinux |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
194 | (2) |
|
|
196 | (3) |
|
|
199 | (1) |
|
|
200 | (1) |
|
|
201 | (2) |
|
|
203 | (24) |
|
|
203 | (15) |
|
|
203 | (4) |
|
|
207 | (1) |
|
|
207 | (2) |
|
Viewing the Current Firewall |
|
|
209 | (2) |
|
|
211 | (5) |
|
|
216 | (1) |
|
Using netfilter for IP Masquerading |
|
|
217 | (1) |
|
Handling Complex Protocols with netfilter |
|
|
218 | (1) |
|
|
218 | (4) |
|
|
222 | (4) |
|
Configuring the Server to Receive Logs |
|
|
225 | (1) |
|
Configuring the Client to Send Logs |
|
|
225 | (1) |
|
|
226 | (1) |
|
|
227 | (34) |
|
|
227 | (1) |
|
The OpenSSH Configuration File |
|
|
227 | (4) |
|
Connecting to the OpenSSH Server |
|
|
228 | (1) |
|
Copying Files Securely with scp |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
Getting the Fingerprint Value |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
231 | (5) |
|
Setting Up the DHCP Server |
|
|
232 | (1) |
|
The DHCP Configuration File |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
235 | (1) |
|
|
236 | (4) |
|
|
238 | (1) |
|
Symmetric Active/Passive Mode |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
240 | (1) |
|
|
240 | (16) |
|
|
242 | (1) |
|
|
242 | (1) |
|
|
243 | (1) |
|
|
243 | (1) |
|
|
243 | (1) |
|
|
243 | (1) |
|
|
243 | (2) |
|
The Contents of rndc.conf |
|
|
245 | (1) |
|
The Contents of named.conf |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
248 | (1) |
|
Configuring a Caching DNS |
|
|
248 | (3) |
|
|
251 | (1) |
|
|
251 | (1) |
|
|
252 | (3) |
|
|
255 | (1) |
|
The Squid Web Caching Server |
|
|
256 | (4) |
|
|
256 | (1) |
|
The Squid Main Configuration File |
|
|
256 | (1) |
|
The visible_hostname directive |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
258 | (1) |
|
Adding ACLs and ACL-operators |
|
|
258 | (1) |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
260 | (1) |
|
|
261 | (28) |
|
|
261 | (1) |
|
|
262 | (10) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
264 | (1) |
|
|
264 | (1) |
|
Securing the MySQL Root User |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
267 | (1) |
|
|
267 | (1) |
|
|
267 | (1) |
|
|
268 | (1) |
|
|
269 | (1) |
|
Getting a List of Available Databases |
|
|
269 | (1) |
|
Creating Database Backups |
|
|
269 | (1) |
|
Restoring Databases Using Backups |
|
|
270 | (1) |
|
Restoring the toys Database |
|
|
271 | (1) |
|
Customizing the MySQL Server Configuration |
|
|
271 | (1) |
|
|
272 | (8) |
|
|
272 | (1) |
|
|
273 | (1) |
|
PostgreSQL Interactive Terminal |
|
|
273 | (1) |
|
Using the Interactive Terminal |
|
|
273 | (1) |
|
|
274 | (1) |
|
|
274 | (1) |
|
|
275 | (1) |
|
|
275 | (1) |
|
|
275 | (1) |
|
|
275 | (1) |
|
Granting Privileges to Objects |
|
|
276 | (1) |
|
Revoking Privileges on Objects |
|
|
276 | (1) |
|
|
277 | (1) |
|
Getting the List of Databases |
|
|
277 | (1) |
|
Creating Database Backups |
|
|
278 | (1) |
|
|
278 | (1) |
|
|
279 | (1) |
|
|
279 | (1) |
|
|
280 | (7) |
|
|
281 | (1) |
|
Verifying the Newly Created Tables |
|
|
282 | (1) |
|
Viewing the Structures of the Tables |
|
|
283 | (1) |
|
Adding Entries to the Table |
|
|
283 | (1) |
|
|
284 | (1) |
|
|
285 | (1) |
|
Dropping Entries from a Table |
|
|
286 | (1) |
|
|
287 | (2) |
|
|
289 | (24) |
|
|
289 | (1) |
|
|
290 | (1) |
|
|
290 | (1) |
|
|
290 | (1) |
|
Apache Server Directories |
|
|
291 | (2) |
|
The Apache Configuration File |
|
|
293 | (4) |
|
Apache Configuration File Sections |
|
|
293 | (1) |
|
|
294 | (1) |
|
|
294 | (1) |
|
Main Server Configuration |
|
|
295 | (2) |
|
Distributed Configuration Files |
|
|
297 | (5) |
|
|
298 | (1) |
|
|
298 | (1) |
|
|
298 | (1) |
|
Creating Another Document and cgi-bin Directory |
|
|
299 | (3) |
|
|
302 | (6) |
|
IP-Based and Name-Based Virtual Hosting |
|
|
303 | (1) |
|
The VirtualHost Directive |
|
|
304 | (1) |
|
Configuring Name-Based Virtual Hosting |
|
|
304 | (4) |
|
|
308 | (1) |
|
|
309 | (3) |
|
|
310 | (1) |
|
Startup Without a Passphrase |
|
|
311 | (1) |
|
|
312 | (1) |
|
|
313 | (22) |
|
|
313 | (2) |
|
|
313 | (1) |
|
|
313 | (1) |
|
|
314 | (1) |
|
|
314 | (1) |
|
|
314 | (1) |
|
|
315 | (6) |
|
|
316 | (1) |
|
Sharing a Directory Using NFS |
|
|
317 | (1) |
|
Sharing Directories Using NFS Daemons |
|
|
318 | (1) |
|
Mounting a Shared Directory As the Client |
|
|
318 | (1) |
|
Unmounting a Shared Directory as the Client |
|
|
319 | (1) |
|
|
319 | (1) |
|
Mounting Shared Directories at Boot Time |
|
|
320 | (1) |
|
Setting Up a Samba Server |
|
|
321 | (13) |
|
|
322 | (1) |
|
|
322 | (1) |
|
|
322 | (1) |
|
|
322 | (1) |
|
|
323 | (1) |
|
Configuring Stand-Alone Server Options |
|
|
323 | (1) |
|
|
323 | (1) |
|
|
324 | (1) |
|
|
324 | (1) |
|
|
324 | (1) |
|
Testing the Samba Stand-Alone Server |
|
|
325 | (1) |
|
|
326 | (2) |
|
|
328 | (1) |
|
Preparing the Printer to Pass Print Data in Raw Form |
|
|
329 | (3) |
|
Configuring Samba to Share a Printer |
|
|
332 | (1) |
|
Installing the Samba Printer to the Windows Client |
|
|
333 | (1) |
|
|
334 | (1) |
|
|
335 | (38) |
|
|
335 | (3) |
|
|
336 | (1) |
|
|
336 | (1) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
338 | (11) |
|
Sending Email with Sendmail |
|
|
339 | (1) |
|
Checking Mail with the mail Command |
|
|
339 | (3) |
|
|
342 | (2) |
|
|
344 | (1) |
|
The Sendmail Administrative Configuration Files |
|
|
345 | (1) |
|
|
345 | (1) |
|
|
345 | (1) |
|
|
346 | (2) |
|
|
348 | (1) |
|
|
348 | (1) |
|
|
349 | (1) |
|
|
349 | (9) |
|
|
350 | (1) |
|
|
350 | (1) |
|
Sending Email with Postfix |
|
|
351 | (1) |
|
The Postfix Main Configuration File |
|
|
351 | (3) |
|
Postfix Administrative Configuration Files |
|
|
354 | (1) |
|
|
354 | (1) |
|
|
355 | (1) |
|
|
356 | (1) |
|
|
356 | (1) |
|
|
356 | (1) |
|
|
357 | (1) |
|
|
357 | (1) |
|
|
358 | (1) |
|
|
359 | (13) |
|
|
359 | (1) |
|
The dovecot.conf Configuration File |
|
|
359 | (1) |
|
|
360 | |
|
|
260 | (100) |
|
|
360 | (1) |
|
|
360 | (1) |
|
|
361 | |
|
|
261 | (100) |
|
Configuring Dovecot for Maildir |
|
|
361 | (1) |
|
Configuring an Email Client to Send and Receive Email Using IMAP |
|
|
362 | (4) |
|
Checking the IMAP Maildir contents |
|
|
366 | (1) |
|
Receiving Email with POP3 |
|
|
367 | (2) |
|
Checking the POP3 Maildir contents |
|
|
369 | (1) |
|
|
370 | (1) |
|
Using Evolution with OpenSSL |
|
|
370 | (2) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
373 | (42) |
|
The Need for Unified Authentication |
|
|
373 | (2) |
|
Network Information System |
|
|
375 | (13) |
|
|
375 | (1) |
|
|
375 | (1) |
|
Creating Your First Domain |
|
|
376 | (1) |
|
|
377 | (1) |
|
|
378 | (1) |
|
|
379 | (1) |
|
|
379 | (1) |
|
|
379 | (1) |
|
|
380 | (1) |
|
|
381 | (1) |
|
|
382 | (1) |
|
|
382 | (1) |
|
|
383 | (1) |
|
|
383 | (1) |
|
|
383 | (1) |
|
|
384 | (1) |
|
|
384 | (1) |
|
|
385 | (1) |
|
|
385 | (1) |
|
|
386 | (1) |
|
|
386 | (1) |
|
|
386 | (1) |
|
|
387 | (1) |
|
|
388 | (2) |
|
|
390 | (2) |
|
Using the my-domain.com database |
|
|
391 | (1) |
|
|
392 | (1) |
|
|
393 | (1) |
|
Adding Entries with Idapadd |
|
|
393 | (3) |
|
Searching Entries with Idapsearch |
|
|
396 | (1) |
|
Changing Entries with Idapmodify |
|
|
397 | (1) |
|
Removing Entries Using Idapdelete |
|
|
398 | (1) |
|
|
399 | (1) |
|
|
399 | (1) |
|
|
400 | (2) |
|
|
402 | (1) |
|
The nss_Idap Configuration File |
|
|
403 | (1) |
|
|
404 | (1) |
|
|
404 | (1) |
|
|
405 | (1) |
|
OpenLDAP Client Configuration File |
|
|
405 | (1) |
|
|
406 | (2) |
|
|
408 | (3) |
|
|
408 | (1) |
|
|
408 | (1) |
|
Installing and Configuring smbldap-tools |
|
|
409 | (2) |
|
Joining the DCTOYS Domain Controller |
|
|
411 | (1) |
|
Testing the Samba and OpenLDAP Setup |
|
|
412 | (1) |
|
|
413 | (1) |
|
Cannot log into the domain controller |
|
|
413 | (1) |
|
Cannot start the Samba server properly because only the nmbd process is running |
|
|
413 | (1) |
|
|
413 | (2) |
|
|
415 | (20) |
|
History of the Linux Kernel |
|
|
415 | (1) |
|
|
415 | (2) |
|
|
417 | (1) |
|
|
418 | (3) |
|
|
418 | (1) |
|
|
418 | (1) |
|
|
419 | (2) |
|
|
421 | (1) |
|
|
421 | (1) |
|
|
422 | (1) |
|
|
422 | (1) |
|
When to Recompile the Kernel |
|
|
422 | (1) |
|
Getting a New Linux Kernel |
|
|
423 | (1) |
|
Preparing to Configure the New Linux Kernel |
|
|
423 | (1) |
|
Ways to Configure the Kernel Sources |
|
|
424 | (6) |
|
Configuring the Kernel with the Command Line |
|
|
424 | (2) |
|
Configuring the Kernel Graphically |
|
|
426 | (2) |
|
Configuring the Kernel with menuconfig |
|
|
428 | (2) |
|
Preparing for Kernel Compilation |
|
|
430 | (1) |
|
|
431 | (1) |
|
Building the Kernel Modules |
|
|
432 | (1) |
|
Making the Boot Loader Initialized RAM Disk |
|
|
432 | (1) |
|
Adding the New Kernel into the GRUB Boot Loader |
|
|
432 | (2) |
|
|
434 | (1) |
|
|
434 | (1) |
|
|
435 | (22) |
|
Understanding Virtualization |
|
|
435 | (6) |
|
Deciding to Use Virtualization |
|
|
436 | (1) |
|
|
437 | (1) |
|
Exploring Virtualization Technologies |
|
|
437 | (1) |
|
|
437 | (1) |
|
Hardware-Assisted Virtualization |
|
|
437 | (1) |
|
Operating System Virtualization |
|
|
437 | (1) |
|
|
438 | (1) |
|
|
439 | (1) |
|
|
440 | (1) |
|
|
441 | (2) |
|
The xend Configuration Files |
|
|
441 | (1) |
|
|
441 | (1) |
|
xend-pci-permissive.sxp and xend-pci-quirks.sxp |
|
|
442 | (1) |
|
|
442 | (1) |
|
The xend Network Configuration Scripts Directory |
|
|
443 | (1) |
|
|
443 | (1) |
|
Making a Guest with virt-install |
|
|
444 | (4) |
|
Preparing the Installation Media |
|
|
446 | (1) |
|
Using the virt-install Command |
|
|
446 | (2) |
|
Understanding the Guest Configuration File |
|
|
448 | (2) |
|
Xen Guest Example Configuration Files |
|
|
450 | (1) |
|
|
450 | (3) |
|
|
450 | (1) |
|
|
451 | (1) |
|
|
452 | (1) |
|
|
453 | (1) |
|
|
453 | (1) |
|
|
453 | (1) |
|
|
454 | (1) |
|
|
455 | (2) |
|
|
457 | (14) |
|
The CentOS Rescue Environment |
|
|
457 | (3) |
|
Exploring the Rescue Environment |
|
|
460 | (1) |
|
Troubleshooting Checklist |
|
|
461 | (3) |
|
Changed the Root Password |
|
|
461 | (1) |
|
Bootloader Was Overwritten |
|
|
462 | (1) |
|
You're Experimenting with the Files in /etc |
|
|
463 | (1) |
|
|
463 | (1) |
|
Finding the Affected System's Root (/) Directory |
|
|
464 | (1) |
|
|
464 | (2) |
|
|
465 | (1) |
|
|
466 | (1) |
|
Booting into Single-User Mode |
|
|
466 | (1) |
|
|
467 | (2) |
|
Creating the Required Device Files |
|
|
468 | (1) |
|
|
469 | (2) |
Index |
|
471 | |