La configuración de ACL predeterminada no funciona como se esperaba

La configuración de ACL predeterminada no funciona como se esperaba

Voy a trabajar en un proyecto web y por lo tanto tengo una wwwcarpeta dentro $HOME. Quiero que esta carpeta sea propiedad de usermientras pertenezco al grupo www-data. Emito:

mkdir $HOME/www
chmod g+rxs,u+rwx,o-rwx $HOME/www
chown user.www-data $HOME/www

Luego ls -alh | grep wwwda:

drwxr-s---  2 user www-data     4,0K Aug 10 17:33 www

Además, quiero que se establezcan permisos predeterminados independientemente de los permisos de los procesos de creación. Así que hago:

setfacl -m d:u::rwx,d:g::rx,d:o::- $HOME/www

Luego getfacl $HOME/wwwda:

# file: www
# owner: user
# group: www-data
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:other::---

Ahora tengo cdun problema en la carpeta recién creada:

touch testfile

Y luego ls -alh | grep testfileda:

-rw-r-----   1 user www-data    0 Aug 10 17:44 testfile

Como puedes ver el grupo www-datafue heredado debido al setgidbit. Pero las ACL predeterminadas del directorio $HOME/wwwno se heredaron (como esperaba). $HOMEtiene ACL predeterminadas diferentes en comparación con $HOME/www, pero esperaría que anular manualmente las ACL predeterminadas de los subdirectorios funcione de manera bastante sencilla.

Quiero que los subdirectorios y archivos dentro $HOME/wwwtengan los permisos predeterminados indicados anteriormente. ¿Que me estoy perdiendo aqui?

Respuesta1

Los archivos de forma predeterminada no obtienen permisos de ejecución. Los directorios sí. Intente crear un directorio; debería tener los permisos esperados. Los archivos deben obtener los permisos predeterminados esperados menos la ejecución.

información relacionada