Error al intentar crear una cuenta en modo de usuario único en OS X Mavericks

En OS X Mavericks, intento crear una cuenta usando el modo de usuario único, usando el siguiente script.

#! /bin/bash

# create user
dscl . -create /Users/hiddenuser
dscl . -create /Users/hiddenuser UserShell /bin/bash
dscl . -create /Users/hiddenuser RealName "Hidden User"
dscl . -create /Users/hiddenuser UniqueID "401"
dscl . -create /Users/hiddenuser PrimaryGroupID 20
dscl . -create /Users/hiddenuser NFSHomeDirectory /var/hiddenuser
dscl . -passwd /Users/hiddenuser password

Sin embargo, cuando ejecuto este script, obtengo 6 copias del mismo error:

/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist: No such file or directory

¿Cómo puedo solucionar esto? ¿Necesito descargar un nuevo /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist?

Gracias

Nota: he intentado cambiar 401 a otros valores por debajo de 501 y obtengo el mismo resultado.

@MarkWright Ayer publicó un script bash diferente en una pregunta eliminada mientras tanto. Incluya también la "segunda mitad".
Supongo que ha ejecutado los comandos: ¿ fsck -fyy mount -uwpara verificar el disco y luego montarlo con acceso de escritura? Es posible que también deba anteponer cada comando con sudo.
@Klanomath es la primera mitad la que está causando los errores. ¿Debería publicar la segunda mitad?
@IconDaemon sí lo hice /sbin/fsck -fyy mount -uw /. Intenté anteponer sudocada comando, pero recibo los mismos mensajes de error.
¿ ls -l /System/Library/LaunchDaemonsEnumera algunos plists o te da un error de "No existe tal archivo..."?
@patrix Puedo enumerar el directorio LaunchDaemons, y tiene muchos com.apple.<algo>, parece que solo falta el DirectoryServicesLocal.plist.
¿Se creó realmente el usuario? HT4749 implica que puede ignorar el mensaje de error (suponiendo que haya iniciado OpenDirectory primero)

Respuestas (1)

Después de comenzar en el modo de usuario único, ingrese:

/sbin/fsck -fy
/sbin/mount -uw /

Inicie opendirectoryd:

launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist

/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist ya no existe.

Luego ejecuta:

dscl . -create /Users/hiddenuser
dscl . -create /Users/hiddenuser UserShell /bin/bash
dscl . -create /Users/hiddenuser RealName "Hidden User"
dscl . -create /Users/hiddenuser UniqueID "401"
dscl . -create /Users/hiddenuser PrimaryGroupID 20
dscl . -create /Users/hiddenuser NFSHomeDirectory /var/hiddenuser
dscl . -passwd /Users/hiddenuser password

Los comandos arrojan errores pero el usuario se crea correctamente. Ejecutar /bin/bash /path/to/script.shdirectamente después de cargar opendirectoryd no funcionó para mí sin razón aparente. ¡Sin embargo, en un segundo intento con un UID> 500 funcionó!

En Yosemite y versiones más recientes de OS X, no se recomienda crear un usuario oculto como este. En su lugar, use un UniqueID gratuito> 500 y use un comando adicional:

dscl . -create /Users/hiddenuser IsHidden 1
Solo te doy una recompensa: me ayudaste muchísimo, ¡y lo aprecio mucho!
@MarkWright Muchas gracias ;-)