He creado accidentalmente un usuario con un UID duplicado. Necesito consejos 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 una secuencia de comandos del instalador de paquetes y asigné incorrectamente un UniqueId existente al crear un nuevo usuario. El UniqueId coincide con el uid de mi propia cuenta. Ahora cuando inicio sesión en OSX (con mi propia cuenta), OSX ha perdido todos los ajustes de mi perfil (es decir, el Finder muestra el inicio para el nuevo usuario en lugar del mío, el navegador ha perdido mi historial, etc.).
Aunque OSX muestra el perfil para el nuevo usuario, Terminal reconoce correctamente al usuario con el que inicié sesión. Y, por lo tanto, puedo confirmar que mis archivos antiguos (es decir, documentos, descargas) todavía existen intactos.
Esto es lo que corrí para meterme 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?