Измените «игнорировать владение этим томом» из командной строки для тома Mac OS X

17

(Этот вопрос является побочным продуктом другого вопроса, который я задавал на этом сайте.)

Новые изображения всегда игнорируют владельца / группу

При создании нового образа диска из Дисковой утилиты он автоматически монтируется. Если вы затем выберите громкость в Finder и нажмете Cmd-I (для информационного окна), вы увидите это в нижней части окна:

введите описание изображения здесь

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

Измени это из Finder

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

Изменить из командной строки (Терминал)

Вместо монтирования образа из Finder вы также можете монтировать его из командной строки, используя эту команду (при условии, что этот образ вызывается testimage.sparsebundle):

$ hdiutil attach testimage.sparsebundle/

Тем не менее, владельцы игнорируются по объему. Добавление -owners onопции (почти) эквивалентно снятию флажка на изображении выше:

$ hdiutil attach -owners on testimage.sparsebundle/

Однако после размонтирования и повторного подключения тома из Finder (или из командной строки без -owners onопции) флажок снова устанавливается.

Кто-нибудь знает, как сделать это изменение постоянным, используя вызов командной строки?

MGD
источник

Ответы:

17

Вы используете diskutilдля этого. См diskutil(1)под enableOwnership и disableOwnership . Обратите внимание, что этот параметр относится к конкретной установке операционной системы, поскольку он хранится в /var/db/volinfo.database. То есть, если вы скопируете образ диска на новый компьютер, настройка не будет сохраняться, но она сохраняется при перезагрузке, монтировании, монтировании и т. Д. На одном компьютере.

Используйте, diskutilчтобы найти идентификатор, затем измените параметр:

$ diskutil list
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            Disk Image             *41.0 MB    disk2
$ sudo diskutil enableOwnership disk2
File system user/group ownership enabled
bahamat
источник
2
Это не совсем точно - diskutil скажет вам, что вам нужно указать диск с точкой монтирования, а это означает, что вы должны указать его на том для тома, который вы хотите переименовать. Правильный синтаксис (при условии, что на диске 2 диска 2) будет выглядеть так: ,
Я обнаружил, что должен повторно вызывать diskutil enableOwnershipмонтирование, иначе я не могу выполнить двоичные файлы и сценарии на подключенном томе.
psoft
5

Я обнаружил, что оба ответа сработали так, чтобы запоминание было запомнено

sudo diskutil enableOwnership <diskname>s<slicenum>

И:

vsdbutil -a /Volume/<volname>

Однако обратное неверно, по крайней мере в OS X 10.11.3:

sudo diskutil disableOwnership <diskname>s<slicenum>

И:

vsdbutil -d /Volume/<volname>

Оба временно меняют состояние, но в следующий раз я снова включаю владение. Это похоже на ошибку в операционной системе. К счастью, я нашел решение, которое работает. Извлеките все внешние диски, для которых вы хотите отключить владение. Затем удалите соответствующую базу данных, используя:

sudo rm /var/db/volinfo.database
Рассел Оуэн
источник
Можете ли вы привести пример, я не получил то, что я должен написать вместо s <slicenum>
Вс
2

Используйте vsdbutilдля установки пути вместо физического диска:

vsdbutil -a /Volume/Diskname

Хотя manстраница предполагает, что она устарела, manстраница по- diskutilпрежнему ссылается на нее, и механизм, по-видимому, основан на томе, а UUIDsне на идентификаторах физического диска / слайса.

Крис Ф. Кэрролл
источник