Altere “ignorar propriedade neste volume” na linha de comando do volume Mac OS X


17

(Esta questão é derivada de outra pergunta que fiz neste site.)

Novas imagens sempre ignoram o proprietário / grupo

Ao criar uma nova imagem de disco a partir do Utilitário de Disco, ela é montada automaticamente. Se você selecionar o volume no Finder e pressionar Cmd-I (para a janela de informações), verá isso na parte inferior da janela:

insira a descrição da imagem aqui

Isso significa que os proprietários e grupos de arquivos serão ignorados neste volume. Isso é muito conveniente para unidades externas sendo compartilhadas entre máquinas com diferentes contas de usuário. Para um volume de backup, não é uma boa ideia, pois você deseja manter as informações de proprietário / grupo dos arquivos armazenados em backup.

Mude isso do Finder

Para alterar isso, basta desmarcar a caixa de seleção e ela será lembrada depois que você ejetar e remontar a imagem.

Mudar da linha de comando (Terminal)

Em vez de montar a imagem no Finder, você também pode montá-la na linha de comando usando este comando (assumindo que a imagem seja chamada testimage.sparsebundle):

$ hdiutil attach testimage.sparsebundle/

Ainda assim, os proprietários são ignorados no volume. Adicionar a -owners onopção é (quase) equivalente a desmarcar a caixa de seleção na imagem acima:

$ hdiutil attach -owners on testimage.sparsebundle/

No entanto, após desmontar e remontar o volume do Finder (ou da linha de comando sem a -owners onopção), a caixa de seleção é marcada novamente.

Alguém sabe como fazer essa alteração persistente usando uma chamada de linha de comando?

Respostas:


17

Você usa diskutilpara isso. Veja diskutil(1)em enableOwnership e disableOwnership . Observe que essa configuração é específica para uma instalação específica do sistema operacional, uma vez que é armazenada em /var/db/volinfo.database. Ou seja, se você copiar a imagem do disco para um novo computador, a configuração não persistirá, mas persistirá em reinicializações, montagens, montagens, etc., tudo em um único computador.

Use diskutilpara encontrar o identificador e altere a opção:

$ 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
Isso não é completamente preciso - o diskutil informará que você precisa especificar um disco com um ponto de montagem, o que significa que você deve apontá-lo para a fatia do volume que deseja renomear. A sintaxe correta (assumindo a fatia 2 do disco 2) seria: sudo diskutil enableOwnership / dev / disk2s2 Se você executar: sudo diskutil list, poderá ver todas as informações do disco e encontrar o disco e a fatia corretos para o seu volume .

Descobri que devo invocar novamente diskutil enableOwnershipentre montagens, caso contrário não consigo executar binários e scripts no volume montado.
psoft 24/10/12

5

Descobri que ambas as respostas funcionavam para permitir a propriedade da maneira que é lembrada:

sudo diskutil enableOwnership <diskname>s<slicenum>

E:

vsdbutil -a /Volume/<volname>

No entanto, o oposto não é verdadeiro, pelo menos no OS X 10.11.3:

sudo diskutil disableOwnership <diskname>s<slicenum>

E:

vsdbutil -d /Volume/<volname>

Ambos mudam temporariamente o estado, mas a propriedade é reativada na próxima vez que eu montar o volume. Isso parece ser um bug no sistema operacional. Felizmente, encontrei uma solução que funciona. Ejete todos os discos externos para os quais você deseja desativar a propriedade. Em seguida, exclua o banco de dados apropriado usando:

sudo rm /var/db/volinfo.database

você pode dar um exemplo, eu não consegui o que eu deveria escrever no lugar de s <slicenum>
Sun

2

Use vsdbutilpara configurá-lo para um caminho em vez de uma unidade física:

vsdbutil -a /Volume/Diskname

Embora a manpágina sugira que está obsoleta, a manpágina para diskutilainda se refere a ela e o mecanismo parece basear-se no volume e UUIDsnão nos IDs de disco / fatia físicos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.