Khi tôi viết câu trả lời này vài năm trước đây là cách tốt nhất để thực hiện giải pháp. Bây giờ tôi muốn đề nghị bạn xem câu trả lời tiếp theo bằng cách sử dụng mount.ecryptfs_private.
Tôi cũng đang tìm cách để tự động gắn kết một khối lượng eCryptfs thứ hai. Bộ sưu tập tập lệnh và sửa đổi cấu hình sau đây sẽ bảo mật và tự động gắn kết âm lượng của bạn khi đăng nhập, vào GUI hoặc CLI.
Có một giải pháp tốt hơn đó là trong quá trình được tạo (mặc dù tôi nghĩ chưa hoàn toàn sẵn sàng để tự động cài đặt khi đăng nhập người dùng, vì vậy tập lệnh này sẽ có thời hạn sử dụng hạn chế.):
ecryptfs trên ổ cứng quá nhỏ - làm thế nào để thêm liên kết vào mã hóa?
Tính bảo mật của các tập lệnh phụ thuộc vào thư mục chính của bạn được mã hóa bằng eCryptfs để tập lệnh và tệp có mật khẩu mở khóa cụm mật khẩu của bạn được mã hóa. Nếu bạn để máy tính của mình được mở khóa với một vỏ gốc mở sau khi đăng nhập, bạn có thể truy cập mật khẩu, tuy nhiên việc sử dụng sudo NOPASSWD cho phép gắn phân vùng an toàn mà không cần nhập mật khẩu hoặc để lại mật khẩu trong tệp mà người dùng có thể đọc được.
Một thiếu sót được biết đến của các tập lệnh này là tập thứ hai của bạn sẽ không bị bỏ qua khi đăng xuất, vì vậy nó không đặc biệt phù hợp với nhiều hệ thống người dùng.
Giải pháp của tôi được triển khai với một số phần, hai tập lệnh shell, một tập lệnh thực hiện việc gắn thực tế và phần khác đóng vai trò là trình bao bọc cho nó.
Đây là tập lệnh bao bọc xác nhận nếu thư mục đã được gắn kết, nếu không thì nó sẽ gọi tập lệnh gắn kết bằng 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
Tập lệnh này gọi / home / johnf / scripts / mount_other_ecryptfs như sau.
Lưu ý rằng tập lệnh này giả định rằng bạn đã bật mã hóa tên tệp, nếu bạn không cần phải sửa đổi tập lệnh để xử lý phát hiện (hãy xem ecryptfs-recovery-private) hoặc bạn có thể xóa tùy chọn gắn kết ecryptfs_fnek_sig.
Sau đây là tập lệnh / 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}
Bạn cũng sẽ cần tạo một tệp có mật khẩu của mình trong đó, tệp này sẽ được sử dụng bởi lệnh mount eCryptfs:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Bạn cần sửa đổi các quyền trên một số tệp:
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
Trước khi tạo tập lệnh, bạn cần tạo cấu hình sudoers để cho phép thực thi tập lệnh gắn bằng sudo mà không cần nhập mật khẩu sudo của bạn.
Thêm phần sau vào / etc / sudoers (hoặc một tệp trong /etc/sudoers.d). Bạn sẽ muốn thay thế johnf bằng tên người dùng của bạn. Cần sử dụng đường dẫn tuyệt đối đến tập lệnh gắn.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Bước cuối cùng là gọi tập lệnh automount_ecryptfs khi đăng nhập.
Trên Ubuntu Unity (và có thể là gnome) sử dụng applet Ứng dụng khởi động để tạo chương trình khởi động mới gọi / home / johnf / scripts / automount_ecryptfs.
Để tự động gắn khối lượng eCryptfs thứ hai khi đăng nhập vào bash shell, bạn sẽ muốn sửa đổi tệp ~ / .bashrc của mình. Thêm những điều sau:
/home/johnf/scripts/automount_ecryptfs
Với cấu hình này, bạn sẽ tự động gắn kết khối lượng eCryptfs thứ hai của mình.