Erreur lors de la tentative de création d'un compte en mode mono-utilisateur sous OS X Mavericks

3

Sur OS X Mavericks, j'essaie de créer un compte en mode mono-utilisateur, à l'aide du script suivant.

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

Cependant, lorsque je lance ce script, je reçois 6 copies de la même erreur:

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

Comment puis-je réparer ça? Dois-je télécharger un nouveau / System / Library / LunchDaemons / com.apple.DirectoryServicesLocal.plist?

Merci

Remarque: j'ai essayé de remplacer 401 par d'autres valeurs inférieures à 501 et j'obtiens le même résultat.

Thepiercingarrow
la source
1
@MarkWright Vous avez posté un script bash différent hier dans une question entre-temps supprimée. S'il vous plaît inclure également la "deuxième moitié".
klanomath
1
Je suppose que vous avez exécuté les commandes: fsck -fyet mount -uwpour vérifier le disque puis le monter avec un accès en écriture? Vous devrez peut-être aussi faire précéder chaque commande par sudo.
IconDaemon
1
Est-ce que la ls -l /System/Library/LaunchDaemonsliste des plists ou est-ce que cela vous donne une erreur "No such file ..."
nohillside
2
Voir également support.apple.com/fr-fr/HT4749
nohillside
1
L'utilisateur a-t-il été créé réellement? HT4749 implique que vous pouvez ignorer le message d'erreur (en supposant que vous ayez démarré OpenDirectory en premier)
nohillside

Réponses:

5

Après avoir démarré en mode mono-utilisateur, entrez:

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

Lancer opendirectoryd:

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

/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist n'existe plus!

Puis exécutez:

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

Les commandes génèrent des erreurs mais l’utilisateur est correctement créé. Exécuter /bin/bash /path/to/script.shdirectement après le chargement de opendirectoryd n'a pas fonctionné pour moi sans raison apparente. Lors d'une seconde tentative avec un UID> 500, cela a fonctionné!

Dans Yosemite et les versions plus récentes d’OS X, la création d’un utilisateur masqué comme celui-ci n’est pas recommandée. À la place, utilisez un identifiant unique gratuit> 500 et utilisez une commande supplémentaire:

dscl . -create /Users/hiddenuser IsHidden 1
Klanomath
la source
Continuons cette discussion sur le chat .
thepiercingarrow
Je vous donne juste une prime - vous m'avez beaucoup aidé et je l'apprécie énormément!
thepiercingarrow
@ MarkWright Merci beaucoup ;-)
klanomath