更新时间:2023-12-23 20:55
最小权限原则(最早由 Saltzer 和 Schroeder 提出),是指每个程序和系统用户都应该具有完成任务所必需的最小权限集合。
在计算机科学以及其它领域中,最小权限原则是要求计算环境中的特定抽象层的每个模块如进程、用户或者计算机程序只能访问当下所必需的信息或者资源。
它赋予每一个合法动作最小的权限,就是为了保护数据以及功能避免受到错误或者恶意行为的破坏。
最小权限原则也称为最少权限原则。
最小权限原则大约在1970年代中期开始出现,人们通常认为Peter J. Denning的“容错操作系统”一书,是这个概念的首次提出者,实际上,在当时许多论文中,已经用其它不同名字提到了这个原则,如Saltzer与Schroeder的计算机系统信息保护。
Saltzer与Schroeder的原始表述是
最小权限原则限制代码运行所需的安全权限,有一个非常重要的原因,就是降低你的代码在被恶意用户利用时,造成的损失。如果你的代码仅仅使用最小权限来执行,恶意用户就难以使用它造成损失。如果你需要用户使用管理员权限来执行代码,任何代码中的安全缺陷,都会通过利用该缺陷的恶意用户,潜在造成更大的损失。
2.程序需要所有权限吗?
3.程序需要权限吗?
4.程序在未来需要权限吗?
setuid(uid):它设置了当前进程的有效 UID。如果调用者的有效 UID 是 Root,也会设置真实和保存的 UID。
示例(在 Fedora 中):进程使用有效 UID = 0 来运行,真实 UID= 500,在调用它们之后,有效和真实 UID 是什么?