Fehler beim Versuch, ein Konto im Einzelbenutzermodus unter OS X Mavericks zu erstellen

Unter OS X Mavericks versuche ich, mit dem folgenden Skript ein Konto im Einzelbenutzermodus zu erstellen.

#! /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

Wenn ich dieses Skript jedoch ausführe, erhalte ich 6 Kopien desselben Fehlers:

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

Wie behebe ich das? Muss ich eine neue /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist herunterladen?

Danke

Hinweis: Ich habe versucht, 401 in andere Werte unter 501 zu ändern, und ich erhalte das gleiche Ergebnis.

@MarkWright Sie haben gestern in einer inzwischen gelöschten Frage ein anderes Bash-Skript gepostet. Bitte fügen Sie auch die „zweite Hälfte“ hinzu.
Ich nehme an, Sie haben die Befehle ausgeführt: fsck -fyund mount -uwdie Festplatte zu überprüfen und sie dann mit Schreibzugriff zu mounten? Möglicherweise müssen Sie auch jedem Befehl ein voranstellen sudo.
@Klanomath es ist die erste Hälfte, die die Fehler verursacht. Soll ich die zweite Hälfte trotzdem posten?
@IconDaemon ja habe ich /sbin/fsck -fyund mount -uw /. Ich habe versucht, sudojedem Befehl voranzustellen, aber ich erhalte die gleichen Fehlermeldungen.
Listet ls -l /System/Library/LaunchDaemonses einige Listen auf oder gibt es den Fehler "Keine solche Datei ..."?
@patrix Ich kann das LaunchDaemons-Verzeichnis auflisten, und es hat viele com.apple.<something>'s, es scheint nur das DirectoryServicesLocal.plist zu fehlen.
Wurde der Benutzer tatsächlich erstellt? HT4749 impliziert, dass Sie die Fehlermeldung ignorieren können (vorausgesetzt, Sie haben OpenDirectory zuerst gestartet)

Antworten (1)

Geben Sie nach dem Start im Einzelbenutzermodus Folgendes ein:

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

opendirectoryd starten:

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

/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist existiert nicht mehr!

Dann ausführen:

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

Die Befehle führen zu Fehlern, aber der Benutzer wird ordnungsgemäß erstellt. Das Ausführen /bin/bash /path/to/script.shdirekt nach dem Laden von opendirectoryd hat bei mir ohne ersichtlichen Grund nicht funktioniert. Beim zweiten Versuch mit einer UID >500 hat es aber geklappt!

In Yosemite und neueren OS X-Versionen wird das Erstellen eines versteckten Benutzers wie diesem nicht empfohlen. Verwenden Sie stattdessen eine freie UniqueID >500 und verwenden Sie einen zusätzlichen Befehl:

dscl . -create /Users/hiddenuser IsHidden 1
Ich gebe Ihnen einfach ein Kopfgeld - Sie haben mir sehr geholfen, und ich weiß das sehr zu schätzen!
@MarkWright Vielen Dank ;-)