Как я могу защитить от записи (сделать только для чтения) USB-накопитель в OS X?

16

У меня есть USB-накопитель с архивными данными, к которому я хотел бы получить доступ с Mac под управлением Snow Leopard. Тем не менее, я хочу убедиться, что данные на диске сохранены, и на диск не вносятся никакие изменения. Диск отформатирован в FAT32 и не имеет переключателя защиты от записи. Как я могу сделать диск доступным только для чтения или каким-либо другим способом защитить его от записи в ОС, чтобы гарантировать, что на нем ничего не будет изменено?

грамм .
источник

Ответы:

11

Вариант 1: монтировать диск только для чтения

Вы можете подключить USB-накопитель только для чтения с помощью Diskutil.

  • Сначала вставьте / смонтируйте диск один раз, запустите diskutil listиз Terminal.app и запишите устройство, представляющее диск (должно быть что-то вроде /dev/diskNN с любым числом).
  • Извлеките диск, запустив diskutil unmountDisk /dev/diskNзамену N на число, указанное в первом шаге
  • Смонтируйте диск только для чтения, запустив diskutil mountDisk readOnly /dev/diskN

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

Вариант 2. Использование контроля доступа на диске

Действительно ли диск необходимо отформатировать в FAT32 или вы все равно получаете к нему доступ только из системы Mac OSX? В последнем случае вы можете сохранить содержимое диска на другом диске, переформатировать его как диск Mac OSX, переместить / скопировать содержимое обратно и отобрать у кого-либо права на запись.

Nohillside
источник
Что вы предлагаете удалить права наилучшим образом? ALC? sudo chmod? В идеале даже прожектор не должен касаться громкости.
Ривера
Просто запишите защиту тома в Finder. Но я все равно
выбрал
Если вы откроете Дисковую утилиту до того, как вставите USB-штекер, он не будет (обычно) автоматически монтировать том, поэтому вы можете выполнить «Получение информации» о нем в Дисковой утилите, чтобы узнать его идентификатор устройства, diskNа затем использовать diskutilдля его монтирования readOnlyбез монтирование это чтение / запись.
Кен Уильямс
2

Похоже, что редактирование fstabфайла будет лучшим решением, так как вам не нужно каждый раз отключать / монтировать том вручную. Звучит очень низкоуровневое решение, так что даже система / root / spotlight не модифицирует диск.

http://www.macissues.com/2014/09/02/how-to-make-secondary-boot-partitions-read-only-in-os-x/


  1. Откройте Дисковую утилиту в папке «Программы»> «Утилиты», а затем выберите том в списке устройств в левой части окна. Теперь нажмите Command-i, чтобы получить информацию о громкости. В открывшемся окне найдите строку «Универсальный уникальный идентификатор» (UUID), которая представляет собой последовательность букв и цифр, разделенных тире. Выберите весь UUID и нажмите Command-c, чтобы скопировать его.

  2. Откройте утилиту терминала

  3. Запустите следующую команду:
    sudo pico /etc/fstab

  4. Добавьте следующую строку в файл fstab и измените UUID из всех нулей, как показано здесь, на значение скопированного UUID из Дисковой утилиты:
    UUID=00000000-0000-0000-0000-000000000000 none hfs ro

  5. Нажмите Control-o, чтобы записать изменения файла, а затем Control-x, чтобы выйти из редактора.

Rivera
источник
Примечание. Сочетания клавиш, приведенные здесь для редактирования, fstabпредназначены для emacsи могут / будут различаться в зависимости от выбранного вами текстового редактора.
неделимый
1

Если вы оставите USB-накопитель в формате FAT32, вы не сможете. Я бы предложил другое решение: с помощью Дисковой утилиты создайте образ диска ISO9660 («DVD / CD Master») с вашими данными и запишите его на USB-накопитель. К сожалению, Дисковая утилита не может записать образ ISO9660 на USB-накопитель. так что вам придется сделать это ниже:

  • Сначала вставьте / смонтируйте диск один раз, запустите diskutil listиз Terminal.app и запишите устройство, представляющее диск (должно быть что-то вроде /dev/diskNN с любым числом).

  • Извлеките диск, запустив diskutil unmountDisk /dev/diskNзамену N на число, указанное в первом шаге

  • Наконец вход sudo dd if=/path/to/your/image.cdr of=/dev/diskN

Просто подожди и готово.

Kiezpro
источник
Я попробовал это с OS X ESD, и пока он загружается (!), Я все еще могу писать в него. Умное мышление, хотя.
зигг
для окончательного ввода "sudo dd ..." вы можете объяснить путь и место загрузки файла image.cdr команда не распознает ...
0

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

JRobert
источник
Я на самом деле сделал это, но, учитывая большой объем данных, о которых я говорю, простая защита от записи могла бы помочь избежать создания другой копии.
г.
Похоже, вам нужен жесткий диск с аппаратным переключателем защиты от записи. Или CD или DVD только для чтения? Если вы считаете, что программное решение будет подходящим, посмотрите на ReadOnlyMounter ( macupdate.com/app/mac/29779/readonlymounter ). «Эта панель системных настроек является драйвером и загрузчиком для установки флэш-памяти USB, жесткого диска USB и жесткого диска FireWire в качестве устройства только для чтения», - сообщает MacUpdate.com.
JRobert
0

Found Disk Arbitrator делает это очень просто и понятно.

Как упомянуто на tinyapps.com :

OS X: монтируйте диски только для чтения или вообще блокируйте автомонтирование

Дисковый арбитр Аарона Бургхардта с открытым исходным кодом предоставляет простой графический интерфейс для изменения поведения автомонтирования OS X. Автоматическое монтирование может быть полностью отключено (особенно удобно для создания образа диска / восстановления данных через ddrescue и т. Д.) Или монтирование может быть принудительно установлено только для чтения (для криминалистики и т. Д., Хотя аппаратная блокировка записи все еще рекомендуется ).

и со страницы проекта Аарона Бургардта на GitHub :

Disk Arbitrator - это служебная утилита для Mac OS X, разработанная для того, чтобы помочь пользователю обеспечить правильные процедуры судебной экспертизы во время создания образа дискового устройства. Disk Arbitrator, по сути, представляет собой пользовательский интерфейс для среды Disk Arbitration, которая позволяет программе участвовать в управлении блочными устройствами хранения, включая автоматическое монтирование файловых систем. При включении Disk Arbitrator блокирует монтирование файловых систем, чтобы избежать монтирования в режиме чтения-записи и нарушения целостности улик.

Важно отметить, что Disk Arbitrator не является программным блокировщиком записи - он не изменяет состояние подключенных в данный момент устройств и не влияет на вновь подключенные устройства, заставляя устройство быть доступным только для чтения. Пользователь по-прежнему должен быть осторожным, чтобы случайно не записать на диск команду, например «dd». Вследствие этого факта аппаратный или программный блокировщик записи все еще может быть желательным для наиболее надежной процедуры. Disk Arbitrator дополняет блокировщик записи дополнительными полезными функциями и исключает типичную судебную рекомендацию «отключить арбитраж диска».

Colin
источник