Erro ao tentar criar uma conta no modo de usuário único no OS X Mavericks


3

No OS X Mavericks, estou tentando criar uma conta usando o modo de usuário único, usando o script a seguir.

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

No entanto, quando executo esse script, recebo 6 cópias do mesmo erro:

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

Como faço para corrigir isso? Preciso baixar um novo arquivo /System/Library/LaunchDaemons/com.apple.DirectoryServices Local.plist?

obrigado

Nota: Eu tentei alterar 401 para outros valores abaixo de 501, e estou obtendo o mesmo resultado.


1
@MarkWright Você postou um script bash diferente ontem em uma pergunta deletada enquanto isso. Por favor inclua também a "segunda metade".
klanomath

1
Eu suponho que você tenha executado os comandos: fsck -fy e mount -uw verificar o disco e montá-lo com acesso de gravação? Você também pode precisar iniciar cada comando com sudo.
IconDaemon

1
Faz ls -l /System/Library/LaunchDaemons listar algumas plists ou lhe dá um erro "Não existe tal arquivo ..."?
nohillside


1
O usuário foi criado realmente? HT4749 implica que você pode ignorar a mensagem de erro (supondo que você tenha iniciado o OpenDirectory primeiro)
nohillside

Respostas:


5

Depois de iniciar no modo de usuário único, digite:

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

Inicie o opendirectoryd:

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

/System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist não existe mais!

Então execute:

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

Os comandos geram erros, mas o usuário é criado corretamente. Executando /bin/bash /path/to/script.sh diretamente após o carregamento opendirectoryd não funcionou para mim sem motivo aparente. Em uma segunda tentativa usando um UID & gt; 500, funcionou!

Em Yosemite e versões mais recentes do OS X criar um usuário oculto como esse não é recomendável. Em vez disso, use um UniqueID & gt; 500 gratuito e use um comando adicional:

dscl . -create /Users/hiddenuser IsHidden 1


Apenas dando-lhe uma recompensa - você me ajudou muito, e eu agradeço muito!
thepiercingarrow

@ MarkWright Thanx muito ;-)
klanomath
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.