Я могу убедиться, что подобное явление произошло на моем Mac: у меня установлен MacPorts 2.3.3 (на OS X 10.9.5), и пользователь macports
недавно приобрел много на первый взгляд случайных файлов на внешнем диске, которые я регулярно использую, включая медиа-файлы и приложения.
Я заметил проблему, потому что внезапно сегодня я не мог загрузить из Firefox в мою назначенную папку загрузок, которая находится на внешнем диске; Изучив папку загрузок, я заметил, что пользователь и группа папки были изменены на macports
и доступны только для чтения другим пользователям. После некоторых поисков я обнаружил, что пользователь macports
установил ряд других файлов на внешнем диске, не связанных с MacPorts.
Предыдущий ответ работал для меня, например:
sudo find /Volumes/External -user macports -exec chown $USER {} +
Однако это только меняет пользователя, и мне нужно было также изменить группу, например:
sudo find /Volumes/External -group macports -exec chown :staff {} +
В билете MacPorts # 41039 обсуждается похожая проблема, и она может пролить некоторый свет на происхождение проблемы: https://trac.macports.org/ticket/41039
Обновление: я определил, что вероятной причиной проблемы, в моем случае, является то, что я иногда подключаю свой внешний диск к другим компьютерам Mac, и на одном из этих компьютеров Mac (назовем это Computer B) используемая учетная запись пользователя имеет uid = 502 (MacPorts не установлен на компьютере B). Пользователь macports
на другом компьютере (назовем его «Компьютер A», на котором установлен MacPorts) также имеет uid = 502. Таким образом, после того, как я использовал внешний диск на компьютере B, позже, когда я смонтировал внешний диск на компьютере A, любые файлы, которые я создал или изменил на компьютере B, будут иметь пользовательский и групповой macports
на компьютере A.
Так, например, любые файлы, которые были созданы на другом компьютере с uid = 502, а затем скопированы на компьютер, на котором установлен MacPorts (где пользователь macports
имеет uid = 502), будут принадлежать пользователю macports
на этом компьютере. Или, если у вас когда-то была учетная запись пользователя на вашем компьютере с uid = 502, но затем вы удаляете эту учетную запись и позже устанавливаете MacPorts, а затем пользователь macports
использует uid = 502, все остальные файлы, которые когда-то принадлежали удаленному пользователю учетная запись теперь будет принадлежать пользователю macports
.