Necesito hacer una copia de seguridad de algunos datos con la opción "p" en el comando tar. El problema es que el lugar donde voy a restaurar esta información tendrá todos los mismos usuarios, pero esos usuarios pueden tener ID diferentes. ¿Eso hace alguna diferencia en tar o restaurará los permisos correctamente por nombre de usuario?
20
tar
hace nombres de propietarios de registros.Resumiendo respuestas anteriores y agregando información importante:
Al crear archivos,
tar
siempre conservará los archivos de usuario y la ID de grupo, a menos que se lo indique con--owner=NAME
,--group=NAME
. Pero aún así siempre habrá un usuario y un grupo asociado con cada archivo.GNU tar, y quizás otras versiones de
tar
, también almacenan los nombres de usuarios y grupos , a menos que--numeric-owner
se usen. bsdtar también almacena los nombres de usuarios y grupos de forma predeterminada, pero el soporte para la--numeric-owner
opción al crear no apareció hasta bsdtar 3.0 (tenga en cuenta que bsdtar admitió la opción al extraer durante mucho más tiempo).Cuando se extrae como usuario normal , todos los archivos serán siempre propiedad del usuario. Y no puede ser diferente, ya que extraer un archivo es crear un nuevo archivo en el sistema de archivos, y un usuario normal no puede crear un archivo y otorgarle la propiedad a otra persona.
Cuando se extrae como root ,
tar
por defecto restaurará la propiedad de los archivos extraídos, a menos que--no-same-owner
se use, lo que le dará la propiedad al root.En GNU tar, bsdtar, y tal vez otras versiones de
tar
, la propiedad restaurada se realiza por el usuario (y de grupo) nombre , si es que la información en el archivo y hay un usuario coincidente en el sistema de destino. De lo contrario, se restaura por ID. Si--numeric-owner
se proporciona la opción, los nombres de usuarios y grupos se ignoran.Los permisos y las marcas de tiempo también se guardan en el archivo y se restauran de manera predeterminada, a menos que se usen opciones
--no-same-permissions
y / o--touch
. Cuando el usuario lo extrae, el usuarioumask
se resta de los permisos a menos que--same-permissions
se use.--preserve-permissions
y--same-permissions
son alias, y tienen la misma funcionalidad que-p
Espero que esto ayude a aclarar el problema! :)
fuente
tar
permiten especificar nombres arbitrarios en--owner
o--group
, en el pasadotar
hicieron una búsqueda gratuita en la máquina actual/etc/passwd
y se negaron a ejecutarse si no había coincidencia.--owner
pero también agregado en la--numeric-owner
bandera? ¿Cómo maneja el alquitrán estos requisitos competitivos?--owner
y--numeric-owner
no son mutuamente excluyentes, y tienen propósitos muy distintos:--owner=USERNAME
anularán los archivos y los propietarios de directorios al archivar los archivos, mientras--numeric-owner
que simplemente no almacenarán el nombre de usuario, solo su ID numérica.Use la opción --same-owner para GNU tar. Ver http://www.gnu.org/software/tar/manual/html_section/Attributes.html
fuente
Si está intentando transferir archivos entre dos sistemas, rsync establecerá de forma predeterminada los permisos por nombre de usuario en lugar de uid, mirando los nombres de usuario en ambos extremos. Solo si el usuario no existe en uno de los sistemas, lo copiará con el uid, a menos que usted indique lo contrario.
fuente