Copiar archivos manteniendo los permisos

Uno de los comandos básicos de GNU/Linux es el que nos permite copiar archivos o directorios: cp. La estructura general de este comando bastante sencilla como se puede leer en la página del manual correspondiente (man cp). Pero en cualquier caso, lo mejor es recordarla:

cp [opciones] origen destino

Como ejemplo para todo el artículo vamos a contar con un archivo con el nombre miscript.sh con los atributos que se ven en la siguiente imagen:

Nos fijamos en los permisos y en la hora

Nos fijamos en los permisos y en la hora

Al copiar archivos sin indicar ninguna opción no se copian los permisos, ni el propietario, ni cualquier otro atributo del archivo. Sólo se copia el archivo como podemos observar a continuación:

Han cambiando tanto los permisos como la hora

Han cambiando tanto los permisos como la hora

En muchos casos, esto es suficiente pero en otros seguramente prefiramos preservar algunos de estos atributos de los archivo que queramos copiar.

Por eso, si queremos mantener los permisos, el propietario y el grupo y las marcas de tiempo (timestamps) usaremos la opción -p. Esta opción es equivalente a –preserve=mode,ownership,timestamps que comentaremos más adelante.

Para verlo con un ejemplo, vamos a copiar el archivo miscript.sh al archivo copiarpreservando.sh con la opción -p.

cp -p miscript.sh copiapreservando.sh

Como podemos ver, ahora se han mantenido los mismos permisos y la misma hora en el archivo copiado.

Se mantienen los permisos y la hora

Se mantienen los permisos y la hora

Sin embargo, si queremos tener un control absoluto sobre que atributos nos interesa preservar tenemos que usar la opción –preserve[=LISTA_ATRIBUTOS], donde LISTA_ATRIBUTOS es una lista separada por comas de algunos de los siguientes elementos:

  • mode: preserva el modo del archivo y la lista de control de acceso (permisos).
  • ownership: preserva el propietario y el grupo. En la mayoría de los sistemas operativos modernos, sólo los usuarios con los privilegios apropiados pueden cambiar el propietario de un archivo, por lo que tendremos que anteponer sudo al comando cp para mantener el propietario y el grupo si no son los nuestros.
  • timestamps: preserva las fechas de último acceso y última modificación.
  • context: preserva el contexto de seguridad SELinux del archivo.
  • links: preserva en los archivos de destino cualquier enlace entre su correspondiente archivo origen.
  • xattr: preserva los atributos extendidos.
  • all: preserva todos los atributos anteriores.

Como ejemplo podríamos mantener el modo y los atributos extendidos del archivo original:

cp --preserve=mode,xattr miscript.sh copiacontrol.sh

Por último, si quieres leer toda esta información de primera mano, sólo tienes que ejecutar el siguiente comando:

info cp

Espero que te sea útil.

Vía: systemadmin

Artículos relacionados:

7 Responses to “Copiar archivos manteniendo los permisos”


  1. 1 Tatiana Jueves, 15 julio 2010 en 4:31 pm

    Hola que tal¡
    Permiteme presentarme soy tatiana administradora de un directorio de blogs y webs, visité tu página y está genial, me encantaría contar con tu site en mi sitio web y asi mis visitas puedan visitarlo tambien.
    Si estas de acuerdo no dudes en escribirme
    Exitos con tu página.
    Un beso
    tatiana.

  2. 2 Carlos Ruiz Jueves, 15 julio 2010 en 10:51 pm

    Holap:

    Genial!!

    Ya estaba aburrido de tener que setear los permisos una y otra vez por cada archivo que copiaba de una carpeta a otra…

    Saludooos :P

  3. 3 wancharagu Jueves, 15 julio 2010 en 11:54 pm

    Muchas gracias, muy buena pagina, muy buena info


  1. 1 Copiar archivos manteniendo los permisos - Dominicanplace Trackback en Jueves, 15 julio 2010 en 2:33 pm
  2. 2 Copiar archivos manteniendo los permisos - Nagrados Trackback en Jueves, 15 julio 2010 en 3:00 pm
  3. 3 BlogESfera.com Trackback en Jueves, 15 julio 2010 en 9:18 pm
  4. 4 Copiando archivos manteniendo los permisos | Tux Files Trackback en Martes, 27 julio 2010 en 7:25 am

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




Síguenos en Twitter

 

Sitios amigos:

Si has leído nuestro Acerca de, sabes que no publicamos ningún artículo práctico que no hayamos probado. Aún así, no podemos garantizar que en tu sistema funcione como en el nuestro.

Esta página no es de soporte. Compartimos lo que sabemos, pero si resolviésemos todas las dudas que recibimos, no podríamos hacer artículos nuevos. Por eso, si alguien plantea un problema, y sabes la respuesta, siéntete libre para comentarla.

Si tienes una duda y no obtienes respuesta, puedes recurrir a sitios específicos como ubuntu-es.org o Linux Q.

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.


A %d blogueros les gusta esto: