Você notará o comentário "efetivo" que o getfacl está descartando para você. A questão é que as permissões estão calculando para que "app" não esteja recebendo o bit de gravação definido. Isso está acontecendo porque a máscara no arquivo está definida como somente leitura. A máscara é usada para limitar a quantidade de permissões que poderiam ser fornecidas em um determinado arquivo ou diretório.
Um exemplo de por que você gostaria que esse comportamento fosse como se soubesse que o arquivo poderia legitimamente precisar de diferentes usuários / grupos para ter acesso a ele, mas por algum motivo as coisas estavam ficando complicadas com permissões e você queria uma maneira de dizer " Quaisquer que sejam as outras permissões padrão, seja qual for a participação de seus grupos, ou qualquer setfacl recursivo executado posteriormente, DEFINITIVAMENTE NÃO DÊ ISSO ! " O usuário proprietário tem um status especial no mundo POSIX, ele tem direitos que outros usuários não têm, como a capacidade de ser não-root e alterar permissões em um arquivo e ter seus direitos não limitados pela máscara (o que seria inútil de qualquer maneira por causa do primeiro privilégio que o sistema lhes dá). É por isso que eles ainda obtêm o rwx mesmo que a máscara seja restrita.
Para responder à sua pergunta específica, : adicione o bit de gravação à máscara no arquivo e tente novamente como o john
user.
aqui é uma versão de linha de comando da explicação acima, observe como os direitos "efetivos" mudam quando tudo que eu modifico é a máscara.