Когда я написал этот ответ несколько лет назад, это был лучший способ реализации решения. Теперь я предлагаю вам посмотреть на следующий ответ, используя вместо этого mount.ecryptfs_private.
Я также искал способ автоматического подключения второго тома eCryptfs. Следующая коллекция скриптов и модификаций конфигурации будет безопасно и автоматически монтировать ваш том при входе в систему, либо в GUI, либо в CLI.
Существует лучшее решение, которое находится в процессе создания (хотя я думаю, что оно не совсем готово к автоматическому подключению при входе пользователя в систему, так как этот сценарий будет иметь ограниченный срок годности.):
ecryptfs на слишком маленьком жестком диске - как добавить ссылки в шифрование?
Безопасность сценариев зависит от того, зашифрован ли ваш домашний каталог с помощью eCryptfs, так что сценарий и файлы с паролем для развёртывания вашей парольной фразы будут зашифрованы. Если вы оставите компьютер разблокированным с помощью корневой оболочки, открытой после входа в систему, вы сможете получить доступ к паролям, однако использование sudo NOPASSWD позволяет безопасно монтировать раздел, не требуя ввода пароля или оставляя парольную фразу в файле, читаемом пользователем.
Одним из известных недостатков этих сценариев является то, что ваш второй том не будет отключен при выходе из системы, так как он не особенно подходит для многопользовательских систем.
Мое решение состоит из нескольких частей, двух сценариев оболочки, один из которых выполняет фактическое монтирование, а другой служит оберткой для него.
Это скрипт-обертка, который проверяет, если каталог уже смонтирован, если нет, то он вызовет сценарий монтирования, используя sudo:
/ главная / johnf / скрипты / 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 / scripts / mount_other_ecryptfs, который выглядит следующим образом.
Обратите внимание, что в этом сценарии предполагается, что у вас включено шифрование имени файла, в противном случае необходимо будет либо изменить сценарий для обработки обнаружения (посмотрите на ecryptfs-recovery-private), либо вы можете удалить опцию монтирования ecryptfs_fnek_sig.
Ниже приведен скрипт / 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}
Вам также нужно будет создать файл с вашим паролем, этот файл будет использоваться командой монтирования eCryptfs:
/ Главная / johnf / скрипты / 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 (и, возможно, gnome) используйте апплет Startup Applications, чтобы создать новую программу запуска, которая вызывает / home / johnf / scripts / automount_ecryptfs.
Чтобы автоматически смонтировать второй том eCryptfs при входе в оболочку bash, вам нужно изменить файл ~ / .bashrc. Добавьте следующее:
/home/johnf/scripts/automount_ecryptfs
С этой конфигурацией вы должны автоматически смонтировать второй том eCryptfs.