Змініть "ігнорувати право власності на цей том" з командного рядка для тома Mac OS X


17

(Це питання є спільним для іншого питання, яке я задав на цьому веб-сайті.)

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

Під час створення нового образу диска з Disk Utility він автоматично встановлюється. Якщо ви виберете гучність у Finder і натисніть Cmd-I (для інформаційного вікна), ви побачите це внизу вікна:

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

Це означає, що власники файлів та групи будуть ігноровані на цьому томі. Це дуже зручно для спільного використання зовнішніх накопичувачів між машинами з різними обліковими записами користувачів. Для резервного резервного копіювання це не дуже добре, оскільки ви хочете зберегти інформацію про власника / групу для резервних файлів.

Змініть це в Finder

Щоб змінити це, просто зніміть прапорець, і він запам'ятовується після виймання та повторного встановлення зображення.

Перехід з командного рядка (термінал)

Замість того, щоб монтувати зображення з Finder, ви також можете змонтувати його з командного рядка за допомогою цієї команди (якщо припустити, що зображення називається testimage.sparsebundle):

$ hdiutil attach testimage.sparsebundle/

Все-таки власники ігноруються за обсягом. Додавання -owners onпараметра (майже) еквівалентно зняти прапорець у вікні зображення:

$ hdiutil attach -owners on testimage.sparsebundle/

Однак після демонтажу та -owners onповторного повернення гучності з Finder (або з командного рядка без опції) прапорець перевіряється знову.

Хтось знає, як зробити цю зміну стійкою за допомогою виклику командного рядка?

Відповіді:


17

Ви використовуєте diskutilдля цього. Дивіться в diskutil(1)розділі enableВлаштування та відключеннявлаштування . Зауважте, що цей параметр є специфічним для конкретної установки операційної системи, оскільки він зберігається в /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

2
Це не зовсім точно - diskutil збирається сказати вам, що вам потрібно вказати диск з точкою кріплення, тобто, вам потрібно вказати його на фрагмент для обсягу, який ви хочете перейменувати. Правильним синтаксисом (якщо припустити фрагмент 2 диска 2) був би: sudo diskutil enableOwnership / dev / disk2s2 Якщо ви запускаєте: список suku diskutil, ви зможете побачити всю інформацію про диск і знайти правильний диск і фрагмент для вашого обсягу .

Я виявив, що мені потрібно повторно викликати 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не на фізичних дисках / фрагментах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.