修复具有相同ID的两个用户组


2

突然,我的主目录不在组messagebus中了staff
(我为此责怪texlive,但没有证据。)

问题是两个组具有相同的ID:

$ dscl . -read /Groups/staff
AppleMetaNodeLocation: /Local/Default
GeneratedUID: ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000014
GroupMembers: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000
GroupMembership: root
Password: *
PrimaryGroupID: 20
RealName: Staff
RecordName: staff BUILTIN\Users
RecordType: dsRecTypeStandard:Groups
SMBSID: S-1-5-32-545

$ dscl . -read /Groups/messagebus
AppleMetaNodeLocation: /Local/Default
GeneratedUID: CF898A47-EA83-4E18-AE17-C05E56FBC550
Password: *
PrimaryGroupID: 20
RealName: messagebus
RecordName: messagebus
RecordType: dsRecTypeStandard:Groups

摆脱messagebus群组(或为其提供其他ID)的安全方法是什么?
这里的“安全”当然意味着我不会伤害我的staff团队。


我只是遇到了完全相同的问题。texlive是什么?我不确定我有没有。我正在运行OS X Mavericks。
2013年

texlive是用于编辑TeX / LaTeX文档的程序套件。如果不确定,则可能没有。也许是我把错归咎于软件错了:-)
Ruben Verborgh

在那种情况下,我怀疑问题是由最近(自动)的OS X更新引起的吗?也许远程桌面客户端3.7.1(support.apple.com/kb/HT6045),因为这似乎是在我注意到问题之前应用于我的计算机的最新更新。
2013年

有可能,但是我希望更多的人有这个问题。似乎很少见。
Ruben Verborgh 2013年

这发生在我身上。我认为大多数用户对他们的文件组不是很了解。
James Roth

Answers:


2

使用find命令(并保存输出列表。这可能需要一段时间)

查找/ -group messagebus -print

以确保以后可以使用chgrp命令更正文件的所有权。

使用以下

dscl。更改/ Groups / messagebus PrimaryGroupID 20 10000


员工和messafebus之间的区别如何?是否使用gid来查找组?
2013年

find所示,文件所在的目录应有助于识别文件组。例如,如果/ Users / xxx中有一个文件,则该文件应属于staff,但如果/ Applications中的文件,则可以保留messagebus。如果可用,Time Capsule备份也可以提供帮助。
user63628 2013年

但是文件中存储的数据是gid,即两种情况下均为20(或者HFS是否与其他Unix文件系统有所不同)
标记

谢谢,dcsl命令正是我想要的。重新启动后,组将正确显示为staff。@Mark是正确的;在find没有显示出与GID 20中的所有文件,所以这基本上是我所有的家庭档案。无法区分它们和messagebus组中应实际存在的文件。
Ruben Verborgh 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.