4

Я только что удалил Macports. После этого я сделал несколько случайных проверок в каталогах и обнаружил, что у некоторых файлов все еще есть Macports в качестве их владельца. Поэтому я сделал «поиск» по всем файлам, владельцами которых являются Macports, и был шокирован результатами. Тонны изображений, файлы Spotify, аварийные журналы, которые не имеют абсолютно никакого отношения к Macports, очевидно принадлежат Macports (в то время как Macports был удален в соответствии с их собственными инструкциями по удалению).

Теперь я ни в коем случае не являюсь хорошим администратором, но когда я что-то удаляю, было бы хорошо, если бы все вернулось в прежнее состояние. Кроме того, я даже не знаю, почему Macports стал владельцем всех этих файлов.

Так...

  1. Может кто-нибудь объяснить мне, как это могло произойти и что я могу сделать, чтобы это не повторилось, если я захочу снова использовать Macports.
  2. Как я могу безопасно вернуть право собственности? Проблема в том, что я даже не знаю, "кто" был владельцем файлов под рукой.

2 ответа2

3

Если файлы принадлежат вам, вы можете сделать что-то вроде этого:

sudo find ~ -user macports -exec chown $USER {} +

Я также удалил MacPorts, и у меня все еще был пользователь с именем macports , но не было принадлежащих ему файлов.

2

Я могу убедиться, что подобное явление произошло на моем 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .