Voy a trabajar en un proyecto web y por lo tanto tengo una www
carpeta dentro $HOME
. Quiero que esta carpeta sea propiedad de user
mientras 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 www
da:
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/www
da:
# 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 cd
un problema en la carpeta recién creada:
touch testfile
Y luego ls -alh | grep testfile
da:
-rw-r----- 1 user www-data 0 Aug 10 17:44 testfile
Como puedes ver el grupo www-data
fue heredado debido al setgid
bit. Pero las ACL predeterminadas del directorio $HOME/www
no se heredaron (como esperaba). $HOME
tiene 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/www
tengan 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.