Как я должен исправить владельцев и разрешения в пользовательской папке OS X?

9

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

Первоначальной причиной было то, что я переименовал пользователя, следуя инструкциям службы поддержки Apple по адресу http://support.apple.com/kb/HT1428.

После того, как новый пользователь был настроен, Mozy backup больше не будет резервировать, и многие мои приложения не могут обновляться автоматически. Приложение обычно начинало работать снова, если я удалил нарушающую программу и переустановил ее. Я думал, что это потому, что разрешения были неправильными, и я нашел несколько мест, где GetInfo указала, что разрешения ссылаются на старого пользователя. Иногда диалоговое окно просто говорит «Выборка» для имени пользователя и никогда не обновляется.

Я запустил Onyx "Fix Permissions" и Disk Utility "Repair Permissions" без результатов. С «Разрешениями на восстановление» он продолжает выдавать некоторые информационные предупреждения о неожиданных ACL, но информация, которую я мог найти в Интернете, не думала, что это вызовет такие проблемы.

Я попытался рекурсивно запустить некоторые сценарии командной строки для пользовательских папок (оба вошли в систему как root и использовали sudo). chmod получил много ошибок о том, что владелец файлов не прав. chown после этого дал мне другие ошибки (я не могу точно вспомнить, что они были). В приступе паники я щелкнул правой кнопкой мыши по всей папке пользователя и решил применить ее разрешения ко всем дочерним элементам.

Из того, что я могу сказать, когда я это сделал, я установил все для чтения и записи для этого пользователя и только для чтения для всех и для персонала . Теперь мне хуже, чем раньше. Firefox потерпел крах, и он не может даже обновить свои собственные настройки, поэтому он вызывает «Хотите ли вы восстановить эти вкладки» каждый раз, когда запускается, даже после неоднократного произнесения «Начать новый сеанс».

По сути, все в моей папке пользователя не работает с владельцем и разрешениями, и мне нужно знать, что они должны быть. Кто является владельцем файлов в каждом каталоге («Загрузки», «Приложения» и т. Д.) И какими должны быть разрешения? С учетом этих разрешений и владельцев, каков наилучший способ настройки?

Я видел вопрос, похожий на этот, при Сбросе разрешений пользователей в режим по умолчанию, но он касается только разрешений, а не владельцев, что уже было проблемой.

Я не уверен, что переустановка ОС поверх имеющейся у меня копии исправит что-либо, и я близок к тому, чтобы позвонить в службу поддержки Apple, если не смогу что-либо выяснить в ближайшие несколько дней. Спасибо за любую помощь.

cisellis
источник
Вы хотя бы выяснили, как это произошло? Что конкретно не так? ACL, метаданные или традиционные разрешения UNIX. Трудно охватить все одним ответом - особенно сбросить неизменяемые биты, если это необходимо.
bmike
И чтобы упростить устранение неполадок, я бы установил ОС на внешний диск, загрузился с него и смонтировал ваш «проблемный» диск, чтобы игнорировать разрешения и посмотреть, позволит ли rsync или что-то еще привести файлы в более чистое состояние. Затем вы можете удалить пользователя и скопировать его обратно - в соответствии с ACL нового пользователя и разрешениями на папки в ~ - осторожно перемещать содержимое, ~/Library/а не ~/Libraryсебя.
bmike
Я не уверен, кроме того, что я напечатал выше. Я ценю предложения, но я не очень опытный пользователь. Если это сложнее, чем несколько командных строк или утилит, я просто собираюсь отказаться и восстановить из резервной копии Time Machine.
Циселлис
Хороший план. При необходимости вы можете получить помощь от технического специалиста после восстановления резервной копии - обычно вы можете получить краткий список устаревших или отсутствующих вещей. Я рад, что у вас есть резервная копия :-)
bmike

Ответы:

10

Первым шагом, который я бы порекомендовал, является попытка сброса разрешений вашей домашней папки с помощью утилиты сброса пароля в Lion Recovery. (Несмотря на название утилиты, вы не будете сбрасывать пароли.)

Сброс разрешений домашней папки с помощью утилиты сброса пароля приведет к сбросу как владельца, так и разрешений.

  1. Перезагрузите Mac, удерживая +, Rчтобы загрузиться в Lion Recovery, который откроет вам экран Repair Utilities.

  2. Откройте Терминал из меню Утилиты.

  3. В Терминале введите, resetpasswordчтобы открыть утилиту сброса пароля.

  4. Выберите значок жесткого диска вверху, затем выберите своего пользователя в раскрывающемся меню ниже. Не сбрасывайте пароль здесь.

  5. В нижней части окна в разделе «Сброс разрешений и ACL для домашнего каталога» нажмите кнопку «Сброс». Это может занять некоторое время, если у вас есть много файлов в вашей домашней папке.

Это должно решить ваши проблемы с разрешениями для большинства приложений. Однако возможно, что у вас есть несколько приложений, которые сохранили файлы со специальными разрешениями, которые отличаются от разрешений пользователя по умолчанию (например, предпочтения или файлы поддержки приложений). Для этих приложений вам может потребоваться удалить их настройки или переустановить приложение.

Если сброс разрешений вашей домашней папки не работает, вам может потребоваться попытаться восстановить резервную копию или перенести данные на внешний диск.

joelseph
источник
Я пытаюсь это прямо сейчас. Пока он работает около 12 часов. У меня много файлов: P
cisellis
Это не сработало. Операция длилась более 48 часов, прежде чем я сдался и выключил ее. Возможно, это закончилось в какой-то момент, но не было никакого способа сказать.
cisellis
3

