| Credits | p. vii |
| Preface | p. xiii |
| Customizing the User Environment | p. 1 |
| Get the Most Out of the Default Shell | p. 1 |
| Useful tcsh Shell Configuration File Options | p. 6 |
| Create Shell Bindings | p. 9 |
| Use Terminal and X Bindings | p. 12 |
| Use the Mouse at a Terminal | p. 16 |
| Get Your Daily Dose of Trivia | p. 18 |
| Lock the Screen | p. 22 |
| Create a Trash Directory | p. 24 |
| Customize User Configurations | p. 28 |
| Maintain Your Environment on Multiple Systems | p. 36 |
| Use an Interactive Shell | p. 40 |
| Use Multiple Screens on One Terminal | p. 44 |
| Dealing with Files and Filesystems | p. 49 |
| Find Things | p. 49 |
| Get the Most Out of grep | p. 53 |
| Manipulate Files with sed | p. 57 |
| Format Text at the Command Line | p. 60 |
| Delimiter Dilemma | p. 65 |
| DOS Floppy Manipulation | p. 68 |
| Access Windows Shares Without a Server | p. 75 |
| Deal with Disk Hogs | p. 78 |
| Manage Temporary Files and Swap Space | p. 83 |
| Recreate a Directory Structure Using mtree | p. 86 |
| Ghosting Systems | p. 91 |
| The Boot and Login Environments | p. 96 |
| Customize the Default Boot Menu | p. 96 |
| Protect the Boot Process | p. 101 |
| Run a Headless System | p. 104 |
| Log a Headless Server Remotely | p. 108 |
| Remove the Terminal Login Banner | p. 111 |
| Protecting Passwords With Blowfish Hashes | p. 114 |
| Monitor Password Policy Compliance | p. 117 |
| Create an Effective, Reusable Password Policy | p. 124 |
| Automate Memorable Password Generation | p. 128 |
| Use One Time Passwords | p. 132 |
| Restrict Logins | p. 136 |
| Backing Up | p. 140 |
| Back Up FreeBSD with SMBFS | p. 140 |
| Create Portable POSIX Archives | p. 144 |
| Interactive Copy | p. 148 |
| Secure Backups Over a Network | p. 151 |
| Automate Remote Backups | p. 153 |
| Automate Data Dumps for PostgreSQL Databases | p. 159 |
| Perform Client-Server Cross-Platform Backups with Bacula | p. 162 |
| Networking Hacks | p. 169 |
| See Console Messages Over a Remote Login | p. 169 |
| Spoof a MAC Address | p. 172 |
| Use Multiple Wireless NIC Configurations | p. 175 |
| Survive Catastrophic Internet Loss | p. 180 |
| Humanize tcpdump Output | p. 183 |
| Understand DNS Records and Tools | p. 189 |
| Send and Receive Email Without a Mail Client | p. 195 |
| Why Do I Need sendmail? | p. 200 |
| Hold Email for Later Delivery | p. 203 |
| Get the Most Out of FTP | p. 206 |
| Distributed Command Execution | p. 209 |
| Interactive Remote Administration | p. 212 |
| Securing the System | p. 216 |
| Strip the Kernel | p. 216 |
| FreeBSD Access Control Lists | p. 225 |
| Protect Files with Flags | p. 231 |
| Tighten Security with Mandatory Access Control | p. 237 |
| Use mtree as a Built-in Tripwire | p. 240 |
| Intrusion Detection with Snort, ACID, MySQL, and FreeBSD | p. 245 |
| Encrypt Your Hard Disk | p. 256 |
| Sudo Gotchas | p. 261 |
| sudoscript | p. 264 |
| Restrict an SSH server | p. 269 |
| Script IP Filter Rulesets | p. 272 |
| Secure a Wireless Network Using PF | p. 275 |
| Automatically Generate Firewall Rules | p. 279 |
| Automate Security Patches | p. 283 |
| Scan a Network of Windows Computers for Viruses | p. 286 |
| Going Beyond the Basics | p. 291 |
| Tune FreeBSD for Different Applications | p. 291 |
| Traffic Shaping on FreeBSD | p. 296 |
| Create an Emergency Repair Kit | p. 302 |
| Use the FreeBSD Recovery Process | p. 305 |
| Use the GNU Debugger to Analyze a Buffer Overflow | p. 309 |
| Consolidate Web Server Logs | p. 313 |
| Script User Interaction | p. 318 |
| Create a Trade Show Demo | p. 322 |
| Keeping Up-to-Date | p. 327 |
| Automated Install | p. 327 |
| FreeBSD From Scratch | p. 331 |
| Safely Merge Changes to /etc | p. 336 |
| Automate Updates | p. 340 |
| Create a Package Repository | p. 344 |
| Build a Port Without the Ports Tree | p. 347 |
| Keep Ports Up-to-Date with CTM | p. 350 |
| Navigate the Ports System | p. 353 |
| Downgrade a Port | p. 357 |
| Create Your Own Startup Scripts | p. 360 |
| Automate NetBSD Package Builds | p. 364 |
| Easily Install Unix Applications on Mac OS X | p. 367 |
| Grokking BSD | p. 371 |
| How'd He Know That? | p. 371 |
| Create Your Own Manpages | p. 374 |
| Get the Most Out of Manpages | p. 378 |
| Apply, Understand, and Create Patches | p. 381 |
| Display Hardware Information | p. 386 |
| Determine Who Is on the System | p. 390 |
| Spelling Bee | p. 393 |
| Leave on Time | p. 397 |
| Run Native Java Applications | p. 399 |
| Rotate Your Signature | p. 402 |
| Useful One-Liners | p. 404 |
| Fun with X | p. 407 |
| Index | p. 411 |
| Table of Contents provided by Ingram. All Rights Reserved. |