Zmień opcję „ignoruj ​​własność tego woluminu” z wiersza polecenia dla woluminu Mac OS X.

17

(To pytanie jest pochodną innego pytania, które zadałem na tej stronie).

Nowe obrazy zawsze ignorują właściciela / grupę

Podczas tworzenia nowego obrazu dysku z Narzędzia dyskowego jest on automatycznie montowany. Jeśli następnie wybierzesz głośność w Finderze i naciśniesz Cmd-I (w oknie informacyjnym), zobaczysz to u dołu okna:

wprowadź opis zdjęcia tutaj

Oznacza to, że właściciele plików i grupy zostaną zignorowani na tym woluminie. Jest to bardzo wygodne w przypadku udostępniania dysków zewnętrznych między komputerami z różnymi kontami użytkowników. W przypadku woluminu kopii zapasowej nie jest dobrym pomysłem, ponieważ chcesz zachować informacje o właścicielu / grupie dla plików, których kopie zapasowe utworzono.

Zmień to w Finderze

Aby to zmienić, po prostu usuń zaznaczenie pola wyboru, a zostanie ono zapamiętane po wysunięciu i ponownym zamontowaniu obrazu.

Zmiana z wiersza poleceń (terminal)

Zamiast montować obraz z Findera, możesz także zamontować go z wiersza poleceń za pomocą tego polecenia (zakładając, że obraz się nazywa testimage.sparsebundle):

$ hdiutil attach testimage.sparsebundle/

Mimo to właściciele są ignorowani w woluminie. Dodanie -owners onopcji jest (prawie) równoznaczne z odznaczeniem pola wyboru na obrazku powyżej:

$ hdiutil attach -owners on testimage.sparsebundle/

Jednak po odmontowaniu i ponownym zamontowaniu woluminu z Findera (lub z wiersza poleceń bez -owners onopcji) pole wyboru jest ponownie zaznaczone.

Czy ktoś wie, jak utrwalić tę zmianę za pomocą wywołania z wiersza poleceń?

mgd
źródło

Odpowiedzi:

17

Używasz diskutildo tego. Zobacz diskutil(1)w enableOwnership i disableOwnership . Pamiętaj, że to ustawienie jest specyficzne dla konkretnej instalacji systemu operacyjnego, ponieważ jest przechowywane w /var/db/volinfo.database. To znaczy, jeśli skopiujesz obraz dysku na nowy komputer, ustawienie nie zostanie zachowane, ale będzie obowiązywać podczas restartów, montowań, umountów itp. Na jednym komputerze.

Użyj, diskutilaby znaleźć identyfikator, a następnie zmień opcję:

$ 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
źródło
2
Nie jest to do końca dokładne - diskutil powie ci, że musisz określić dysk z punktem montowania, co oznacza, że ​​musisz skierować go do wycinka woluminu, którego nazwę chcesz zmienić. Prawidłowa składnia (przy założeniu wycinka 2 dysku 2) to: sudo diskutil enableOwnership / dev / disk2s2 Jeśli uruchomisz: sudo diskutil list, będziesz mógł zobaczyć wszystkie informacje o dysku i znaleźć właściwy dysk i plaster dla twojego woluminu .
Odkryłem, że muszę ponownie wywoływać diskutil enableOwnershipmiędzy podłączeniami, w przeciwnym razie nie mogę uruchomić plików binarnych i skryptów na zamontowanym woluminie.
psoft
5

Odkryłem, że obie odpowiedzi działały na rzecz umożliwienia własności w sposób, który został zapamiętany:

sudo diskutil enableOwnership <diskname>s<slicenum>

I:

vsdbutil -a /Volume/<volname>

Jednak nie jest odwrotnie, przynajmniej w OS X 10.11.3:

sudo diskutil disableOwnership <diskname>s<slicenum>

I:

vsdbutil -d /Volume/<volname>

Oba tymczasowo zmieniają stan, ale własność jest ponownie włączana przy następnym podłączeniu woluminu. To wydaje się być błędem w systemie operacyjnym. Na szczęście znalazłem rozwiązanie, które działa. Wysuń wszystkie dyski zewnętrzne, dla których chcesz wyłączyć własność. Następnie usuń odpowiednią bazę danych, używając:

sudo rm /var/db/volinfo.database
Russell Owen
źródło
czy możesz podać przykład, nie dostałem, co powinienem napisać zamiast s <licenum>
niedz.
2

Użyj, vsdbutilaby ustawić ścieżkę zamiast dysku fizycznego:

vsdbutil -a /Volume/Diskname

Chociaż manstrona sugeruje, że jest przestarzała, manstrona for diskutilnadal się do niej odwołuje, a mechanizm wydaje się być oparty na woluminie, a UUIDsnie na fizycznych identyfikatorach dysków / plasterków.

Chris F. Carroll
źródło