<Anterior | Conteúdo | Próxima>
lxc-execute não entra em um perfil do Apparmor, mas o contêiner que ele gera será confinado. 6.9.1. Personalização de políticas de contêiner
Se você achar que lxc-start está falhando devido a um acesso legítimo que está sendo negado por sua política de Apparmor, você pode desativar o perfil lxc-start fazendo:
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start
sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/
Isso fará lxc-start execute não confinado, mas continue a confinar o próprio contêiner. Se você também deseja desabilitar o confinamento do contêiner, além de desabilitar o usr.bin.lxc-start perfil, você deve adicionar:
lxc.aa_profile = não confinado
ao arquivo de configuração do contêiner.
O LXC é fornecido com algumas políticas alternativas para contêineres. Se desejar executar contêineres dentro de contêineres (aninhamento), você pode usar o perfil lxc-container-default-with-nesting adicionando a seguinte linha ao arquivo de configuração do contêiner
lxc.aa_profile = lxc-container-default-com-aninhamento
Se você deseja usar libvirt dentro de contêineres, você precisará editar essa política (que é definida em / etc / apparmor.d / lxc / lxc-default-with-nesting) removendo o comentário da seguinte linha:
monte fstype = cgroup -> / sys / fs / cgroup / **,
e recarregue a política.
Observe que a política de aninhamento com contêineres privilegiados é muito menos segura do que a política padrão, pois permite que os contêineres sejam remontados / sys e / proc em locais fora do padrão, ignorando as proteções do aparelho.
Os contêineres sem privilégios não têm essa desvantagem, pois a raiz do contêiner não pode gravar nos proprietários de raiz proc
e sys arquivos.
Outro perfil enviado com o lxc permite que os contêineres montem tipos de sistema de arquivos em bloco, como ext4. Isso pode ser útil em alguns casos, como o provisionamento maas, mas geralmente é considerado inseguro, uma vez que os manipuladores de superblocos no kernel não foram auditados quanto ao tratamento seguro de entrada não confiável.
Se você precisa executar um contêiner em um perfil personalizado, pode criar um novo perfil em /etc/apparmor.d/ lxc /. Seu nome deve começar com lxc- em ordem para lxc-start ter permissão para fazer a transição para esse perfil. o lxc- padrão perfil inclui o arquivo de abstrações reutilizável /etc/apparmor.d/abstractions/lxc/container-base. Portanto, uma maneira fácil de iniciar um novo perfil é fazer o mesmo e, em seguida, adicionar permissões extras na parte inferior de sua política.
Depois de criar a política, carregue-a usando:
sudo apparmor_parser -r /etc/apparmor.d/lxc-containers
O perfil será carregado automaticamente após uma reinicialização, porque é originado pelo arquivo /etc/apparmor.d/lxc-containers. Finalmente, para fazer o contêiner CN use este novo perfil lxc-CN, adicione a seguinte linha ao seu arquivo de configuração:
lxc.aa_profile = perfil lxc-CN
Documentação