Монтирование HFS + и UDF с гибридного видео-DVD - PullRequest
1 голос
/ 26 марта 2012

Я разработал программное обеспечение для Mac (с использованием DiscRecordingFramework и IOKit), которое создает гибридное видео-DVD. Полученный DVD полностью совместим со спецификациями Video-DVD. Гибридный диск содержит файловые системы HFS +, UDF и ISO. Теперь проблема в том, что система Mac автоматически монтирует файловую систему HFS +, но DVD-плеер по умолчанию на Mac не может воспроизводить фильм, защищенный CSS, из файловой системы HFS +. В качестве обходного пути я разработал скрипт, который монтирует файловую систему UDF вместе с файловой системой HFS +. Этот скрипт фактически загружает расширение ядра UDF2.1 и монтирует файловую систему UDF. Это решение сработало, но оно нежелательно, так как требует паролей root

Можно ли разработать решение, которое автоматически обнаруживает гибридный диск и монтирует файловые системы HFS + и UDF? Это решение не должно ставить под угрозу безопасность системы. Если для этого требуются корневые пароли один раз в жизни, это нормально, но если для этого требуются корневые пароли каждый раз, когда используется диск, это нежелательно.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 29 марта 2012

Краткое содержание ветки комментариев:

  • diskutil mount не требует корневых разрешений, поэтому желательно использовать это, если это возможно
  • Среда Disk Arbitration может использоваться для предотвращения монтирования файловых систем при необходимости.
  • Если вам нужно многократно выполнять действие от имени пользователя root и не хотите спрашивать пароль, вы можете поместить команды в скрипт, пометить его как принадлежащего пользователю root и установить бит setuid. Для этого вам понадобятся только права root.
  • Для серьезных файловых систем и хитрости диска иногда невозможно избежать падения на уровень ядра. Преимущество установленного kext заключается в том, что это самый ранний способ ответа на вставленный диск.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...