Você só precisa pensar em lxc.cap.keep
e lxc.cap.drop
como a lista de permissões e a lista negra. Se você não puder usar os dois, em vez de adicionar uma entrada à lista de desbloqueio, remova essa entrada da lista negra. De fato, se você não puder usar a lista branca, isso significa que a lista negra estava em uso. Se a capacidade foi removida, isso significa que estava na lista negra. Então você tem que redefinir lxc.cap.drop
.
Todas essas configurações estão em /usr/share/lxc/config
, mas podem variar um pouco dependendo da distribuição (host) ou da versão do pacote. Às vezes, arquivos de configuração incluem outros. Essas entradas são cumulativas, portanto, o arquivo deve ser editado diretamente (atualizações de cuidado ...) ou todas elas devem ser encontradas para substituí-las.
-
Mais fácil, para substituição global, o arquivo
/usr/share/lxc/config/centos.common.conf
contém uma linha semelhante a:lxc.cap.drop = sys_module sys_nice sys_pacct
remova a entrada indesejada, portanto, neste exemplo, substitua por:
lxc.cap.drop = sys_module sys_pacct
-
Para substituir a configuração apenas em um contêiner, encontre uma maneira de enumerar todos os recursos eliminados (alguns logs lxc verbose ou qualquer outro método) e como o manual diz, use uma entrada sem valor para cancelar a lista negra e" reconstrua ". Um exemplo se o host também fosse o CentOS seria, após ter removido
sys_nice
, para adicionar isso na configuração do contêiner, após qualquer inclusão :lxc.cap.drop = lxc.cap.drop = mac_admin mac_override setfcap lxc.cap.drop = sys_module sys_pacct lxc.cap.drop = sys_rawio sys_time