¿Cómo copiar los permisos de un archivo a otro?

¿Cómo copiar los permisos de un archivo a otro?

Digamos que tengo dos archivos:

-rw-rw-r--  1 webapp webapp   215 Jun 21  2012 index.php
-rw-rw-rw-  1 root   root      58 Dec 17 11:02 patch.log

Me gustaría dar patch.loglos mismos permisos que index.php.

Puedo hacerlo manualmente:

chown webapp:webapp patch.log
chmod 664 patch.log

Pero esto debería ser parte de un script, donde no necesariamente sé cuáles index.phpson los permisos exactos.

¿Existe alguna forma de copiar los permisos de un archivo determinado a otro archivo?

Respuesta1

Puede utilizar un archivo como archivo de referencia tanto para chown como para chmod

chown --reference=index.php patch.log
chmod --reference=index.php patch.log

Por cierto, está todo en las páginas de manual.

chown

--reference=RFILE utiliza el propietario y el grupo de RFILE en lugar de especificar valores de PROPIETARIO:GRUPO

chmod

--reference=RFILE usa el modo RFILE en lugar de los valores MODE

Respuesta2

Si existe alguna posibilidad de ACL extendidas en los archivos en cuestión, es mejor usar getfacl/setfacl:

getfacl index.php | setfacl --set-file=- patch.log

información relacionada