Migración a una nueva cuenta de usuario: debe chown los archivos antiguos de la cuenta ... Creo

1

¿Hay una manera de chown selectivamente los archivos / carpetas que son propiedad de un usuario en particular, mientras deja otros archivos / carpetas sin tocar? Estoy en el proceso de migrar a una cuenta de usuario nueva en mi máquina. Copié lo que necesito del directorio de inicio del usuario anterior y lo reprendí recursivamente, como se describe en una página de soporte de Apple . La página de soporte no hace mención de archivos / carpetas de chown en otros lugares de la máquina, pero he encontrado muchas cosas en otras ubicaciones que son propiedad del usuario anterior:

  • / Aplicaciones (muchas cosas)
  • / Library (muchas cosas)
  • / private / var / tmp (un pequeño lote)
  • / private / var / vm / app_profile / (2 archivos)
  • / usr / local / clamXav / (1 archivo fácilmente reemplazable)
  • / usr / local / lib / codec / (4 archivos / carpetas)

Estoy planeando eliminar al usuario anterior una vez que esté seguro de que todo está funcionando, y no estoy seguro de qué pasaría si algunos archivos críticos son propiedad de un usuario eliminado. El usuario anterior era una cuenta de administrador, si eso importa. Ah, y estoy ejecutando OSX 10.4.11 en un PPC mac, si eso importa.

Cualquier ayuda apreciada :)

    
pregunta ivan 04.10.2012 - 06:02

1 respuesta

1

Puede verificar y reasignar la propiedad recursivamente sobre un árbol de directorios con find , stat y chown .

#!/bin/bash

olduser=<oldusername> # replace this with your old username
newuser=<newusername> # replace this with your new username
dir=<dir> # replace this with the directory you want to run through

find $dir | while read filename
do
  owner=$(stat "$filename" | cut -d ' ' -f 5)
  if [ $owner == $olduser ]
  then
    chown $newuser $filename
  fi
done
    
respondido por el colons 04.10.2012 - 12:33

Lea otras preguntas en las etiquetas