<Precedenti | Contenuti | Succ.>
lxc-execute non entra in un profilo Apparmor, ma il contenitore che genera sarà limitato. 6.9.1. Personalizzazione dei criteri del contenitore
Se lo trovi lxc-start sta fallendo a causa di un accesso legittimo che viene negato dalla sua politica Apparmor, puoi disabilitare il profilo lxc-start facendo:
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/
Questo farà lxc-start esegui senza limiti, ma continua a confinare il contenitore stesso. Se desideri disabilitare anche il confinamento del contenitore, oltre a disabilitare il usr.bin.lxc-start profilo, è necessario aggiungere:
lxc.aa_profile = non confinato
al file di configurazione del contenitore.
LXC viene spedito con alcune politiche alternative per i container. Se desideri eseguire contenitori all'interno di contenitori (annidamento), puoi utilizzare il profilo lxc-container-default-with-nesting aggiungendo la seguente riga al file di configurazione del contenitore
lxc.aa_profile = lxc-container-default-con-nidificazione
Se desideri utilizzare libvirt all'interno dei contenitori, dovrai modificare tale politica (che è definita in /etc/appamor.d/lxc/lxc-default-with-nesting) decommentando la seguente riga:
mount fstype=cgroup -> /sys/fs/cgroup/**,
e ricaricare la politica.
Nota che la politica di annidamento con i contenitori privilegiati è molto meno sicura della politica predefinita, poiché consente il rimontaggio dei contenitori / sys e / proc in posizioni non standard, aggirando le protezioni dell'abbigliamento.
I contenitori non privilegiati non presentano questo inconveniente poiché la radice del contenitore non può scrivere su proprietà di root proc
e sys File.
Un altro profilo fornito con lxc consente ai container di montare tipi di filesystem a blocchi come ext4. Questo può essere utile in alcuni casi come il provisioning di maas, ma è considerato generalmente non sicuro poiché i gestori di superblock nel kernel non sono stati verificati per la gestione sicura dell'input non attendibile.
Se devi eseguire un contenitore in un profilo personalizzato, puoi creare un nuovo profilo in /etc/apparmor.d/lxc/. Il suo nome deve iniziare con lxc- in ordine per lxc-start essere autorizzato a passare a quel profilo. Il lxc-predefinito profile include il file delle astrazioni riutilizzabile /etc/apparmor.d/abstractions/lxc/container-base. Pertanto, un modo semplice per avviare un nuovo profilo è fare lo stesso, quindi aggiungere autorizzazioni extra nella parte inferiore della politica.
Dopo aver creato la policy, caricarla utilizzando:
sudo apparmor_parser -r /etc/apparmor.d/lxc-containers
Il profilo verrà caricato automaticamente dopo un riavvio, perché è originato dal file /etc/apparmor.d/lxc-containers. Infine, per fare il contenitore CN usa questo nuovo lxc-CN-profilo, aggiungi la seguente riga al suo file di configurazione:
lxc.aa_profile = lxc-profilo-CN