Parece que o Finder não aplica o sinalizador Locked (ou a permissão muda na caixa de diálogo Obter Informações para esse assunto) recursivamente para o pacote inteiro. Se isso é algo que você precisa regularmente, você pode querer escrever um serviço para as sugestões a seguir, para que você possa fazer isso do Finder em vez do Terminal.
Você pode remover permissões de gravação para o pacote na linha de comando executando chmod
:
chmod -R a-w
Digite este comando (incluindo um caractere de espaço à direita) e, em seguida, arraste o ícone do pacote esparso para a janela do Terminal. Deve ficar assim, dependendo do nome do seu pacote esparso e de onde ele está armazenado:
chmod -R a-w /path/to/container.sparsebundle
Execute chmod -R u+w /path/to/container.sparsebundle
para obter permissões de gravação novamente. Esses comandos podem demorar um pouco para grandes pacotes esparsos.
Como alternativa, você pode definir o sinalizador bloqueado em todos os arquivos do pacote executando o comando chflags
:
chflags -R uimmutable /path/to/container.sparsebundle
Para reverter, execute chflags -R nouimmutable /path/to/container.sparsebundle
.
Você também pode montar o pacote somente leitura, para impedir temporariamente as alterações. Para fazer isso, execute o seguinte no Terminal:
hdiutil attach /path/to/container.sparsebundle -readonly
Note que você precisará sempre montá-lo desta forma para evitar alterações.
Se você puder tolerar a imagem usando um ponto de montagem diferente do habitual, execute o configure do sistema para montar sempre esta imagem como somente leitura.
Primeiro, determine o volume UUID. Monte o pacote esparso e execute diskutil list
na linha de comando. Procure uma entrada com o mesmo nome do volume, da seguinte maneira:
/dev/disk8
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *102.4 MB disk8
1: Apple_partition_map 32.3 KB disk8s1
2: Apple_HFS Disk Image 102.4 MB disk8s2
Neste exemplo, o volume aparece como "Imagem de Disco" no Finder. Observe o identificador à direita ( disk8s2
). Você precisa inseri-lo para o seguinte comando após /dev/
:
diskutil info /dev/disk8s2
Procure a linha que começa com Volume UUID e anote o valor à direita, por ex. D7C6180C-2178-32EF-98E6-7FB71AED2ABC
Agora só precisamos criar um ponto de montagem personalizado. Geralmente, cada volume é montado em /Volumes
, mas esses pontos de montagem são excluídos durante a desmontagem e a próxima tentativa de montagem de um volume referenciado em fstab
falhará porque o ponto de montagem não existe. Então, basta criar uma pasta chamada "Imagem" no seu diretório pessoal.
Agora podemos o OS X para sempre montá-lo somente leitura. No Terminal, execute sudo vifs
e digite sua senha. Eu suponho que você esteja familiarizado o suficiente com vi
/ vim
, se não, agora é um bom momento para ler sobre isso.
Adicione uma linha como a seguinte, substituindo os valores corretos por UUID e ponto de montagem aplicáveis ao seu sistema:
UUID=D7C6180C-2178-32EF-98E6-7FB71AED2A56 /Users/danielbeck/Image hfs ro
Em seguida, salve e feche. Agora você pode montar a imagem com um clique duplo, ela será mostrada no Finder e será somente leitura.