Ich versuche, eine Anwendung mit snapd zum Laufen zu bringen, und bin auf einige Probleme bezüglich der AppArmor-Berechtigungen gestoßen. Um meine App voll funktionsfähig zu machen, sind anscheinend einige benutzerdefinierte AppArmor-Regeln erforderlich, die von keiner der vorhandenen Schnittstellen bereitgestellt werden.
Ich kann die Dinge zum Laufen bringen, indem ich dem AppArmor-Profil der App nach der Snap-Installation unter / var / lib / snapd / apparmor / profile / manuell zusätzliche Regeln hinzufüge.
/sys/devices/** r,
/sys/class/net/eth0/address r,
/dev/sda1 r,
capability sys_rawio,
Gibt es eine Möglichkeit, dass der Snap diese bei der Installation automatisch konfiguriert, oder muss ich benutzerdefinierte Skripts nach der Installation verwalten, um diese Änderungen vorzunehmen?
Am Ende dieser Seite wird die Yaml-Syntax angezeigt, die darauf hindeutet, dass dies möglich ist:
services:
- name: bar # uses 'default' template with 'network-client' cap
- name: baz # uses 'default' template with specified caps
caps:
- network-client
- norf-framework_client
- name: qux # uses 'nondefault' template with no caps
security-template: nondefault
- name: quux
security-policy: # uses custom security policy as defined by relative paths
apparmor: meta/quux.aa
seccomp: meta/quux.sc
Dies bezieht sich jedoch auf Ubuntu 15.10 (ich verwende 16.04) und es scheint eine Syntax zu verwenden (z. B. "Dienste" anstelle von "Apps"), die derzeit nicht von snapd unterstützt wird. Vielen Dank für jede Hilfe, die Sie leisten können.