Existe apenas um padrão, mas quando um arquivo herda uma ACL, ele é modificado por uma máscara que é definida no modo que os programas definem quando abrem um arquivo para gravação. (O modo é realmente modificado pelo umask - os bits do umask são removidos, então o modo 666 mais umask 002 torna-se 664.) Se o modo for 664 por exemplo, a máscara será rw-
, o que faz com que o sinalizador x seja mascarado para todos os acls nomeados e para o grupo, para que efetivamente não haja permissão de execução. A máscara é criada a partir dos bits de grupo do modo ou dos bits de grupo de um chmod, se isso for usado.
Portanto, se você criar um arquivo normal, ele terá x
definido na ACL, mas será mascarado. Por padrão, os diretórios são criados com o modo 755 ou 775 (dependendo do umask), para que a máscara seja rwx
ou r-x
. Então o x-flag na ACL permanece efetivo.
Eu estava confuso antes com o capital X
. Isso só se aplica quando você define ACLs para vários arquivos de uma só vez. Em seguida, você pode definir a permissão para X
, o que fará com que os diretórios tenham x
e os arquivos não.