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
            
  
            
tarhace nombres de propietarios de registros.Resumiendo respuestas anteriores y agregando información importante:
Al crear archivos,
tarsiempre 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-ownerse usen. bsdtar también almacena los nombres de usuarios y grupos de forma predeterminada, pero el soporte para la--numeric-owneropció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 ,
tarpor defecto restaurará la propiedad de los archivos extraídos, a menos que--no-same-ownerse 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-ownerse 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-permissionsy / o--touch. Cuando el usuario lo extrae, el usuarioumaskse resta de los permisos a menos que--same-permissionsse use.--preserve-permissionsy--same-permissionsson alias, y tienen la misma funcionalidad que-pEspero que esto ayude a aclarar el problema! :)
fuente
tarpermiten especificar nombres arbitrarios en--ownero--group, en el pasadotarhicieron una búsqueda gratuita en la máquina actual/etc/passwdy se negaron a ejecutarse si no había coincidencia.--ownerpero también agregado en la--numeric-ownerbandera? ¿Cómo maneja el alquitrán estos requisitos competitivos?--ownery--numeric-ownerno son mutuamente excluyentes, y tienen propósitos muy distintos:--owner=USERNAMEanularán los archivos y los propietarios de directorios al archivar los archivos, mientras--numeric-ownerque 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