Como logar um usuário com o diretório inicial do FileVault descriptografado?

2

Estou usando o OSX Snow Leopard e um diretório home protegido do FileVault para meu usuário. Para fazer o backup do meu disco rígido, faço um backup do live rsync de um sistema de arquivos inteiro para um disco externo:

rsync [parameters] / /Volumes/Backup

Eu pulo o backup do sparsebundle do FileVault localizado em /Users/.username . Além disso, faço backup do conteúdo descriptografado do meu diretório pessoal (estou logado ao fazer isso):

rsync [parameters] /Users/username /Volumes/Backup/Users/username

Para que na unidade de backup eu tenha a cópia completa do sistema de arquivos, mas em vez do FileVault sparsebundle, tenho o conteúdo descriptografado do meu diretório home (posso viver com os perigos do backup não criptografado).

Eu quero que o backup seja utilizável no caso de uma falha no disco rígido principal, por isso também marquei a unidade como inicializável. Eu posso arrancar a partir desta unidade externa, sem problemas aqui. No entanto, não consigo fazer login na minha conta. Estou recebendo esta mensagem de erro:

You are unable to log into the FileVault user account at this time Logging in to the account failed because an error occurred

Meu palpite é que a OSX assume que é uma conta do FileVault, por isso procura o sparsebundle do FileVault - e, como não está lá, ele falha.

Minha pergunta é - quais modificações devo fazer no sistema de arquivos de backup após rsync para marcar meu usuário como uma conta padrão que não está usando o FileVault? Quais arquivos / arquivos para alterar?

    
por Krzysztof Kotowicz 14.01.2012 / 17:02

1 resposta

3

Eu não testei isso, mas acho que você pode "normalizar" a conta removendo seu atributo HomeDirectory.

sudo dscl -f /Volumes/Backup/var/db/dslocal/nodes/Default / -delete /Local/Target/Users/fvtest HomeDirectory

(com seu nome de usuário em vez de "fvtest".) Observe que os nomes dos atributos são bastante confusos; há dois relacionados ao diretório inicial, um no formato XML, dando instruções para montá-lo, e o outro, dando seu caminho unix, uma vez montado:

$ dscl . -read /Users/fvtest | grep HomeDirectory
HomeDirectory: <home_dir><url>file://localhost/Users/fvtest/fvtest.sparsebundle</url></home_dir>
NFSHomeDirectory: /Users/fvtest

Com uma conta de rede, o HomeDirectory teria informações sobre como montar o diretório inicial de um servidor. Com uma conta normal (local, não filiada) não está lá.

BTW, se você procurar nos arquivos do usuário (em /private/var/db/dslocal/nodes/Default/users/username.plist), verá os mesmos valores, mas sob nomes de atributos diferentes: HomeDirectory = home_loc , NFSHomeDirectory = home.

    
por 16.01.2012 / 02:41