在 Solaris 中,我相信您可以为用户分配权限,在 Linux 中您可以为可执行文件分配功能。
某些或所有 BSD 风格是否具有特权或功能,或类似性质的东西?或者他们是否遵循“全有或全无”的方法,其中根用户拥有完全的权限,而其他用户只有很少的权限?
答案1
请注意,Linux 将这些东西称为“功能”,这非常奇怪。它们不是基于功能的操作系统中的功能概念。其他操作系统倾向于以其他名称称呼它们。
在 FreeBSD 中,与其他一些操作系统一样,它们被称为特权。 FreeBSD 人们在 2006 年用大约 400 个此类权限的系统替换了其内核代码中的旧suser()
机制,从重新启动系统的权限到附加到监狱的权限。
它们部分受强制访问控制模块的控制,例如mac_biba
和mac_lowa
。然而,对于这样一个细粒度的系统,开箱即用的内容是相当基本的。
不要将其与 FreeBSD 的 capsicum 混淆,后者是尽管不完全一样,但它更像是一个能力系统。但这不是你要问的。
NetBSD 还用 MacOS 10 KAuth 机制的克隆取代了旧suser()
机制,同样是在 2006 年。同样有一个独立权限的系统,范围从调整系统时间到运行mknod()
.虽然不像 FreeBSD 那么多,但也不少。
同样,不同的插件所谓的“secmodels”精确控制权限的设置方式。再说一遍,开箱即用的一组 secmodel 是相当基本的。
今天的 OpenBSD 仍然保留着旧的suser()
机制并且没有分割超级用户的权限。
进一步阅读
- 马歇尔·柯克·麦库西克、乔治·V·内维尔-尼尔和罗伯特·NM·沃森 (2014)。 “安全”。 FreeBSD操作系统的设计与实现。第二版。艾迪生-韦斯利专业人士。 ISBN 9780133761832。第 157 页及以下。
- 罗伯特·沃森(2006)。 ”TrustedBSD 特权(9)”。 FreeBSD 季度状态报告 2006-10–2006-12。
maclabel
。FreeBSD 杂项信息手册。 2002年10月25日。- 埃拉德·埃弗拉特 (2011-12-04)。
secmodel
。NetBSD 内核开发者手册。