Automatizando o procedimento de montagem do ecryptfs

1

Estou seguindo o procedimento abaixo para montar meu diretório particular

root@pc:~# mount -t ecryptfs /testdata/ /testdata/
Passphrase: 
Select cipher: 
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32
 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]: 
Select key bytes: 
 1) 16
 2) 32
 3) 24
Selection [16]: 
Enable plaintext passthrough (y/n) [n]: 
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [b9fc92f854a4c85b]: 
Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_fnek_sig=b9fc92f854a4c85b
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=b9fc92f854a4c85b
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key 
before. This could mean that you have typed your 
passphrase wrong.

Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [b9fc92f854a4c85b] to
[/root/.ecryptfs/sig-cache.txt] 
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs

Eu quero escrever um script para automatizar todo o processo. Eu quero passar as frases secretas, cifra, bytes chave etc usando um arquivo.

Tentei abaixo o comando mount com base na documentação ecryptfs.7

mount -t ecryptfs -o key=passphrase:passphrase_passwd_file=/home/testpc/key.txt,no_sig_cache,verbose,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename=y,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=y secure_folder1/ secure_folder1/

em que key.txt é

root@testpc:/home/testpc# cat key.txt 
passphrase_passwd=1234

Uma vez que o comando acima é executado, ele solicita o FNEK.

Filename Encryption Key (FNEK) Signature [13e8b1bc6090e91d]:

Existe alguma maneira que eu possa passar isso através de arquivo para automatizar todo o processo? Quando o PC aparecer, ele não deve me pedir uma senha.

Será que o ecryptfs adiciona senha de alguma ajuda aqui?

Obrigado antecipadamente, Murali Marimekala

    
por Murali 04.10.2016 / 18:18

2 respostas

0
% bl0ck_qu0te%

Você esqueceu de adicionar ecryptfs_fnek_sig= às opções com a assinatura FNEK que deseja usar ou já usou antes. Eu uso o ecryptfs embora monte e ele não me pede o FNEK porque eu tenho as opções definidas no meu comando.

    
por LiveWireBT 04.10.2016 / 23:24
0

Implementado abaixo do script que resolveu meu problema. Qualquer sugestão melhor, por favor me avise.

#!/bin/bash
#Argument 1 will be the mountphrase
mountphrase=$1
echo $mountphrase 
echo "passphrase_passwd=${mountphrase}" > /home/testpc/key.txt

#Add tokens into user session keyring
printf "%s" "${mountphrase}" | ecryptfs-add-passphrase - > tmp.txt

#Now get the signature from the output of the above command
sig='tail -1 tmp.txt | awk '{print $6}' | sed 's/\[//g' | sed 's/\]//g''
echo $sig
rm -f tmp.txt #Remove temp file

#Now perform the mount
sudo mount -t ecryptfs -o key=passphrase:passphrase_passwd_file=/home/testpc/key.txt,no_sig_cache,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename=y,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=y,ecryptfs_fnek_sig=${sig},ecryptfs_sig=${sig},ecryptfs_unlink_sigs /home/testpc/Ecryptfs/secure5 /home/testpc/Ecryptfs/secure5
rm -rf /home/testpc/key.txt

Por favor, reveja e deixe-me saber seus comentários.

    
por Murali 05.10.2016 / 04:44