
OSX 10.13.3 でユーザー アカウント データ (GeneratedUID や UID など) を変更しようとしています。
ディレクトリユーティリティを使用すると、任意の値を変更して保存できます。ディレクトリユーティリティは何らかのデータベースファイルまたはplistファイルを使用していると確信しており、コマンドを使用して対応する値を変更することもできると思います。たとえば、dscl . -change
コマンドですが、そのコマンドがどこを指すべきかに関する関連情報が見つからないようです。
私は使用すべきだと思います
dscl . -change record_path key old_val new_val
しかし、record_path
ここには何があるのでしょうか? ディレクトリ ユーティリティが使用するファイルの名前を知っている人はいますか? または、dscl コマンドを使用してアカウント GUID を変更する方法も知っていますか?
答え1
record_path
通常は/Users/<username>
たとえば、ユーザー「david」のUniqueIDを511から503に変更するには
dscl . -change /Users/david UniqueID 511 503
PrimaryGroupIDを1000から1003に変更する
dscl . -change /Users/david PrimaryGroupID 1000 1003
この情報の plist ファイルはここに保存されます:-
/private/var/db/dslocal/nodes/Default/users