我是一名初级程序员,正在设置我的第一台虚拟机(Debian bullseye),并试图理解 Apparmor。当我读到它管理“网络访问、原始套接字访问以及读取、写入或执行文件的权限在匹配的路径上“,在最后一部分,我心里想:“这不就是chmod
这么做的吗?”所以我试图弄清楚它是否chmod
是 Apparmor 的一部分,或者它们是两个独立的东西,但我真的找不到答案。有什么帮助吗?Ty
答案1
chmod
和 AppArmor 是完全不同的工具,用于完全不同的目的。
chmod
只是一个简单的系统实用程序,用于设置文件的访问权限,并且可以追溯到相当长的一段时间(我想说几十年,可能起源于 Unix)。
标准 Linux 资源权限应用名为基于角色的访问控制(RBAC)。用户被置于组中,访问决策是根据他们对资源的所有权或他们的组成员身份(每个人都是该Other
组的成员)做出的。具体来说,在 RBAC(本身)下,用户应用程序都以用户拥有的相同权限运行,并且无法更改这一点。
然而,许多组织需要更严格的访问控制形式。强制访问控制(MAC) 与 RBAC 不同,因为所有内容都需要明确的权限才能访问其允许使用的所有资源。这包括用户和进程,因此应用程序不会自动使用用户拥有的所有功能运行。AppArmor 或SELinuxMAC 可以应用策略来改变应用程序的功能,以限制甚至超出用户权限的方式仅影响特定的应用程序。
sochmod
是用于控制 RBAC 的核心系统实用程序,而 MAC 是可用于增强系统安全性的附加层,方法是将应用程序限制为仅运行该应用程序需要运行的内容。RBAC 旨在平衡复杂性和管理员工作量与其产生的安全性,而 MAC 旨在允许您制定非常复杂的策略,以反映用户和应用程序的实际需求,但管理/管理成本要高得多。
请注意,许多系统默认附带 AppArmor 或 SELinux,但它们很少配置为实际执行任何操作(没有强制执行限制性策略)。在这些系统上,您必须选择使用和配置 MAC。
希望有帮助