eCryptFS: วิธีการเมานต์สำรองของ dir บ้านเข้ารหัส?


10

ฉันใช้ eCryptFS เพื่อเข้ารหัสโฮมไดเรกทอรีของแล็ปท็อปของฉัน สคริปต์สำรองของฉันคัดลอกไฟล์ที่เข้ารหัสไปยังเซิร์ฟเวอร์ (พร้อมกับสิ่งอื่นใน(home/.ecryptfs)

ฉันจะเมานท์ไฟล์ที่เข้ารหัสของข้อมูลสำรองได้อย่างไร? ฉันต้องการตรวจสอบว่าฉันสามารถทำได้และทุกอย่างอยู่ในสถานที่

ฉันไร้เดียงสาลองด้วย

mount -t ecryptfs /backup/home/.ecryptfs/boldewyn /mnt/test

ไม่ทำงาน eCryptFS ต้องการสร้างพาร์ติชันใหม่


คำตอบ:


15

สมมติว่าคุณใช้รูปแบบการเข้ารหัสมาตรฐานของ Ubuntu โดยไม่มีการปรับแต่งเพิ่มเติม

$ HOME / .ecryptfs "folder" เป็นแค่ลิงค์

สถานที่จริงที่ไฟล์ของคุณอยู่คือ /home/.ecryptfs/$USER

มีสองโฟลเดอร์คือ. Private (พร้อมไฟล์ที่เข้ารหัสของคุณ) และ .ecryptfs โดยมีไฟล์เช่น auto-mount, auto-umount, Private.mnt, Private.sig, wra-passphrase

หวังว่าไฟล์เป้าหมายจะถูกคัดลอกไปยังโฮสต์สำรองของคุณ

หากไม่มีการสำรองข้อมูลของข้อความรหัสผ่านที่ตัดแล้วของคุณในเซิร์ฟเวอร์นี้แสดงว่าคุณทำหาย หากมีการสำรองข้อมูลชุดรูปแบบการเข้ารหัสของคุณจะอ่อนแอลงด้วยการจัดเก็บข้อความรหัสผ่านที่คุณห่อไว้บนเว็บเว้นแต่คุณจะควบคุมโฮสต์ที่คุณทำการสำรองข้อมูล

ฉันพบสคริปต์นี้สำหรับการติดตั้ง:

ROOT = / home / .ecryptfs / $ USER
target = / mnt / $ USER

# ROOT ควรเป็นพาเรนต์ของ .ecryptfs และ. โฟลเดอร์ส่วนตัว

sudo mkdir -p $ TARGET
cd $ ROOT

echo พิมพ์รหัสผ่านของคุณ:
PASS = $ (ecryptfs-unwrap-passphrase .ecryptfs / wra-passphrase | sed s / Passphrase: \ //)
SIG1 = $ (หัว -n1 .ecryptfs / Private.sig)
SIG2 = $ (tail -n1 .ecryptfs / Private.sig)

echo Passphrase:
echo $ PASS
echo Signatures:
echo $ SIG1
echo $ SIG2

echo ควรว่างเปล่า:
sudo keyctl clear @u
sudo keyctl list @u

echo อย่าพิมพ์อะไร:
echo $ PASS | sudo ecryptfs-add-passphrase --fnek

echo Sould มีลายเซ็น:
sudo keyctl list @u

echo การติดตั้ง $ ROOT กับ $ TARGET ...
sudo mount -t ecryptfs -o key = วลีรหัสผ่าน, ecryptfs_cipher = aes, ecryptfs_key_bytes = 16 $, ecryptfs_passthrough = ไม่, ecryptfs_enable_filename_crypto = $ SIG1, ecryptfs_fnek_siget = $ SIG1

ls $ เป้าหมาย

unset -v PASS

อ่ารหัสผ่านที่คลายออกมาเป็นเคล็ดลับ! ขอบคุณ!
Boldewyn

1
ดีที่มันใช้งานได้ อย่างไรก็ตามการเก็บข้อความรหัสผ่านที่คุณใส่ไว้บนเซิร์ฟเวอร์จะอ่อนลงและบางครั้งก็ทำลายความปลอดภัยในการเข้ารหัสของคุณ
user39559

3
ลิงก์ไปยังสคริปต์ต้นฉบับ ( เต็มเธรด )
kenorb

ขอบคุณ! ฉันประหลาดใจที่ไม่มีคำสั่งมาตรฐานที่จะทำสิ่งนี้ หากคุณกำลังใช้EncryptedPrivateDirectoryเพื่อเข้ารหัสเฉพาะ$HOME/Privateจุดเชื่อมต่อของคุณจากนั้นใช้ROOT=$HOMEในสคริปต์ ฉันเปลี่ยนสคริปต์เป็นROOT=${ROOT:-/home/.ecryptfs/$USER}ดังนั้นฉันจึงสามารถส่งผ่านค่านั้นผ่านสภาพแวดล้อม
nealmcb

อ่า - ฉันเห็นว่าความคิดเห็นของ @ kenorb เชื่อมโยงไปยังรายงานข้อผิดพลาดพร้อมรายละเอียดว่าทำไมวิธีการปกติในการเมานท์ถามตัวเองสำหรับวลีรหัสผ่านที่sudo mount -t ecryptfs .Private /mnt/privateไม่ทำงานใน Ubuntu อืม - ข้อผิดพลาดอายุ 6 ปี ....
nealmcb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.