Запустить это

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null
davidcondrey
источник
Именно то, что я искал! Работает, если вы можете войти в систему для данного пользователя, и этот пользователь также является администратором. Как насчет восстановления домашнего каталога другого пользователя из другого аккаунта? (пользователь с проблемами разрешения может или не может быть администратором)
Unom
Перезагрузите компьютер, используя комбинацию клавиш запуска Cmd + R, чтобы открыть Утилиту восстановления, открыть Терминал в меню Утилиты, использовать команду resetpassword, выбрать жесткий диск и соответствующую учетную запись пользователя в раскрывающемся меню, выберите Сброс на сбросить разрешения домашнего каталога и ACL выбранной учетной записи пользователя.
ДэвидКондрей
2

Ваши проблемы в основном одинаковы. Не существует стандартных разрешений для файлов в вашем домашнем каталоге, все они зависят от их использования.

Фиксация разрешений приложений, скриптов и установок ОС не должна влиять на пользовательскую область, за исключением, возможно, изменения разрешений в домашнем каталоге. Установки ОС и большинство сценариев разрешений исправлений сравнивают разрешения и владельцев с тем, что требуется для чистой установки, и это не имеет обычных пользователей. Если бы они это сделали, я бы посчитал это серьезной ошибкой.

Исправление заключается в смене владельца файлов, то есть использовании chown в вашем домашнем каталоге. Владелец должен быть новым именем владельца.

Не существует общего способа получения разрешений обратно, поскольку отдельные файлы зависят от приложения, и все приложения могут отличаться.

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

user151019
источник
Хорошо. Я только что проверил мой домашний каталог и так очень много 777каталогов и забеспокоился.
nyxee
@nyxee, что странно, я бы ожидал 755 или 700
user151019
очень .... я начну редактировать разрешения по одному очень и очень медленно ..
nyxee
1

Мы столкнулись с одними и теми же проблемами с несколькими пользователями. После неудачной попытки все, что касается исправления разрешений, мы нашли решение. Для ясности проблемным пользователем является Джон Доу, а учетная запись пользователя (и домашний каталог) называется "johndoe".

  1. Убедитесь, что ваш пользователь root включен. Выйти
  2. Войдите в систему как пользователь root и сделайте резервную копию домашней папки johndoe (создание резервной копии домашней папки необязательно, но настоятельно рекомендуется на случай, если что-то пойдет не так)
  3. Открыть Системные настройки / Пользователи и группы
  4. Удалите пользователя johndoe - вам будет предложено узнать, что делать с домашним каталогом johndoe.
  5. ВАЖНО: выберите НЕ удалять каталог
  6. Перейдите в / Users и обратите внимание, что папка johndoe была переименована в "john doe (Удалено)"; переименуйте домашний каталог обратно в "johndoe"
  7. Вернитесь в Системные настройки / Пользователи и группы и заново создайте учетную запись Джона Доу.
  8. ВАЖНО: Убедитесь, что имя учетной записи пользователя является «john doe» или точно так, как вы назвали домашний каталог на шаге 6
  9. Вам будет предложено, что домашний каталог с таким именем уже существует, и если вы хотите использовать существующий домашний каталог
  10. Выберите да
  11. Перезапустите и войдите как John Doe
Pocho
источник
Я просто хочу поблагодарить вас. Это сработало в Snow Lion (компьютер моей жены) после неудачных попыток, таких как macissues.com/2014/04/11/…
Стив Самуэльс
0

Я добавляю один ответ, чтобы решить все. Что бы я ни делал с разрешениями, это было полностью испорчено. Я попробовал первый ответ, загрузившись в режиме восстановления и сбросив разрешения с помощью метода сброса пароля, но он работал в течение 48 часов, прежде чем я его убил, и не оказал заметного эффекта. Я попытался восстановить с Time Machine, и это тоже взорвалось, и я не смог восстановить резервную копию.

Я закончил резервное копирование всего вручную на внешний диск, отформатировал весь диск и переустановил Lion, переустановил все вручную и скопировал свои личные данные, такие как библиотека iPhoto и библиотеки iTunes, обратно вручную. iPhoto пришлось восстанавливать библиотеку, но она работала нормально, и у меня не было проблем. iTunes не удалось добавить музыку в библиотеку, пока я не воспользовался Дисковой утилитой для восстановления прав. Так как я скопировал только каталог iTunes Media, а не родительский каталог, он, похоже, все исправил.

Мораль истории: забудьте о Apple, не переименовывайте пользователей.

cisellis
источник
0

Это не проблема разрешения вообще! Ничто из того, что вы делаете с разрешениями, не исправит это, потому что разрешения уже настроены на чтение / запись, что является максимально допустимым.

Это проблема владельца; система не понимает, кому принадлежит файл, и не может решить проблему. Добавьте себя в качестве нового владельца, дайте себе разрешения на чтение / запись, а затем удалите оскорбительного «извлекающего» пользователя.

Гиб Генри
источник
0

Функция сброса разрешений Дисковой утилиты не влияет на ваш домашний каталог, поэтому здесь она не будет работать. Но у него также есть второй , скрытый инструмент сброса разрешений для вашего домашнего каталога. Вы используете его из терминала, как это:

diskutil resetUserPermissions / $(id -u)

(Источник: https://support.apple.com/en-us/HT203538 ).

Серебряный Волк - Восстановить Монику
источник