He creado accidentalmente un usuario con un UID duplicado. Necesito consejo sobre cómo solucionar este problema.
Como puede ver, la ejecución de dscl muestra dos usuarios con el mismo uid:
dscl . -list /Users uid | sort -nrk 2
jenkins 9999
original-user 9999
Esto sucedió porque estaba ajustando un instalador de paquetes script y asigné incorrectamente un UniqueId existente al crear un nuevo usuario. El UniqueId coincide con el uid de mi propia cuenta. Ahora cuando me conecto a OSX (con mi propia cuenta), OSX ha perdido toda la configuración de mi perfil (es decir, el Finder muestra la casa del nuevo usuario en lugar de la mía, el navegador ha perdido mi historial, etc).
Aunque OSX muestra el perfil del nuevo usuario, Terminal reconoce correctamente el usuario con el que me he conectado. Y por lo tanto soy capaz de confirmar mis viejos archivos (es decir, Documento, Descargas) todavía existen intactos.
Esto es lo que corrí para ponerme en esta situación:
uid=9999
gid=$uid
while dscl -search /Groups gid $gid | grep -q $gid; do
echo "gid $gid is not free, trying next"
gid=$(($gid + 1))
done
echo "Using gid $gid for jenkins"
dscl . -create /Groups/jenkins PrimaryGroupID $gid
dscl . -create /Users/jenkins UserShell /bin/bash
dscl . -create /Users/jenkins Password '*'
dscl . -create /Users/jenkins UniqueID $uid
dscl . -create /Users/jenkins PrimaryGroupID $gid
dscl . -create /Users/jenkins NFSHomeDirectory "$JENKINS_HOMEDIR"
dscl . -append /Groups/jenkins GroupMembership jenkins
¿Cómo puedo recuperarme?