Ketika saya menulis jawaban ini beberapa tahun yang lalu ini adalah cara terbaik untuk mengimplementasikan solusi. Saya sekarang menyarankan agar Anda melihat jawaban berikutnya menggunakan mount.ecryptfs_private sebagai gantinya.
Saya juga mencari cara untuk secara otomatis me-mount volume eCryptfs kedua. Kumpulan skrip dan modifikasi konfigurasi berikut akan secara aman dan otomatis me-mount volume Anda saat login, baik ke GUI atau CLI.
Ada solusi yang lebih baik yang sedang dalam proses pembuatan (meskipun saya pikir tidak cukup siap untuk pemasangan otomatis pada login pengguna, karena skrip ini akan memiliki umur simpan terbatas.):
ecryptfs pada harddrive yang terlalu kecil - bagaimana cara menambahkan tautan ke dalam enkripsi?
Keamanan skrip tergantung pada direktori home Anda yang dienkripsi dengan eCryptfs sehingga skrip dan file dengan kata sandi untuk membuka bocoran frasa sandi Anda dienkripsi. Jika Anda membiarkan komputer tidak terkunci dengan shell root terbuka setelah login, Anda dapat mengakses kata sandi, namun penggunaan sudo NOPASSWD memungkinkan pemasangan partisi secara aman tanpa memerlukan entri kata sandi atau membiarkan frasa sandi dalam file yang dapat dibaca oleh pengguna.
Satu kekurangan yang diketahui dari skrip-skrip ini adalah bahwa volume kedua Anda tidak akan dilepas pada saat logout, karena itu tidak cocok untuk sistem multi-pengguna.
Solusi saya diimplementasikan dengan beberapa bagian, dua skrip shell, satu yang melakukan pemasangan aktual dan lainnya yang berfungsi sebagai pembungkus untuk itu.
Ini adalah skrip pembungkus yang memvalidasi jika direktori sudah di-mount, jika tidak maka akan memanggil skrip pemasangan menggunakan 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
Skrip ini memanggil / home / johnf / scripts / mount_other_ecryptfs yaitu sebagai berikut.
Perhatikan bahwa skrip ini mengasumsikan bahwa Anda mengaktifkan enkripsi nama file, jika Anda tidak melakukannya, Anda perlu memodifikasi skrip untuk menangani deteksi (lihat ecryptfs-recover-private) atau Anda dapat menghapus opsi mount ecryptfs_fnek_sig.
Berikut ini adalah skrip / 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}
Anda juga perlu membuat file dengan kata sandi di dalamnya, file ini akan digunakan oleh perintah mount eCryptfs:
/ home / johnf / script / ecryptfs_passphrase:
passwd=secret_passphrase
Anda perlu mengubah izin pada beberapa file:
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
Sebelum membuat skrip, Anda perlu membuat konfigurasi sudoers untuk mengizinkan eksekusi skrip pemasangan menggunakan sudo tanpa memasukkan kata sandi sudo Anda.
Tambahkan berikut ini ke / etc / sudoers (atau file di /etc/sudoers.d). Anda ingin mengganti johnf dengan nama pengguna Anda. Diperlukan untuk menggunakan jalur absolut ke skrip pemasangan.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Langkah terakhir adalah memanggil skrip automount_ecryptfs saat login.
Pada Ubuntu Unity (dan mungkin gnome) menggunakan applet Aplikasi Startup untuk membuat program startup baru yang memanggil / home / johnf / scripts / automount_ecryptfs.
Untuk secara otomatis me-mount volume eCryptfs kedua saat login ke bash shell Anda ingin memodifikasi file ~ / .bashrc Anda. Tambahkan yang berikut ini:
/home/johnf/scripts/automount_ecryptfs
Dengan konfigurasi ini di tempat Anda sekarang harus secara otomatis me-mount volume eCryptfs kedua Anda.