What you need for this book
This book requires you to have one or more computers at your disposal that are capable of running either Debian or CentOS, preferably both. It really doesn't matter if you run them on a virtual machine or physical hardware, as the only requirement is that you should be able to install one or both of these distributions and access them via a terminal. Root level access is required for these installations.
While you can certainly use any Linux installations you may already have, it's highly recommended to have separate, fresh installations to work with, as some of our topics can be disruptive if they are run on production networks. If you are in doubt, VirtualBox or older machines that you may have lying around will do just fine. Network access is required, but that goes without saying, given the subject matter of this book.
Some general Linux know-how is expected. By no means is the user required to be advanced, as the purpose of this book is to upgrade your existing knowledge. That being said, there are a few things that you should already be familiar with in order to have the smoothest possible experience. First, you should already know how to modify configuration files using a text editor. No assumptions are made in this book as to which text editor you use, it's really up to you. As long as you understand any text editor, whether it be nano, vim, or even gedit—you're in good shape. If you can open a root-owned configuration file, then make changes and save it—you're all set. If in doubt, nano is a great text editor for beginners and only takes a few minutes to learn. For the more advanced users, vim is a good choice. Speaking of root, you should also understand the difference between running commands as a root or a normal user. Also, you should be able to navigate the file system and browse around.
However, even if you need to brush up on the editing of text files or switching to the root user, don't let that stop you. There is quite a bit of knowledge online that you can use to brush up, most text editors available for Linux offer really good documentation.