如何配置AppArmor仅放行/home下指定路径并拒绝其余所有子路径访问
AppArmor 权限配置实现方案
AppArmor 规则默认遵循精确路径匹配优先级高于通配符路径匹配的逻辑,利用这个特性即可实现通用适配,无需枚举/home下的所有子目录。
完整配置片段如下:
# 允许遍历/home根目录(必须配置,否则程序无法进入/home访问下层路径) /home/ r, # 放行/home/nonroot下所有文件、目录的权限,可按需调整权限位(r=读 w=写 x=执行 l=链接 k=锁) /home/nonroot/** rw, # 拒绝/home下除nonroot外所有子目录的所有访问权限 deny /home/*/** rwlkx,
规则说明
/home/ r仅开放/home目录本身的遍历权限,不会默认开放其下任意子目录的访问权/home/nonroot/**匹配/home/nonroot下所有层级的文件和目录,路径匹配优先级更高,会先命中,不会被后续的拒绝规则拦截deny /home/*/**匹配/home下第一层任意子目录(包括普通目录、隐藏目录、后续新增的目录)下的所有路径,由于优先级低于精准路径规则,不会影响已放行的/home/nonroot路径,天然适配子目录数量不固定的场景。
内容的提问来源于stack exchange,提问作者Mayukh Sarkar
相关产品推荐
相关产品推荐

