Коли я писав цю відповідь кілька років тому, це був найкращий спосіб втілення рішення. Зараз я б запропонував вам переглянути наступну відповідь використовуючи замість mount.ecryptfs_private.
Я також шукав спосіб автоматично встановити другий том eCryptfs. Наступна колекція скриптів та модифікацій конфігурації надійно та автоматично змонтує ваш об'єм при вході в систему або в GUI, або в CLI.
Існує краще рішення, яке знаходиться в процесі створення (хоча, я думаю, не зовсім готовий до автоматичного встановлення на вході в систему, оскільки такий сценарій матиме обмежений термін зберігання.):
ecryptfs на занадто маленькому жорсткому диску - як додати посилання в шифрування?
Захищеність скриптів залежить від шифрування домашнього каталогу eCryptfs, щоб сценарій та файли з паролем для розгортання вашої парольної фрази були зашифровані. Якщо ви залишите ваш комп'ютер розблокованим з відкритою кореневою оболонкою після входу, ви зможете отримати доступ до паролів, однак використання sudo NOPASSWD дозволяє безпечно встановити розділ, не вимагаючи введення пароля або залишаючи парольну фразу у файлі, прочитаному користувачем.
Один з відомих недоліків цих сценаріїв полягає в тому, що ваш другий том не буде вимкнено під час виходу, тому він не особливо підходить для багатокористувацьких систем.
Моє рішення реалізовано з декількох частин, двох скриптів оболонки, одна, яка виконує фактичне встановлення, та інша, яка виконує функції обгортки.
Це скрипт обгортки, який перевіряє, якщо каталог вже встановлений, якщо його немає, він викличе сценарій монтажу за допомогою sudo:
/ home / johnf / script / 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
Цей скрипт викликає / home / johnf / script / mount_other_ecryptfs, який полягає в наступному.
Зверніть увагу, що цей сценарій передбачає, що у вас включено шифрування імен файлів, якщо ви цього не зробите, не потрібно буде або змінювати скрипт для обробки виявлення (дивіться на ecryptfs-recovery-private), або ви можете видалити параметр кріплення ecryptfs_fnek_sig.
Далі йде сценарій / home / johnf / scriptpts / 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}
Також вам потрібно буде створити файл із паролем у ньому, цей файл буде використовуватися командою mount eCryptfs:
/ home / johnf / script / ecryptfs_passphrase:
passwd=secret_passphrase
Потрібно змінити дозволи для кількох файлів:
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
Перед створенням сценаріїв потрібно створити конфігурацію sudoers, щоб дозволити виконання монтажного скрипту за допомогою sudo без введення пароля sudo.
Додайте наступне в / etc / sudoers (або файл у /etc/sudoers.d). Ви захочете замінити johnf на ваше ім'я користувача. Потрібно використовувати абсолютний шлях до сценарію монтажу.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Останнім кроком є виклик сценарію automount_ecryptfs під час входу.
У Ubuntu Unity (і, можливо, гном) використовуйте аплет програми запуску для створення нової програми запуску, яка викликає / home / johnf / script / automount_ecryptfs.
Щоб автоматично монтувати другий том eCryptfs при вході в оболонку bash, ви хочете змінити файл ~ / .bashrc. Додайте наступне:
/home/johnf/scripts/automount_ecryptfs
Якщо ця конфігурація на місці, тепер вам слід автоматично встановити другий том eCryptfs.