So, going back to our fictional packcap example application, how do we run the process—which requires root, it seems—without root privileges (no root login, setuid-root, or sudo(8) allowed) and yet have it perform its tasks correctly?
Enter the POSIX Capabilities model: In this model, instead of giving a process blanket access as a root (or other) user, there is a way to embed particular capabilities into both the process and/or binary file. The Linux kernel supports the POSIX capabilities model from very early on—the 2.2 Linux kernels (at the time of writing, we are now in the 4.x kernel series). From a practical viewpoint, the features we describe as follows are available from Linux kernel version 2.6.24 (released January ...