减少漏洞利用的一种方法是不使用root(超级用户)权限运行程序!你应该利用操作系统的访问控制机制,使用非特权用户运行进程,并在只允许访问运行所需资源的组内运行进程。
这就是所谓的最小权限原则,也是设计安全系统的规则之一。应用程序在运行时,应仅拥有完成工作所需的权限。
13 Linux capabilities
Linux capabilities是一种针对以root权限运行的进程的细粒度访问控制系统。
Linux内核将与超级用户相关的权限划分为不同的单元,称为能力,这些能力可以独立启用或禁用。因此,我们的想法是编写一个能以root 身份运行的程序,但只启用其工作所需的功能。
你可以使用getcap工具列出特定程序运行所需的功能: