Eu não tenho uma referência definitiva nem uma experiência direta, então essa não é uma resposta autoritária.
O AppArmor é baseado em caminhos (depois de resolver links simbólicos, acredito). Caminhos não se importam com pontos de montagem. Uma regra do AppArmor para /var/www/html/joe/foo
se aplica a um arquivo acessado por esse caminho. O caminho /home/joe/Public/foo
pode acontecer para designar o mesmo arquivo, mas como é um caminho diferente, as regras do AppArmor para /var/www/html/joe/foo
não se aplicam.
Você terá que definir regras que cubram todos os locais de montagem da ligação. Você não precisa repetir suas regras, no entanto. Você pode informar ao AppArmor que um local é um alias para outro.
alias /home/joe/Public -> /var/www/html/joe
Não acredito que você possa usar um curinga para que um alias seja aplicado automaticamente a todos os usuários. Para isso, você pode expressar suas regras usando variáveis.
@{WWW_DIRS} = /home/*/Public /var/www/html/*
…
@{WWW_DIRS}/foo …