Lorsque j'ai écrit cette réponse il y a quelques années, c'était la meilleure façon de mettre en œuvre la solution. Je suggère maintenant que vous regardiez la réponse suivante en utilisant plutôt mount.ecryptfs_private.
Je cherchais également un moyen de monter automatiquement un deuxième volume eCryptfs. La collection suivante de scripts et de modifications de configuration montera en toute sécurité et automatiquement votre volume lors de la connexion, soit à l'interface graphique soit à l'interface CLI.
Il existe une meilleure solution en cours de création (bien que je ne pense pas tout à fait prêt pour le montage automatique lors de la connexion de l'utilisateur, en tant que tel, ce script aura une durée de vie limitée.):
ecryptfs sur un disque dur trop petit - comment ajouter des liens dans le cryptage?
La sécurité des scripts dépend du cryptage de votre répertoire personnel avec eCryptfs afin que le script et les fichiers avec le mot de passe pour déballer votre phrase secrète soient cryptés. Si vous laissez votre ordinateur déverrouillé avec un shell root ouvert après la connexion, il sera possible d'accéder aux mots de passe, cependant l'utilisation de sudo NOPASSWD permet un montage sécurisé de la partition sans nécessiter la saisie du mot de passe ou laisser la phrase secrète dans un fichier lisible par l'utilisateur.
Une déficience connue de ces scripts est que votre deuxième volume ne sera pas démonté à la déconnexion, en tant que tel, il n'est pas particulièrement adapté aux systèmes multi-utilisateurs.
Ma solution est implémentée en plusieurs parties, deux scripts shell, l'un qui effectue le montage réel et l'autre qui sert de wrapper pour cela.
C'est le script wrapper qui valide si le répertoire est déjà monté, s'il ne l'est pas alors il appellera le script de montage en utilisant sudo:
/ home / johnf / scripts / automount_ecryptfs
#!/bin/bash
MOUNT_POINT=/home/johnf/slow
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
sudo /home/johnf/scripts/mount_other_ecryptfs
fi
Ce script appelle / home / johnf / scripts / mount_other_ecryptfs qui est comme suit.
Notez que ce script suppose que le cryptage du nom de fichier est activé.Si vous ne le faites pas, il sera nécessaire de modifier le script pour gérer la détection (regardez ecryptfs-restore-private) ou vous pouvez supprimer l'option de montage ecryptfs_fnek_sig.
Voici le script / home / johnf / scripts / mount_other_ecryptfs:
#!/bin/bash
ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}
Vous devrez également créer un fichier contenant votre mot de passe, ce fichier sera utilisé par la commande de montage eCryptfs:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Vous devez modifier les autorisations sur plusieurs fichiers:
chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase
Avant de créer les scripts, vous devez créer une configuration sudoers pour permettre l'exécution du script de montage à l'aide de sudo sans entrer votre mot de passe sudo.
Ajoutez ce qui suit à / etc / sudoers (ou à un fichier dans /etc/sudoers.d). Vous voudrez remplacer johnf par votre nom d'utilisateur. Il est nécessaire d'utiliser un chemin absolu vers le script de montage.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
La dernière étape consiste à appeler le script automount_ecryptfs à la connexion.
Sur Ubuntu Unity (et probablement gnome), utilisez l'applet Startup Applications pour créer un nouveau programme de démarrage qui appelle / home / johnf / scripts / automount_ecryptfs.
Pour monter automatiquement le deuxième volume eCryptfs lors de la connexion dans un shell bash, vous souhaiterez modifier votre fichier ~ / .bashrc. Ajoutez ce qui suit:
/home/johnf/scripts/automount_ecryptfs
Avec cette configuration en place, vous devez maintenant monter automatiquement votre deuxième volume eCryptfs.