LXC / LXD e AppArmor: permissão negada; tentou carregar um perfil enquanto confinado?

0

Estou tentando executar o firewall (Zentyal) no Ubuntu 16.04 dentro de um contêiner LXD no topo do host Arch linux. Ele requer alguma funcionalidade do AppArmor para fazer sua parte (principalmente, DHCP), então eu instalei o kernel habilitado para AppArmor no host e configurei o LXD de acordo com todos os pontos que encontrei na Internet relacionados ao AppArmor, então não parece então:

name: router
profiles:
- default
config:
  raw.lxc: lxc.aa_profile= unconfined
  security.nesting: "true"
  security.privileged: "true"
  volatile.base_image:       9c774bed40a5a8a34c2c96c1a93f4d46b0f59cda96defc07bc2c29cf473beb22
      volatile.eth0.name: eth0
      volatile.eth1.name: eth1
      volatile.last_state.idmap: '[]'
      volatile.last_state.power: RUNNING
devices:
  eth0:
    nictype: physical
    parent: enp2s0
    type: nic
  eth1:
    nictype: bridged
    parent: br0
    type: nic
  root:
    path: /
    type: disk
ephemeral: false

No entanto, ainda estou recebendo esses erros nos registros do Zentyal:

    2016/12/22 22:56:48 ERROR> Service.pm:964 EBox::Module::Service::restartService - root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.named failed. 
    2016/12/22 22:59:43 ERROR> Sudo.pm:240 EBox::Sudo::_rootError - root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.dhcpd failed. 
    2016/12/22 22:59:43 ERROR> Service.pm:962 EBox::Module::Service::restartService - Error restarting service: root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.dhcpd failed. 
    2016/12/22 22:59:43 ERROR> Service.pm:964 EBox::Module::Service::restartService - root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.dhcpd failed. 
    2016/12/22 22:59:44 ERROR> Sudo.pm:240 EBox::Sudo::_rootError - root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.named failed. 
    2016/12/22 22:59:44 ERROR> Service.pm:962 EBox::Module::Service::restartService - Error restarting service: root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.named failed. 
    2016/12/22 22:59:44 ERROR> Service.pm:964 EBox::Module::Service::restartService - root command /sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.named failed. 

E quando tento executar um desses comandos para obter um erro mais direto, recebo isso:

/sbin/apparmor_parser --write-cache --replace /etc/apparmor.d/usr.sbin.dhcpd
/sbin/apparmor_parser: Unable to replace "/usr/sbin/dhcpd".  Permission denied; attempted to load a profile while confined?

Existe algo mais que pode ser feito aqui ou simplesmente não é possível?

    
por lockheed 23.12.2016 / 00:13

1 resposta

0

aa-complain appname desativará as restrições, mas ainda reclamará e gravará nos registros.

Instalar

sudo apt-get install apparmor-utils

sudo aa-logprof examinará os registros e perguntará se você deseja ativar determinadas permissões para todos os perfis disponíveis.

sudo aa-cleanprof appname or /pathto/app limpará o perfil existente

sudo aa-genprof appname or /pathto/app gerará um novo perfil e verificará os logs para as alterações necessárias.

sudo aa-autodep appname or /pathto/app tentará criar um perfil e todas as dependências de um aplicativo.

Você pode definir aa-complain appname e percorrer as etapas que deseja fazer com o aplicativo. Ligue-o, desligue-o, reinicie-o, recarregue-o, abra os arquivos, etc. Em seguida, execute aa-logprof para fazer com que o aparador procure por alterações que você pode aprovar ou negar.

Se isso não funcionar aa-cleanprof appname , então aa-autodep appname seria o caminho mais rápido para um novo perfil. Se você receber uma reclamação sobre um perfil existente, vá para /etc/apparmor.d/ e mv to profilename_OLD .

    
por m_krsic 26.02.2017 / 22:48