Você está configurando as ACLs padrão que não têm permissão de execução, de modo que ninguém terá permissão de execução. Em vez disso, como Patrick mencionou em um comentário, defina as ACLs padrão com a permissão X
. Em minúsculas x
significa que a entrada da ACL concede a permissão de execução. % De X
maiúsculo concede a permissão de execução somente se algum usuário (geralmente o proprietário) tiver a permissão de execução.
A menos que você esteja fazendo algo incomum, sempre coloque X
em uma ACL padrão onde houver r
. Existem algumas razões para ter um arquivo ou diretório legível mas não executável ou vice-versa. O Unix implementa a execução e a leitura como permissões separadas e, para diretórios, implementa a passagem e a listagem como permissões separadas, mas há poucos casos em que isso é desejável: geralmente é permitido a um determinado conjunto de usuários modificar um arquivo, um conjunto maior é permitido para acessá-lo sem modificá-lo, e para arquivos regulares, o arquivo pode ou não ser executável, mas essa propriedade não depende de quem está tentando acessá-lo.
setfacl -Rdm g::rwX .
setfacl -Rdm u::rwX .
setfacl -Rdm o::- .