¿Cómo elimino un usuario a través del modo de usuario único en 10.7?

Ocasionalmente, configuraré la máquina de un usuario que ha estado en reparación más allá de la simple reinstalación del sistema operativo. Por ejemplo: instale un nuevo disco duro, instale el sistema operativo, cree un usuario, instale actualizaciones y luego reinicie en modo de usuario único ejecutando una serie de comandos para eliminar a ese usuario y devolver la máquina al cliente con el video de bienvenida al arrancar.

A continuación se encuentran los comandos para 10.5 y 10.6 que he usado a lo largo de los años, que es un recorrido para que cualquier técnico lo logre, independientemente de la experiencia. El 10.5 también ha funcionado con el 10.6, a excepción de la línea 8 o 9 debido a algunos cambios.

Me gustaría encontrar una lista de comandos o un script o algo que sea la forma más adecuada y eficiente de hacer esto en 10.7. Elimine el usuario, elimine cualquier rastro del mismo y, en el siguiente arranque, vuelva a la pantalla de configuración del nuevo usuario.

Removing a user and returning to the account setup screen (10.5)
  1.  + s en el arranque (modo de usuario único)
  2. montar -uw /
  3. launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist
  4. dscl -f /var/db/dslocal/nodos/Predeterminado

El símbolo del sistema cambia a la herramienta de línea de comandos de servicios de directorio

  1. cd Local/Predeterminado/Usuarios

ls - genera una lista

  1. borrar
  2. cd ../Grupos
  3. eliminar administrador GroupMembership
  4. eliminar miembros del grupo del personal
  5. salida

Ahora se encuentra en el símbolo del sistema normal

  1. rm /var/db/.AppleSetupDone
  2. rm -rf /Usuarios/

Elige uno

  1. apagar -h ahora (Apagar)
  2. shutdown -r now (Apagar y reiniciar)
¿Qué parte de esto no funciona en 10.7?
Línea 3. La salida no se pudo establecer ("/System/Library/LaunchDaemons/com.apple.DirectoryServices.plis"): No se encontró ningún archivo o directorio para cargar
Eso ha sido reemplazado por opendirectoryd, así que intente /System/Library/LaunchDaemons/com.apple.opendirectoryd.plisten su lugar.

Respuestas (1)

Hay varios problemas con el script que publicaste.

No elimine /Users/Shared: iTunes lo necesita y fallará en ciertas operaciones de almacenamiento y uso compartido .

dscl en Lion seguirá gimiendo si lo inicia (busca el plist que falta), incluso si lo inicia /System/Library/LaunchDaemons/com.apple.opendirectoryd.plistcomo sugirió Ingmar Hupp .

Nunca me preocupé por limpiar los grupos desde que eliminé el usuario 501. El sistema simplemente agregará el UID 501 nuevamente a los grupos de administración y personal la próxima vez que se inicie el asistente de configuración, así que hago lo siguiente: ( suponga que el nombre abreviado del usuario 501 es prueba)

  1. +S
  2. /sbin/mount -uw /
  3. cd /var/db/dslocal/nodes/Default/users/
  4. rm test.plist
  5. rm -rf /Users/test
  6. rm /var/db/.AppleSetupDone
  7. halt

Utilizo el Panel de preferencias de usuarios y grupos oficial para eliminar todos los usuarios excepto 501 y/o crear el usuario de prueba como 501 según sea necesario, ya que launchd puede tener trabajos atascados si los usuarios que está borrando no son usuarios triviales configurados para actualizaciones simples como tu caso lo permite.

Evitaría guardar una contraseña de Wi-Fi o configurar Wi-Fi fuera de la cuenta de usuario o usar Ethernet para sus actualizaciones si quiere ser quisquilloso al dejar la menor parte de su configuración (especialmente si el SSID/nombre no es genérico como Apple Network o tiene claves WEP/WPA).