Configurar las ACL correctamente para -rw-r--r--+

Configurar las ACL correctamente para -rw-r--r--+

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 lsy otras utilidades que solo miran los bits de permiso tradicionales.

Entonces, si lsmuestra -rw-r--r--+, la máscara de ACL es r--, lo que significa que la ACL de permiso u:usernamehere:rwxactuará como u:usernamehere:r--. Puede que eso no sea lo que quieres. Por otro lado, tenga en cuenta que u:usernamehere:rwxes 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-rwxpueda 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 lscomo -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 setfacllo 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 lscomo -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 xdesde que creé el archivo touchy usa los permisos 0666, enmascarando los xbits.

información relacionada