This guide will show you how to boot into single user mode on a CentOS 7 server. You'll need single user boot to recover a corrupt file system, reset the root password, ...
First, reboot your server and when you enter the Kernel Selection menu, press e to modify the parameters to boot the kernel.

The next screen will show you a confusing screen of kernel parameters. It’ll look like this.

Scroll down until you find the actual kernel line. It starts with linux16 /vmlinuz-... and will span a couple of lines. You’re now looking for the ro keyword in the kernel linux, which would start the OS with a read only (ro) file system.

Use your arrow keys to go to the ro line and replace it with rw init=/sysroot/bin/bash. The result should look like this. If that’s the case, press ctrl+x to boot the kernel with those options.

If everything went fine, you’re now in a limited shell with access to the entire filesystem. To make things easier, you can chroot the filesystem so you can access all your known files/directories with the same paths.

After you typed chroot /sysroot/, you’ll find your familiar files in /etc, /usr,/var, …
If you’re done working in single user mode, reboot again by pressing ctrl+alt+del.
Update: as a reader pointed out, you may have to remount the filesystem from readonly to read-write, too.
mount -o remount,rw /
After that, you should be able to make changes to files on the disk that persist on reboot.