Почему OS X Lion запрашивает мой пароль, когда я удаляю файл в моем домашнем каталоге?

18

Я обновился до Mac OS Lion и теперь каждый раз, когда удаляю какой-либо файл, он запрашивает у меня пароль. Любой файл - будь то на рабочем столе, в папке загрузок или в любом другом месте. Каждый раз он запрашивает мой пароль.

Такое поведение раздражает. Это новый дефолт? Или что-то не так?

Редактировать:

Например: это файл, который находится на рабочем столе .

➜  Desktop  l | grep terminal
-rw-r--r--@   1 Nerian  staff   841913 22 jul 14:16 terminal.png

Редактировать:

Кажется, что у многих людей такая же проблема:

https://discussions.apple.com/thread/3199093?start=0&tstart=0

https://discussions.apple.com/thread/3197928?start=0&tstart=0

Редактировать:

Я могу удалить тот же файл - снимок экрана на рабочем столе - используя терминал, и мне не предлагается пароль. Если я использую графический интерфейс, то мне будет предложено.

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

Когда у меня запрашивают пароль и я пишу его, файл удаляется, но не появляется в корзине.

Nerian
источник
как отформатирован ваш диск?
Эндрю Воннакотт
Кроме того, определить любой файл? только в вашей домашней папке? как насчет съемных носителей? и попробуйте создать новую учетную запись?
Эндрю Воннакотт
@ Андрей: любой файл в моем домашнем каталоге. Например, я делаю скриншот. Я пытаюсь удалить файл, и он запрашивает мой пропуск.
Нериан
@ Андрей: я подключил диск и удалил файл. Он не запросил у меня пароль.
Нериан
@ Андрей: я создал новую учетную запись. Сделал скриншот и попытался удалить файл. Он не запрашивал ни одного пароля.
Нериан

Ответы:

28

Проблема заключалась в том, что .Trashпапка в каталоге моего пользователя принадлежала пользователю root.

➜  ~  l | grep .Trash
drwx------   82 root    staff    2788 25 jul 17:26 .Trash

Чтобы вернуть право владения моему пользователю, введите следующую команду:

➜  ~  sudo chown your_user_name ~/.Trash 
Nerian
источник
Может быть, затронуты также подпапки: я бы предложил рекурсивный chown: "sudo chown -R you ~ / .Trash"
математика,
Работал как шарм! Любая идея относительно того, как это может быть испорчено?
Joost
что такое "->"? не работает
Вячеслав Герчиков
Это просто подсказка консоли. Игнорируй это.
Нериан,
4

Перейдите /Usersи выберите свою домашнюю папку. Нажмите Cmd+Iна информационную панель для этой папки и разверните Общий доступ и Разрешения .

Рядом с вашим именем пользователя вы должны увидеть Read & Write . Теперь это разрешение не распространяется всегда на вложенные папки. Вам нужно нажать на свое имя пользователя, а затем вниз на колесико и кнопку со стрелкой и выбрать из выпадающего меню «Применить к вложенным папкам» .

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

и я
источник
3

У меня была похожая проблема, и я нашел решение здесь: https://discussions.apple.com/thread/3195797?start=0&tstart=0 - это была проблема с ACL, а не с разрешениями.

[...] Finder запрашивает пароль, когда я пытаюсь переместить любой файл из моего $ HOME в корзину. Оказывается, у меня были установлены странные списки ACL [...]:

$ ls -le .DS_Store 
-rw ------- + 1 боб персонала 24580 7 августа 01:04 .DS_Store
0: группа: все отрицают удаление

$ chmod -a "group:everyone deny delete" .DS_Store

После chmod удаление файла foo.txt завершилось успешно. Выполнение [команды chmod] с -R в $ HOME удалит этот ACL из всех объектов в $ HOME.

[то есть chmod -R -a "group:everyone deny delete" Foo/]

терраса
источник
2

Одна из причин, по которой вы увидите приглашение аутентификации SU при удалении, заключается в том, что у вас могут быть включены ACL. Они дополняют набор разрешений UNIX fs, доступных в Mac OS.

Откройте Терминал и перейдите в папку, с которой у вас проблемы. Тип:

ls -ale

Обратите внимание, если у вас есть записи, такие как:

drwxr-xrwx+ 31 myname  staff     1054 Apr 15 14:19 Documents
 0: group:everyone deny delete

если вы это сделаете, вы можете исправить их с помощью следующей команды:

chmod -N filename

Это удалит ACL из этого файла / папки. После того, как вы скопируете его под своим пользователем (если вы выполняете миграцию пользователя, как я), он наследует ACL верхнего уровня пользователей.

Чтобы рекурсивно удалить все ACL из папки:

chmod -R -N

Ура!

Stephan
источник
Спасибо, chmod - Nрешил мою проблему
Lamnk
1
  1. Перезагрузите MacBook, и, прежде чем услышать звонок, удерживайте клавиши «Command» и «R».

  2. Вы будете на экране Repair Utilities. Щелкните пункт «Утилиты» в строке меню, затем нажмите «Терминал».

  3. В окне терминала введите resetpassword и нажмите Return.

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

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

Процесс сброса занимает всего пару минут. Когда это будет сделано, выйдите из программ, которые вы открыли, и перезапустите ваш Mac.

шампанское
источник
1

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

kjco
источник
0

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

Йоси Тагури
источник
0

Загрузите (купите или демо) приложение MacPilot. Используйте инструменты - Общие - Файлы и папки - Wipe Access Control List Data - выберите свою домашнюю папку

aomasic
источник
1
Это не помогло бы здесь. ACL отделены от обычных прав доступа к файлам Unix.
Даниэль Бек
0

Вы, вероятно, уже сделали это, но убедитесь, что у вас есть права на запись в файлы, которые вы удаляете. Выберите один из них в Finder и нажмите cmd+ iи посмотрите в разделе «Общий доступ и разрешения».

Из того же окна убедитесь, что папка / файл не заблокирована.

Кроме того, щелкните Apply to enclosed items..в раскрывающемся списке передач для выбранного имени.

Юкка Хаав
источник
Это говорит о том, что у моего пользователя есть права на запись и чтение. Также он не заблокирован. Проверьте мои изменения, чтобы увидеть подробный вывод.
Нериан