Cómo restaurar Linux con ACL

Cómo restaurar Linux con ACL

Creé dduna copia de seguridad de todo el sistema y me gustaría restaurarla en una unidad nueva (cifrada). Utilicé con éxito rsync -adla restauración de archivos y permisos en el sistema de archivos ext4 recién creado (lo inicié con éxito y lo estoy usando para escribir esto), pero no puedo acceder a los dispositivos montados en /media/username(digamos que hago clic en alguna partición en el administrador de archivos para montar). it), este directorio y los puntos de montaje son propiedad de root:root. Los permisos de archivos conocidos (por ejemplo, elementos en /home) están configurados correctamente, por lo que supongo que también /media/*eran propiedad de rootantes de la copia de seguridad. Supongo que hay un problema conLCAs.

  • ¿Hay alguna manera de restaurar?LCA¿Sin tener que copiar todo por segunda vez? (He encontradoesteguía, pero dice que no es confiable. No sé si esto es bueno para mi caso de uso. Además, no necesito restaurar la propiedad y los permisos de Linux, eso ya debería ser correcto y no quiero alterarlo. ¿Quizás -sla opción de getfacles lo que necesito?)
  • ¿Se omite algo más rsyncy es necesario restaurarlo?
  • Si no es posible guardar esto y tengo que copiar todo nuevamente, ¿qué debo usar? La guía que seguí utilizó tarel comando, pero fue muy lento canalizar dos tarcomandos.

yo sueloLinux menta 19.3.

editar: verifiqué la copia de seguridad ( /mnt/), tengo razón, las ACL están configuradas:

sudo getfacl /mnt/media/username/
getfacl: Removing leading '/' from absolute path names
# file: mnt/media/username/
# owner: root
# group: root
user::rwx
user:username:r-x
user:libvirt-qemu:--x
group::---
mask::r-x
other::---

edit2: Hice algunos cambios ya que copié todo, por lo que preferiría un método que no sobrescriba el contenido de los archivos.

Respuesta1

Solución que funcionó para mí (si solo desea restaurar ACL y permisos pero no desea cambiar archivos):

cd /path/to/backup  # so that saved paths would be relative to backed up root
getfacl -R . > ~/facl.bak
cd /
setfacl --restore=/root/facl.bak

Respuesta2

Puedes usar rsync -avXen lugar de rsync -ad. Debería aplicar las ACL que falten sin volver a copiar el contenido del archivo.

Agregue la -ubandera para evitar actualizar archivos modificados y --existingpara evitar crear archivos nuevos (por ejemplo, cuando los eliminó en el destino).

información relacionada