Pude configurar los permisos ACL predeterminados para archivos nuevos de esta manera:
sudo setfacl -Rdm u:usernamehere:rwx /var/www/path/to/files
Esto parece dar a todos los archivos nuevos un permiso de:
-rw-r-----+
Espero que los archivos nuevos obtengan el permiso siguiente:
-rw-r--r--+
Si hay alguna diferencia, estoy ejecutando CentOS.
Cualquier ayuda sobre esto es muy apreciada.
¡Gracias!
Respuesta1
Primero, tenga en cuenta que las ACL de archivos que tienen entradas de ACL para usuarios o grupos designados también tienen unamáscara de LCAentrada que limita los permisos otorgados por esas entradas de ACL y los de la entrada del propietario del grupo. La entrada de máscara muestra los permisos del grupo ls
y otras utilidades que solo miran los bits de permiso tradicionales.
Entonces, si ls
muestra -rw-r--r--+
, la máscara de ACL es r--
, lo que significa que la ACL de permiso u:usernamehere:rwx
actuará como u:usernamehere:r--
. Puede que eso no sea lo que quieres. Por otro lado, tenga en cuenta que u:usernamehere:rwx
es diferente de u::rwx
, incluso para archivos propiedad de usernamehere
. La primera es una entrada con nombre, limitada por la máscara, mientras que la segunda es la entrada para el propietario del archivo, que esnolimitado.
La idea de la máscara es que una herramienta que ejecute el equivalente a chmod go-rwx
pueda hacer que el archivo sea inaccesible para cualquiera que no sea el propietario. Puede eliminar la entrada de máscara con setfacl -x m:: filename
, pero solo funciona si no hay entradas de grupo o usuario designado.
En cualquier caso, puedes agregar más de una entrada predeterminada en el mismo comando. Esto establecería entradas predeterminadas para que el propietario del archivo obtenga permisos rwx
, la máscara esté configurada en r--
y los permisos para "otros" estén configurados en r--
:
$ setfacl -R -d -m u::rwx -m m::r-- -m o::r-- /path
Es posible que también desee establecer explícitamente una ACL predeterminada para el propietario del grupo ( g::
), ya que la entrada aparece en cualquier caso (con los valores probablemente tomados de los bits de permiso). Por ejemplo, aquí la entrada para el propietario del grupo no está completamente vigente, ya que la máscara la restringe:
default:user::rwx
default:group::r-x #effective:r--
default:mask::r--
default:other::r--
Un archivo creado en el directorio se muestra ls
como -rw-r--r--+
.
Por otra parte, si solo desea que el usuario designado obtenga los permisos que usted dice, puede omitir el campo de máscara y setfacl
lo configurará según los permisos que utilizó para las entradas de ACL reales:
setfacl -R -d -m u::rwx -m u:usernamehere:rwx -m o::r-- /path
Un archivo creado en el directorio ahora se muestra ls
como -rw-rw-r--+
y en getfacl
:
user::rw-
user:usernamehere:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
Falta la máscara x
desde que creé el archivo touch
y usa los permisos 0666
, enmascarando los x
bits.