O problema inicial
Tenho encontrado um problema esporádico em que meu Mac parece "esquecer" onde está o meu diretório pessoal.
A primeira pista (porque isso é algo que eu faço com muita frequência) é sempre que o Google Chrome não pode abrir uma nova guia. Eu recebo a tela de erro "oh snap". Isso me leva a sair do Chrome e reiniciá-lo, o que leva a essa caixa de diálogo de erro, após a qual o Chrome não inicia:
Outros sintomas
Muitas outras coisas que exigem conhecimento do diretório inicial também falham:
- Quando abro alguns aplicativos da Apple (por exemplo, Visualização, Notas, Mensagens), é exibida uma caixa de diálogo informando que ele precisa reparar meu diretório pessoal e requer que eu me autentique. Inserir minha senha aqui faz com que
/var/empty/Library
o proprietário do servidor seja alterado para mim (o que é ruim a longo prazo, mas permite que algumas coisas comecem a funcionar). - O Safari simplesmente não abre quando clicado - ele aparece brevemente no dock e depois desaparece, sem a caixa de diálogo Relatório de falhas (embora eu não possa dizer se o sistema nesse estado está ciente da minha preferência em ver essas caixas de diálogo).
- Mesmo depois de "reparar minha biblioteca", muitos aplicativos não podem abrir:
- Visualizar: aparece uma caixa de diálogo do Finder: O aplicativo "Visualizar" não pode ser aberto.
- Chrome: mesma caixa de diálogo de erro que antes, na foto acima
- Notas: o ícone da estação aparece e desaparece.
- Depois de reparar minha Biblioteca, alguns aplicativos que não puderam abrir antes agora podem e muitos deles esqueceram minhas configurações:
- Safari (que estou usando agora para escrever esta pergunta enquanto pesquiso)
- BBEdit
- Pixelmator
- Notas
- Alguns aplicativos parecem não ser afetados, independentemente das permissões da Biblioteca:
- Console
- Preferências do Sistema
- Acesso ao chaveiro
- Não posso capturar capturas de tela, a menos que eu use o Grab ou segure Control para gravar a captura de tela na área de transferência (porque ela não tem acesso de gravação
/var/empty/Desktop
, que pertence corretamente ao root). - Nas caixas de diálogo Abrir e Salvar, ele não mostra meu diretório pessoal na barra lateral, nem nenhum dos destinos comuns (Desktop, Documentos, etc.).
- Quando o protetor de tela é ativado, o padrão do sistema (Flurry) aparece em vez do meu usual (o Classic apontou para um diretório de fotos que selecionei).
- O Terminal usa as configurações padrão para color / font / etc em vez das minhas configurações personalizadas.
Ainda outras coisas parecem estar funcionando bem:
- Máquina do tempo
- Holofote
- Cantos quentes
Isso aconteceu três vezes até agora, desde a atualização da minha máquina de trabalho para High Sierra, alguns dias após seu lançamento.
A pesquisa
A pesquisa parece indicar que o macOS não acredita que meu diretório pessoal seja/var/empty
, mas que não sabe que eu tenho um diretório pessoal e existe alguma lógica de fallback em algum lugar que faz com que o sistema use / var / empty para qualquer usuário que não possui um diretório inicial. (Fonte: é possível criar um usuário sem um diretório inicial? )
Pesquisas adicionais indicam que / var / empty existe como uma "prisão de segurança" para usuários que não deveriam ter acesso a nada (é por isso que é ruim alterar permissões ou vincular-lo a outro lugar). (Fonte: /server/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )
Com base em ocorrências anteriores, a reinicialização corrige o problema (até a próxima vez que isso acontecer). Depois de enviar esta pergunta, vou tentar desconectar / reconectar meu cabo de rede e sair para ver se alguma dessas ajuda; Voltarei e editarei este parágrafo em conformidade. Atualização: desconectei e reconectei meu cabo de rede e reiniciei o Finder. O Chrome funciona novamente e todos os outros sintomas parecem ter sido resolvidos também! Isso certamente reduz a dor quando esse problema ocorre, mas eu ainda gostaria muito de entender e evitar a causa raiz.
Nada que eu possa ver no Terminal parece exibir o problema:
Last login: Mon Nov 13 13:21:18 on ttys000
jrobb@oke-jrobb-mb: ~ % pwd
/Users/jrobb
jrobb@oke-jrobb-mb: ~ % cd /var/empty
jrobb@oke-jrobb-mb: /var/empty % ls -la
total 24
drwxr-xr-x 8 jrobb staff 256B Oct 20 16:32 ./
drwxr-xr-x 27 root wheel 864B Oct 20 14:49 ../
-rw-r--r--@ 1 root staff 10K Oct 20 16:32 .DS_Store
drwx------ 2 root staff 64B Oct 14 05:52 .ssh/
drwx------ 4 root staff 128B Oct 9 13:22 Desktop/
drwx------ 3 root staff 96B Sep 25 15:46 Documents/
drwx------ 3 root staff 96B Sep 25 15:46 Downloads/
drwx------+ 28 root staff 896B Nov 13 13:37 Library/
jrobb@oke-jrobb-mb: /var/empty % whoami
jrobb
jrobb@oke-jrobb-mb: /var/empty % echo $HOME
/Users/jrobb
jrobb@oke-jrobb-mb: /var/empty %
O registro integrado do High Sierra faz do Console.app um pesadelo para ser lido, mas mesmo assim passei muito tempo procurando mensagens relevantes. Encontrei vários que parecem ser erros causados pelo problema, mas nenhum que parece ser o problema. Suspeito que isso seja causado pelo fato de que você não pode rolar o fluxo interminável de todas as mensagens de todos os subsistemas de volta para antes do que sempre que você abriu o Console, e também não há uma maneira aparente de pesquisar mais de um arquivo por vez, a menos que você deseja pesquisar no fluxo somente encaminhamento mencionado acima. Eu não tinha o Console funcionando quando as coisas foram para o sul, então acho que estou sem sorte? (Eu apreciaria muito qualquer ajuda / conselho aqui.)
Eu já vi vários outros casos em que as pessoas têm o mesmo problema, desde 2014 (10,9 Mavericks). Aqui estão alguns links para outras pessoas que enfrentam problemas iguais ou relacionados, para os quais nenhuma solução satisfatória se apresenta:
- https://www.jamf.com/jamf-nation/discussions/22851/active-directory-user-home-directory-set-to-var-empty
- Pelo menos um usuário do Jamf encontrou a solução lá (a caixa de seleção "exigir confirmação antes de criar uma conta móvel" no Directory Utility estava marcada e o usuário clicou em Não quando a caixa de diálogo de confirmação foi apresentada). Essas caixas de seleção estão marcadas no meu sistema, mas nunca vi (nem recusei) uma caixa de diálogo de confirmação, então não acho que seja o caso aqui. No entanto, essa não é uma máquina compartilhada e, portanto, essas caixas agora estão desmarcadas.
- https://arstechnica.com/civis/viewtopic.php?f=19&t=1239175
- Como nunca houve respostas a este tópico, aproveitei a oportunidade e perguntei a esse usuário se algum dia ele encontrou um problema. Ainda não há resposta.
- /superuser/721623/could-not-create-directory-var-empty-ssh
Parece que, para aqueles que têm "soluções", eles são realmente band-aid que expõem falhas de segurança significativas:
- link simbólico
/var/empty
para o diretório inicial correto chown _user_ /var/empty
- e assim por diante
O contexto
Estou usando um iMac de final de 2013 (Core i7 3,9 GHz, 32 GB de RAM, 1 TB de SSD) executando o High Sierra (sempre a última versão corrigida; isso começou com a 10.13.0 e agora afeta a 10.13.1). É um dispositivo gerenciado por Jamf e eu me autentico em um domínio do Active Directory. Meu perfil no painel de usuários e grupos está rotulado como "Admin, Gerenciado, Celular".
Começamos a usar o Jamf, onde trabalho logo após a atualização para o High Sierra, para que possa ser um problema do Jamf ou do High Sierra (ou, na verdade, qualquer outra coisa).
Existem muitos outros usuários de Mac, muitos outros usuários de High Sierra e muitos outros usuários de Jamf; que eu saiba, nenhum outro usuário está enfrentando esse problema. Eu sou o único usuário do iMac - todos os outros Macs aqui são laptops. (Luto para imaginar que meu iMac é o problema - apenas sendo minucioso.)
Esse problema começa a ocorrer no meio de uma sessão do usuário. Está tudo bem, até que de repente não está. Como tal, acho que não tem nada a ver com login ou Active Directory.
O que estou olhando
Estou procurando uma resposta que impeça o macOS de entrar nesse estado e espero que explique quando e como isso acontece.