dscl . create /Users/test dscl . create /Users/test UniqueID 420 dscl . create /Users/test PrimaryGroupID 420 dscl . create /Users/test UserShell /bin/bash dscl . create /Users/test NFSHomeDirectory /tmp dscl . create /Users/test RealName Test dscl . create /Users/test Password test
Dadurch wird ein Benutzer erstellt, der in Sysprefs / Accounts sichtbar ist.
dscl . create /Users/test Password "*"
Dies verbirgt den Benutzer. Stellen Sie sicher, dass Sie das "*" angeben, sonst funktioniert es nicht.
EDIT : Ich habe es versehentlich geschafft, Googletorps Situation wiederherzustellen, einen Benutzer nicht verstecken zu können, indem er sein Kennwort auf "*" gesetzt hat, und ich habe herausgefunden, wie man das Problem beheben kann. Dieses Mal hatte ich einen Benutzer mit dsimport erstellt, wie folgt:
dsimport /dev/fd/0 /Local/Default I --template StandardUser << EOF test:*:520:520:Test user:/Users/test:/bin/bash EOF
In diesem Befehl wird das * jedoch als ein aus einem Zeichen bestehendes wörtliches Kennwort von repräsentiert. *
Daher erstellt dsimport eine AuthenticationAuthority-Eigenschaft für den Benutzer und legt die password -Eigenschaft auf den Shadow-Hash von fest *
(der wie ********
in dscl wie bei allen angezeigt wird Passwörter). Wenn Sie versuchen, das Kennwort mit dscl auf "*" zu setzen, wird das Kennwort immer auf ein Literal gesetzt *
, anstatt das Kennwort zu deaktivieren. Die Lösung besteht darin, die unerwünschte Eigenschaft zu löschen und anschließend das Kennwort zu deaktivieren:
sudo dscl . delete /Users/test AuthenticationAuthority sudo dscl . create /Users/test Password "*"
Dies verbirgt den Benutzer.