我已经为我们本地 Mac 电脑的“管理员”组添加了一个网络组(“工作组”),因此网络用户可以使用以下命令管理本地 Mac。
dseditgroup -o 编辑 -u 本地管理员 -P -a 工作组 -t 组管理员
但是,我已将本地 mac 绑定到新的 OD 服务器。我已成功将新的网络管理员组添加到本地组,但我想删除旧组。我似乎无法做到这一点 - 它只会删除新加入的 OD 服务器的“工作组”,而不会删除旧组。
dseditgroup -o 编辑 -u 本地管理员 -P 通过 -d 工作组 -t 组管理员
我是否必须重新加入旧服务器才能摆脱此工作组条目?如果我离开它并关闭旧的 OD 服务器,这会导致客户端出现任何问题/错误吗?
答案1
如果您将客户端与旧的 OD 服务器解除绑定,则本地管理员组中的剩余条目不会造成任何重大问题。但是,如果您想清理它,则需要使用旧组的 GeneratedUID(又名 GUID 又名 UUID)而不是其名称来执行此操作。如果您仍有旧服务器,您可以在那里查找它,否则您必须通过排除法找到它。首先,使用 dscl 读取本地管理员组的属性:
$ dscl . -read /Groups/admin
AppleMetaNodeLocation: /Local/Default
GeneratedUID: ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000050
GroupMembers: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000 1D323FC9-8FBE-4DE7-90C0-8BB50E62429C
GroupMembership: root gordon
NestedGroups: B3060C2C-92F4-4003-AC40-F2AEF9008670 F09152B4-7FE7-4509-9886-18141F4F598F
Password: *
PrimaryGroupID: 80
RealName: Administrators
RecordName: admin BUILTIN\Administrators
RecordType: dsRecTypeStandard:Groups
SMBSID: S-1-5-32-544
这里您真正关心的唯一属性是 NestedGroups —— 这些是嵌套在本地管理员组中的组的 GeneratedUID。如果您要通过排除法,则必须像这样查找它们:
$ dscl /Search -search /Groups GeneratedUID B3060C2C-92F4-4003-AC40-F2AEF9008670
$ dscl /Search -search /Groups GeneratedUID F09152B4-7FE7-4509-9886-18141F4F598F
Workgroup GeneratedUID = (
"F09152B4-7FE7-4509-9886-18141F4F598F"
)
在这个例子中,第一个 GeneratedUID 与任何当前可见的组都不匹配,而第二个匹配;所以第一个几乎肯定是剩下的。
一旦找到旧组的 GeneratedUID,就可以使用 dscl 将其删除:
$ sudo dscl . -delete /Groups/admin NestedGroups B3060C2C-92F4-4003-AC40-F2AEF9008670
使用该命令时要非常小心。如果你犯了一点小错误,可能会造成灾难性的后果(例如,如果你在“/Groups/admin”后按回车键,它会删除整个本地管理员组)。如果你对此不满意,你可以在 Directory Utility 的 Directory Editor 中执行相同的操作。(Directory Utility 有点隐藏;它位于 /System/Library/CoreServices/Directory Utility.app 中)