Permissões do diretório do macOS Mojave

10

O MacOS Mojave estendeu os efeitos do SIP para os diretórios pessoais dos usuários. Por padrão, o acesso é negado a muitos diretórios no diretório inicial de um usuário. A seguir, alguns exemplos desses diretórios.

~/Library/Messages
~/Library/Mail
~/Library/Safari
[… etc.]

Para acessar esses diretórios a partir de um terminal, o aplicativo de terminal deve ser definido em Preferências do sistema> Segurança e privacidade> Privacidade> Acesso total ao disco. A configuração funciona, exceto para o seguinte diretório no meu sistema. O mesmo comportamento pode existir para outros dados em contêineres - não tenho certeza.

~/Library/Containers/com.apple.mail/Data/DataVaults

O comportamento intrigante é fácil de reproduzir. O diretório nem está visível.

cd ~/Library/Containers/com.apple.mail/Data
ls
ls: DataVaults: Operation not permitted

Eu uso rsyncpara espelhar meu diretório pessoal em um disco rígido externo; mas não posso mais fazer isso porque rsyncreclama "Erro de E / S - ignorando a exclusão do arquivo", que interrompe o efeito de espelhamento. Não encontro nenhuma documentação sobre esse assunto. O suporte da Apple não faz ideia. Por que esse diretório é especial e como podemos obter acesso a ele sem desativar o SIP?

Resultados de investigação adicional com SIP desativado

De acordo com as Informações do sistema, a atualização do Mojave foi realizada em 24 de setembro de 2018. O diretório também foi criado no mesmo dia. Meu usuário possui o diretório e o grupo de funcionários é o proprietário do grupo. Suas permissões são 0700. Ele possui atributos estendidos, conforme indicado pelo @símbolo. Sem ACLs. Sem bandeiras.

xattr -l ~/Library/Containers/com.apple.mail/Data/DataVaults

com.apple.quarantine: 0082;00000000;Mail;
com.apple.rootless: Mail

ls -lO DataVaults
(no result; exit 0)

Após desabilitar o SIP, excluir o diretório e reativar o SIP, o diretório reaparece com as mesmas permissões assim que o Mail é aberto. O Mail (versão 12.0 (3445.100.39)) não possui plugins.

Resultados de uma nova instalação em 16 de outubro de 2018

O diretório não existe após a formatação e reinstalação. Eu ainda não tenho idéia de como ele estava lá para começar.

Resultados de uma atualização em 29 de março de 2019

O diretório reapareceu coincidindo com a atualização para o Mojave 10.14.4 (18E226) e / ou o Mail Versão 12.4 (3445.104.8).

Christopher
fonte
O diretório é protegido por um sinalizador de arquivo, ACL ou atributo estendido. Percebi que muitos dos arquivos e diretórios adquiriram o com.apple.quarantineatributo após a atualização para o Mojave, por exemplo. Para meus próprios backups (usando o resticHomebrew), simplesmente ignoro esses bits, ~/Librarypois nenhum deles parece me interessar ou o que geralmente faço de qualquer maneira. Eu mesmo tenho 24 deles.
Kusalananda
Desculpe, reli sua pergunta e, de fato, depois de adicionar o iTerm2 (no meu caso) aos aplicativos com "Acesso total ao disco", o backup agora é executado sem problemas (obrigado por isso!). Não posso dizer mais sobre o seu caso. Na minha máquina, eu posso ver que determinado diretório e contém links simbólicos para alguns dos diretórios no meu diretório home (os "padrão" como Documents, Movies, Musicetc.).
Kusalananda
Não posso dizer mais nada. Eu não tenho esse diretório / link simbólico. Você atualizou ou reinstalou? Os "DataVaults" tocam uma campainha em relação a qualquer aplicativo ou recurso que você já usou anteriormente?
Kusalananda

Respostas:

6

O diretório DataVaults tem a ver com autorizações . O acesso é impedido, a menos que o proprietário do direito conceda o acesso. Os direitos para Mail.app podem ser listados da seguinte maneira e fornecem uma lista XML.

codesign -d --entitlements - /Applications/Mail.app/

No momento, o único método restante para obter acesso ao diretório é desativar o SIP. Em relação ao meu rsyncproblema, optei por manter o SIP ativado e utilizei a rsysncopção exclude, para ignorar o diretório DataVaults, que, a propósito, é desprovido de conteúdo.

De um comentário no blog da Eclectic Light Company , oferecendo mais dicas:

/var/folders/t9/[long ID]/C/com.apple.QuickLook.thumbnailcache”é um DataVault, que é um novo tipo de contêiner de privacidade que a Apple introduziu em torno de 10.13.4. Esses arquivos / pastas são identificados pelo sinalizador de arquivo "UF_DATAVAULT". Eles são implementados via SIP (não tecnicamente sandbox, mas a mesma essência). Os aplicativos precisam de um direito para criar ou acessar cofres de dados específicos ou mesmo para stat () uma pasta do DataVault.

Esses dispositivos valem uma investigação mais profunda. A Apple não (e aparentemente não tem planos de) emitir esses direitos a terceiros. Considere as implicações disso - a Apple está criando uma plataforma em que apenas os dados criados nos aplicativos da Apple obtêm o mais alto nível de segurança.

Considere também que você (o usuário) não pode ver o que há nesses DataVaults sem desativar o SIP. É difícil dizer o que a Apple está mantendo neles, mas alguns deles são um pouco alarmantes. Aqui estão apenas alguns cofres de dados conhecidos:

~/Library/VoiceTrigger/SAT

~/Library/Containers/com.apple.mail/Data/DataVaults /private/var/folders/0z/fs4vdwmx6g31n69qt5v5ff580000gn/0/com.apple.nsurlsessiond

A primeira parece ter "Siri Audio Transcripts" - tudo o que você já disse à Siri no seu Mac.

Não encontrei um sinalizador ~/Library/Containers/com.apple.mail/Data/DataVaultse uma instalação limpa do Mojave fez com que o diretório não aparecesse novamente desde então.

Uma visão geral resumida dos controles de acesso também foi publicada.

Christopher
fonte
Você também pode considerar a opção rsync --ignore-errors.
dave