Come accedere ad un utente con la directory home di FileVault decrittografata?


2

Sto usando OSX Snow Leopard e una directory home protetta FileVault per il mio utente. Per fare il backup del mio HDD, faccio un vivere backup rsync di un intero file system su un'unità esterna:

rsync [parameters] / /Volumes/Backup

Salto il backup dello sparsebundle FileVault che si trova in /Users/.username. Inoltre eseguo il backup del file decriptato contenuto della mia home directory (sono loggato mentre lo faccio):

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

In modo che sul disco di backup ho la copia completa del file system, ma invece di FileVault sparsebundle ho i contenuti decrittografati della mia directory home (posso vivere con i pericoli del backup non criptato).

Voglio che il backup sia utilizzabile in caso di crash primario del disco rigido, quindi contrassegno anche l'unità come avviabile. Posso avviare da questa unità esterna, senza problemi qui. Tuttavia, non riesco ad accedere al mio account - ricevo questo messaggio di errore:

Non è possibile accedere all'account utente di FileVault in questo momento   L'accesso all'account non è riuscito a causa di un errore

La mia ipotesi è che OSX presume che sia un account FileVault, quindi cerca Sparsebundle FileVault e, poiché non è lì, fallisce.

La mia domanda è: quali modifiche dovrei apportare al file system di backup dopo rsync contrassegnare il mio utente come un account standard che non utilizza FileVault? Quali file / file modificare?

Risposte:


3

Non ho provato questo, ma penso che puoi "normalizzare" l'account rimuovendo l'attributo HomeDirectory.

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

(con il tuo nome utente invece di "fvtest".) Si noti che i nomi degli attributi sono piuttosto confusi; ce ne sono due relativi alla home directory, uno in formato XML che fornisce istruzioni per il suo montaggio e l'altro che fornisce il suo percorso unix una volta montato:

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

Con un account di rete, HomeDirectory avrebbe invece informazioni sul montaggio della directory home da un server. Con un account normale (locale, non-filevault) non è lì.

BTW, se cerchi nei file utente (in /private/var/db/dslocal/nodes/Default/users/username.plist), vedrai gli stessi valori ma sotto nomi di attributi diversi: HomeDirectory = home_loc, NFSHomeDirectory = casa.


dscl deve essere eseguito con sudo, a parte questo, ha funzionato come un incantesimo, grazie!
Krzysztof Kotowicz

Ah, stavo dando per scontato che l'intero backup fosse eseguito come root. Modificherò la mia risposta per renderla esplicita.
Gordon Davisson

Ho pubblicato il mio script di backup nel caso qualcuno avesse esigenze simili - gist.github.com/1622842
Krzysztof Kotowicz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.