5

以下问题发生在 Debian Jessie(在 Vagrant 下)中:

docker文档声称 apparmor 配置文件自动放置在 中/etc/apparmor.d/docker,但是当我列出该目录的内容时,找不到它。

内容/etc/apparmor.d

abstractions
cache
disable
force-complain
local
tunables

Docker 版本信息

$ docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64
4

2 回答 2

1

这个 GitHub 讨论中,我了解到 apparmor 配置文件自 Docker v1.13 以来不再显式存储:

在 Docker 1.13 之前,它将 AppArmor 配置文件存储在 /etc/apparmor.d/docker-default 中(在 Docker 启动时被覆盖,因此用户无法修改它。Docker 开发人员添加了 --security-opt 以让用户指定一个配置文件。在 v1.13 之后,Docker 现在在 tmpfs 中生成 docker-default,使用 apparmor_parser 将其加载到内核中,然后删除该文件。所有 AppArmor 工具(在 Ubuntu 上为 aa-*)都需要一个文件参数,并且 /sys /kernel/security/apparmor/policy/profiles/* 只有缓存的二进制文件。

于 2021-02-26T19:00:54.587 回答
0

我能想到的最接近的,较新版本的 docker 似乎需要一个容器来拥有一个 apparmor 安全配置文件。这意味着我从互联网上提取的大多数容器都不会运行,除非我添加--security-opt apparmor=unconfineddocker run命令中。

于 2018-06-10T01:51:33.583 回答