No está claro si está preguntando sobre la conservación de los permisos de origen o los permisos de destino. También ha enviado spam entre sitios a SuperUser.
Tom Shaw
Para el registro, las opciones de "preservación" son en referencia a la fuente . cp -phace que los atributos de destino coincidan (preservando así) los atributos de origen.
mpersico
1
Me topé con esta página. cp por defecto debería preservar los permisos de los archivos de destino y el usuario: grupo porque abre el objetivo en modo de actualización y conserva su inodo. Entonces no está claro para mí por qué las respuestas no indican esto.
Tenga en cuenta que los privilegios de root son necesarios si desea preservar la propiedad y la agrupación.
Un extracto del manual:
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,owner-
ship,timestamps), if possible additional attributes: context,
links, xattr, all
No es exactamente lo que el autor quería. --no-preservetiene sentido si se usa después --preserve(o sus alias), de lo contrario no afecta el comportamiento de cp. El autor quería mantener el modo de archivo de un archivo de destino existente y solo sobrescribir su contenido
cuenca
Ej: reemplazar las claves de host ssh cp --no-preserve=mode,ownership ssh* /etc/ssh/. Esto hace que las claves secretas sean legibles en todo el mundo.
Cuenca
La explicación de la página de manual - preservar no tiene sentido en mi humilde opinión, ya que no deja en claro preservar qué: los atributos de origen o destino
O puede usar un programa de instalación aún mejor de GNU coreutils que se ha creado para este propósito particular. Tenga en cuenta que no puede repetirse (sin opción -R o -r).
cp -p
hace que los atributos de destino coincidan (preservando así) los atributos de origen.Respuestas:
Si solo ha abierto el manual para
cp
...El siguiente no sobrescribirá los permisos del archivo y la propiedad + grupo:
Tenga en cuenta que los privilegios de root son necesarios si desea preservar la propiedad y la agrupación.
Un extracto del manual:
fuente
--no-preserve
tiene sentido si se usa después--preserve
(o sus alias), de lo contrario no afecta el comportamiento decp
. El autor quería mantener el modo de archivo de un archivo de destino existente y solo sobrescribir su contenidocp --no-preserve=mode,ownership ssh* /etc/ssh/
. Esto hace que las claves secretas sean legibles en todo el mundo.cat
también funcionará:fuente
O puede usar un programa de instalación aún mejor de GNU coreutils que se ha creado para este propósito particular. Tenga en cuenta que no puede repetirse (sin opción -R o -r).
http://www.gnu.org/software/coreutils/manual/html_node/install-invocation.html
fuente
No utilice interruptores relacionados con permisos en absoluto, especialmente
--no-preserve
, porque se comporta de manera extraña:bueno:
malo:
fuente
El cp no anula los permisos por defecto. Si desea asegurarse de que no se anule el permiso, use
fuente