Внезапно мой домашний каталог оказывается в группе messagebus
вместо обычного staff
.
(Я виню в этом texlive, но у меня нет доказательств.)
Проблема в том, что обе группы имеют одинаковый идентификатор:
$ 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
группы (или присвоить ей другой идентификатор)?
«Безопасный» здесь означает, конечно, что я не причиняю вреда своей staff
группе.
Используйте команду find (и сохраните выходной список. Это может занять некоторое время)
найти / -group messagebus -print
чтобы гарантировать, что права собственности на файлы могут быть исправлены позже с помощью команды chgrp .
Следующее может быть использовано
дскл . -change /Groups/messagebus PrimaryGroupID 20 10000
dcsl
команда именно то, что я искал. После перезапуска группы отображаются правильно как staff
. @Mark был прав; действительно find
отображались все файлы с gid 20, так что это были в основном все мои домашние файлы. Никак не отличить их от файлов, которые на самом деле должны были быть в группе messagebus
.
Кал
Рубен Верборг
Кал
Рубен Верборг
Джеймс