
Ich versuche, Benutzerkontodaten in OSX 10.13.3 zu ändern, beispielsweise GeneratedUID oder UID.
Mit dem Verzeichnisdienstprogramm können wir jeden Wert ändern und speichern. Ich bin sicher, dass das Verzeichnisdienstprogramm eine Art Datenbankdatei oder plist-Datei verwendet, und ich denke, wir können entsprechende Werte auch mit einem Befehl ändern, zum Beispiel mit dscl . -change
einem Befehl, aber ich kann anscheinend keine zugehörigen Informationen darüber finden, wohin dieser Befehl verweisen soll
Ich nehme an, ich sollte verwenden
dscl . -change record_path key old_val new_val
aber was ist record_path
hier? Weiß jemand, wie die Datei heißt, die das Verzeichnisdienstprogramm verwendet? Oder sogar, wie man die Konto-GUID mit dem Befehl dscl ändert?
Antwort1
record_path
ist normalerweise/Users/<username>
So können Sie beispielsweise die UniqueID für den Benutzer "david" von 511 auf 503 ändern.
dscl . -change /Users/david UniqueID 511 503
und ihre PrimaryGroupID von 1000 auf 1003 zu ändern
dscl . -change /Users/david PrimaryGroupID 1000 1003
Die plist-Dateien für diese Informationen werden hier gespeichert: -
/private/var/db/dslocal/nodes/Default/users