Розуміння дозволів дисків macOS і зовнішніх накопичувачів
Проблеми з дозволами можуть завадити вам отримати доступ до зовнішнього диска, змінити його вміст або витягнути його на Mac. Ось як працюють дозволи macOS зі знімними накопичувачами.
Ви підключаєте зовнішній диск і можете читати файли, але не можете на нього зберігати. Або диск, який чудово працював на іншому вашому Mac, не дає вам записувати на цьому. Або вас щоразу просять увести пароль, коли ви намагаєтеся отримати доступ до певних папок на зовнішньому диску.
Коротка відповідь: Більшість проблем із дозволами зовнішніх дисків на Mac вирішується ввімкненням параметра «Ігнорувати власника на цьому томі». Виберіть диск у Finder, натисніть Command-I і поставте цей прапорець унизу вікна «Інформація». Це обходить позначки власника, які розсинхронізовуються, коли диски переміщуються між Mac. Лише для дисків APFS або HFS+ — exFAT узагалі не має системи дозволів.
Проблеми з дозволами на зовнішніх дисках спантеличують, тому що правила тут відрізняються від внутрішнього сховища вашого Mac. macOS застосовує власника та дозволи до зовнішніх томів у спосіб, який не завжди інтуїтивно зрозумілий.
Як macOS обробляє власника на зовнішніх дисках
Внутрішній диск вашого Mac має чіткого власника: вас. Ваш обліковий запис користувача має ідентифікаційний номер (зазвичай 501 для першого створеного запису), і цей ідентифікатор проставляється на кожному файлі, який ви створюєте.
Зовнішні диски несуть власні позначки власника від того комп’ютера, який останнім записував на них. Якщо ви створили файли на Mac, де ваш ідентифікатор користувача був 501, і підключаєте диск до іншого Mac, де ви також користувач 501, усе збігається. Але якщо ідентифікатори не збігаються, виникають конфлікти дозволів.
Це поширене явище, коли ви ділите диски між кількома Mac, особливо в робочому середовищі, де облікові записи користувачів налаштовані по-різному на кожній машині.
Ігнорування власника на зовнішніх томах
У macOS є вбудоване рішення проблеми невідповідності власника. Виберіть зовнішній диск у Finder, натисніть Command-I, щоб відкрити «Інформацію», і знайдіть унизу параметр «Ігнорувати власника на цьому томі».
Коли цей прапорець увімкнено, macOS розглядає кожен файл на диску так, наче він належить поточному користувачеві. Він повністю обходить позначки власника. Це стандартне налаштування для більшості знімних дисків APFS та Mac OS Extended (HFS+), тому ви зазвичай не стикаєтеся з проблемами дозволів.
Зверніть увагу, що цей прапорець з’являється лише для томів APFS та HFS+. Він не з’являється для дисків exFAT або FAT32, оскільки ці файлові системи не мають вбудованої системи дозволів.
Якщо це налаштування вимкнулося (а це може статися після форматування або після певних оновлень macOS), починають з’являтися помилки дозволів. Увімкніть його знову — і проблеми зникнуть.
Примітка: щоб змінити це налаштування, потрібні права адміністратора. Якщо прапорець неактивний, клацніть значок замка внизу вікна «Інформація» та введіть свій пароль.
Дозволи APFS проти дозволів exFAT
Диски APFS несуть повний набір дозволів POSIX: прапорці доступу для власника, групи та всіх користувачів на читання, запис і виконання. Вони також підтримують списки контролю доступу (ACL) для більш детального керування. Це та сама система дозволів, яку використовує внутрішній диск вашого Mac.
Диски exFAT узагалі не мають системи дозволів. Кожен файл доступний усім. Здавалося б, це мало б усунути проблеми з дозволами, але macOS іноді синтезує дозволи для томів exFAT, що може спричиняти несподівану поведінку. (Обираєте файлову систему для нового диска? Дивіться APFS чи exFAT: який формат вибрати для зовнішнього диска на Mac.)
Коли macOS підключає диск exFAT, вона призначає власником поточного користувача та застосовує стандартні дозволи. Зазвичай це працює добре. Але якщо під час підключення виникає помилка або диск має пошкодження файлової системи, синтезовані дозволи можуть бути неправильними.
Якщо диск exFAT раптом став доступним лише для читання, проблема зазвичай у пошкодженні файлової системи, а не в дозволах. Запустіть «Першу допомогу» в Дисковій утиліті, щоб перевірити та відновити його.
Повний доступ до диска та зовнішні диски
macOS Ventura, Sonoma та Sequoia забезпечують дотримання обмежень Повного доступу до диска суворіше, ніж попередні версії. Ці обмеження впливають на те, як програми взаємодіють із зовнішніми дисками.
Повний доступ до диска — це налаштування конфіденційності, яке визначає, які програми можуть отримувати доступ до всього вмісту вашого сховища, зокрема й зовнішніх дисків. Без Повного доступу до диска програма може відкривати файли, які ви їй явно надаєте, але не може вільно переглядати вміст диска.
Це має значення для витягнення, тому що діагностичним інструментам, як-от Терміналу, потрібен Повний доступ до диска, щоб бачити всі процеси, що використовують диск. Без нього команда lsof показує неповні результати. Ви запускаєте lsof для свого диска, не бачите нічого, що його блокує, але все одно не можете витягнути, бо справжній винуватець прихований від Термінала. (Наш посібник із команди lsof для користувачів Mac докладніше розглядає шаблони доступу.)
Надайте Повний доступ до диска Терміналу (або вашому улюбленому термінальному застосунку) в Системні налаштування > Конфіденційність і безпека > Повний доступ до диска. Це гарантує, що ви побачите повну картину під час діагностики проблем із витягненням.
Коли дозволи заважають витягненню
Проблеми з дозволами зазвичай не заважають витягненню напряму, але спричиняють непрямі збої витягнення.
Якщо процес намагається записати на ваш зовнішній диск і стикається з помилкою дозволів, він може повторювати спроби раз за разом замість того, щоб коректно завершитися. Кожна спроба повтору утримує дескриптор файлу відкритим. Процес фактично застряє в циклі, не маючи змоги ні завершити операцію, ні звільнити диск.
Ви побачите цей шаблон із програмами для резервного копіювання, службами синхронізації та системними процесами на кшталт Spotlight. Вони намагаються записати метадані або дані індексу на диск, отримують відмову через дозволи й продовжують спроби. Це одна з прихованих причин загальної помилки «диск використовується» — інших звичних підозрюваних дивіться в нашому посібнику з усунення проблеми «диск використовується» в macOS.
Усунення основної проблеми з дозволами (зазвичай через увімкнення параметра «Ігнорувати власника на цьому томі») також вирішує проблему з витягненням.
Відновлення дозволів на зовнішніх дисках
Стара функція «Відновити дозволи диска» в Дисковій утиліті була видалена в macOS El Capitan. Вона стосувалася лише системних файлів на завантажувальному диску, тож ніколи не була актуальною для зовнішніх дисків, попри поширену помилкову думку.
Для зовнішніх дисків найближчий еквівалент — скидання власника та дозволів вручну:
sudo chown -R $(whoami) /Volumes/YourDriveName/
sudo chmod -R u+rw /Volumes/YourDriveName/
Це надає вашому обліковому запису власника та доступ на читання й запис до всього на диску. Робіть це лише з особистими дисками, а не зі спільними, де іншим користувачам потрібно зберігати власні дозволи.
Для менш радикального вирішення просто ввімкніть параметр «Ігнорувати власника на цьому томі», як описано раніше.
Зашифровані диски та дозволи
Якщо ваш зовнішній диск зашифровано за допомогою шифрування APFS, для його підключення потрібен пароль шифрування. Але після підключення дозволи працюють як зазвичай.
Зовнішні диски, зашифровані FileVault, час від часу можуть отримувати проблеми з дозволами, якщо метадані шифрування розсинхронізовуються. Якщо у вас виникають помилки дозволів на зашифрованому диску, спробуйте заблокувати (витягнути) та розблокувати (підключити з паролем) диск. Це змушує macOS заново встановити контекст шифрування й часто усуває аномалії дозволів.
Як змусити все працювати разом
Проблеми з дозволами, збої витягнення та помилки файлової системи часто посилюють одне одного. Помилка дозволів спричиняє зависання фонового процесу, що блокує витягнення, а це призводить до неправильного від’єднання, яке спричиняє пошкодження файлової системи, а воно — нові помилки дозволів.
Розірвання цього кола починається з правильного витягнення. Коли ваш диск не витягується і ви підозрюєте, що замішані проблеми з дозволами, Ejecta може визначити завислий процес і дозволити завершити його коректно. Звідти вже виправте основну проблему з дозволами, щоб вона не повторювалася.
Дозволи на зовнішніх дисках простіші, ніж здається, щойно ви зрозумієте модель власника. Більшість проблем вирішується одним прапорцем. Але коли відбувається щось складніше, знання, куди дивитися, має вирішальне значення.
Якщо ви не хочете щоразу користуватися Терміналом, Ejecta покаже вам, який саме процес блокує ваш диск, — і дасть завершити його одним кліком прямо з рядка меню.
Купити — $9.99