Primeiro, faça o volume usar um arquivo-chave e uma senha vazia em Ferramentas de volume > Alterar a senha do volume. Em seguida, salve uma lista de propriedades como ~/Library/LaunchAgents/truecrypt.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>truecrypt</string>
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>-c</string>
<string>diskutil list | grep -Fq ' *1.1 GB ' && exit # an asterisk indicates that the volume is mounted
disk=$(diskutil list | awk '/ 1.1 GB /{print $NF}')
[[ $disk ]] || exit
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''</string>
</array>
<key>StartOnMount</key>
<true/>
</dict>
</plist>
Altere 1.1 GB
para o tamanho do volume exibido por diskutil list
. Pode haver uma maneira melhor de identificar o volume, mas, por exemplo, diskutil info /dev/disk1s4
não mostrou um UUID para o volume com o qual testei.
Em seguida, ative o agente executando launchctl load ~/Library/LaunchAgents/truecrypt.plist
ou efetuando logout e back in. Você precisa descarregar e carregar o plist para aplicar as alterações nele.
Advertências:
- Quando o comando
truecrypt
é executado pela primeira vez após o login, ele solicita a senha de uma conta de administrador, mesmo que seja executada como raiz. Isso pode ficar irritante depois de um tempo se você sair ou reiniciar com freqüência. - O job launchd é acionado quando qualquer volume é montado, portanto, se você desmontar o volume TrueCrypt (mas manter a unidade externa conectada) e montar algum outro volume, o volume TrueCrypt será montado novamente.
Ou você poderia apenas criptografar o volume com o FileVault? Se você marcar "Lembrar esta senha em minhas chaves", o volume será montado automaticamente, desde que a chave de login esteja desbloqueada.
Issotambémsignificaque,seachavedeloginestiverdesbloqueada,outraspessoasquetenhamacessoaoseucomputadorpoderãoverasenhacom,porexemplo,securityfind-generic-password-l"My FileVault volume" -w
.
Editar: não houve nenhuma razão especial pela qual eu usei um arquivo de chaves e uma senha vazia no exemplo acima. Para usar uma senha e nenhum arquivo de chaves, substitua TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''
por exemplo TrueCrypt --mount /dev/$disk -p pa55word
. Ou substitua pa55word
por "$(security find-generic-password -l "My TrueCrypt volume" -w)"
e use o Acesso às Chaves para adicionar um item de chave para a senha: