วิธีใช้ ecryptfs กับไดเรกทอรีที่ไม่ใช่บ้าน


14

ฉันต้องการใช้ ecryptfs เพื่อเข้ารหัสไดเรกทอรีแบบสุ่ม (เช่นไม่ใช่ไดเรกทอรีหลักของฉันหรือไดเรกทอรีย่อยส่วนใหญ่เนื่องจากข้อ จำกัด เนื้อที่ดิสก์บนพาร์ติชันที่บ้านของฉัน) และติดตั้งไดเรกทอรีนั้นเมื่อฉันเข้าสู่บัญชีของฉัน ฉันไม่เห็นวิธีการทำเช่นนี้หรือแม้ว่าจะเป็นไปได้จริง ๆ กับซอฟต์แวร์ที่มีอยู่ ฉันเห็นโพสต์ที่ให้คำแนะนำที่คลุมเครือ (เช่นเพื่อใช้mount.ecryptfs_privateกับตัวเลือก ALIAS) แต่ฉันยังไม่พบคำแนะนำง่ายๆทีละขั้นตอนเกี่ยวกับวิธีการทำเช่นนี้ ใครบางคนสามารถให้คำแนะนำเหล่านี้หรือพาฉันไปที่ที่พวกเขาพบ


2
นี่เป็นวิธีที่ง่ายที่สุดที่คุณจะพบ: wiki.archlinux.org/index.php/…
Rinzwind

1
ปัญหาของฉันกับโซลูชันนี้คือฉันมีโฮมไดเร็กตอรี่ที่เข้ารหัสแล้ว มองไปที่รหัสecryptsfs-setup-privateนั้นฉันไม่แน่ใจว่าจะเกิดอะไรขึ้นถ้าคุณมีบ้านที่เข้ารหัสแล้วและไม่ต้องการลองกลัวว่ามันจะทำสิ่งที่ไม่ดี
user3004015

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

2
การใช้ไฟล์ซิปที่ป้องกันด้วยรหัสผ่านจะไม่ปลอดภัย gpgวิธีการที่คล้ายกันคือการใช้งาน สมมติว่าคุณต้องการจัดเก็บโฟลเดอร์อย่างปลอดภัยmydataจากนั้นคุณสามารถใช้tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydataเพื่อจัดเก็บข้อมูลของคุณและgpg --decrypt mydata.tar.gpg | tar -xเพื่อกู้คืนข้อมูลของคุณ คุณสามารถใช้คีย์ส่วนตัว / สาธารณะของคุณเพื่อปกป้องข้อมูลของคุณซึ่งดูเหมือนจะแนะนำ ควรเก็บข้อมูลจำนวนเล็กน้อยด้วยวิธีนี้ @Rinzwind
Arne L.

1
rm -fR mydataชนิดของการขัดแย้งกับวัตถุประสงค์ของการเข้ารหัสข้อมูลถ้าคุณที่ ข้อมูลนั้นสามารถกู้คืนจากดิสก์ได้นานหลังจากที่คุณ "ลบ" มัน ผมไม่แน่ใจว่าวิธีการรักษาความปลอดภัยนั้นเป็น แต่ฉันยันต่อ "recursive" find mydata -type f -exec shred -uz -- {} \;ฉีกแทน: หมายเหตุการทำลายมีผลเฉพาะกับระบบไฟล์ที่ไม่ทำเจอร์นัลและอุปกรณ์บางประเภท .. ในกรณีที่สำคัญควรศึกษาวิธีที่ดีที่สุด ฉันไม่คิดว่านี่เป็นวิธีปฏิบัติที่ปลอดภัย: การเข้ารหัสและถอดรหัสการเก็บถาวรเช่นนี้ อัตราต่อรองมันจะไม่ได้ผล
bambams

คำตอบ:


8

คุณเท่านั้นที่มองสคริปต์ซุปเปอร์ง่ายเหมือนecryptsfs-setup-privateและecryptsfs-mount-privateพวกเขาใช้มากขึ้น "ทั่วไป" เครื่องมือที่คุณดูเหมือนจะมองหา: และmount.ecryptfs ecryptfs-add-passphraseดูmanหน้าของพวกเขาสำหรับข้อมูลเพิ่มเติม

และการเชื่อมโยง Rinzwind โพสต์มีข้อมูลทั้งหมดที่คุณต้องการต่อไปลงหน้าภายใต้การตั้งค่าด้วยตนเอง มันค่อนข้างยาว แต่เวอร์ชั่นสั้นมาก ๆน่าจะเป็น:


วิธี "การตั้งค่าด้วยตนเอง" (archikiux wiki)

ก่อนอื่นให้เลือก ALIAS ตามที่คุณต้องการ ในส่วนนี้ ALIAS จะเป็นความลับ สร้างไดเรกทอรี / ไฟล์ที่ต้องการ:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

~/.secretไดเรกทอรีจะเก็บข้อมูลที่เข้ารหัส ~/secretไดเรกทอรีเป็นจุดติดที่~/.secretจะติดตั้งเป็นระบบแฟ้ม ecryptfs

[ตอนนี้สร้างวลีรหัสผ่านที่แท้จริงสำหรับการติดตั้ง (สคริปต์แบบง่ายจะเลือกแบบสุ่มหลอก 32 ตัวอักษรจาก/dev/urandomนั้นทำให้ดี)

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

เขียนเอาต์พุตลายเซ็น (ecryptfs_sig) จากคำสั่งก่อนหน้าไปที่ ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • ข้อความรหัสผ่านที่สองสำหรับการเข้ารหัสชื่อไฟล์อาจถูกนำมาใช้ หากคุณเลือกให้เพิ่มลงในพวงกุญแจ:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    หากคุณเรียกใช้คำสั่งด้านบนให้ผนวกลายเซ็นเอาต์พุต (ecryptfs_fnek_sig) เข้ากับ ~ / .ecryptfs / secret.sig:

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

ในที่สุดการเมานต์ ~ / .secret บน ~ / secret:

$ mount.ecryptfs_private secret

หากต้องการยกเลิกการต่อเชื่อม ~ / .secret:

$ umount.ecryptfs_private secret

  • หรือคุณอาจจะได้รับในมือของคุณสกปรกตัวเองและปฏิบัติตามโดยไม่ต้อง ecryptfs-utilsทิศทาง

  • หรือหากคุณดูสคริปต์ง่าย ๆecryptsfs-setup-private& ecryptsfs-mount-privateคุณอาจคัดลอกและแก้ไขเพื่อชี้ไปยังไดเรกทอรีที่คุณต้องการด้วยทักษะและความอดทนเล็กน้อย

  • หรือเพียงแค่เก็บวลีรหัสผ่านด้วยตัวคุณเอง (ปลอดภัยกว่า) และทำเหมือนman ecryptfsตัวอย่างของหน้า (ต้องอ่าน man pages):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

นอกเหนือจากโฟลเดอร์บ้านที่เข้ารหัสและโฟลเดอร์เข้ารหัสภายในโฟลเดอร์ eCryptfs ที่ซ้อนกัน

และโฟลเดอร์ภายในบ้านที่เข้ารหัสจะเก็บไฟล์ไว้ใน/home/.ecryptfs/user/ขณะที่โฟลเดอร์ส่วนตัวที่เข้ารหัสมีไฟล์อยู่ในโฟลเดอร์ภายในบ้านของคุณเอง คุณไม่สามารถใช้ทั้งสองในเวลาเดียวกัน eCryptfs จะไม่ทำโฟลเดอร์เข้ารหัสที่ซ้อนกัน แต่การมีโฮมเข้ารหัสและโฟลเดอร์ที่เข้ารหัสนอกบ้านของคุณก็โอเค

  • ฉันเพิ่งลองสร้างผู้ใช้ใหม่ด้วยหน้าแรกที่เข้ารหัส sudo adduser --encrypt-home jack

    มันสร้าง/home/.ecryptfs/โฟลเดอร์ด้วย:

    • /home/.ecryptfs/jack/.ecryptfs/ - ข้อความรหัสผ่านที่ห่อไว้ & ไฟล์ config ไปที่หน้าแรกของแจ็คอัตโนมัติในการเข้าสู่ระบบ
    • /home/.ecryptfs/jack/.Private/- ไฟล์บ้านที่เข้ารหัสตามจริงติดตั้ง/home/jack/เมื่อเข้าสู่ระบบ

      และยังมี/home/jack/โฟลเดอร์ แต่มันมีลิงค์ที่อยู่ที่นั่นไม่ว่าจะเข้าสู่ระบบหรือไม่:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • ต่อไปฉันเข้าสู่ระบบในรูปแบบแจ็ค แต่ลิงก์ยังคงอยู่ที่นั่นดังนั้นการพยายามเรียกใช้ecryptfs-setup-privateทำให้ดูได้/home/jack/.ecryptfs/แต่เห็นไฟล์ที่มีอยู่จริง/home/.ecryptfs/jack/.ecryptfsๆ จึงไม่สามารถสร้างไฟล์รหัสผ่านอื่น & ล้มเหลวด้วยERROR: wrapped-passphrase file already exists, use --force to overwrite.

      ลองทำตามขั้นตอน "ALIAS" ด้านบนโดยใช้โฟลเดอร์. secret ภายในโฮมที่เข้ารหัสล้มเหลวโดยมีข้อผิดพลาดเหล่านี้:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "การสร้างไดเรกทอรีที่เข้ารหัสไว้ภายในไดเรกทอรีที่เข้ารหัสไม่ได้รับการสนับสนุนด้วย eCryptfs ขออภัย" - ผู้แต่งและผู้ดูแล eCryptfs

    • เปลี่ยนนามแฝงโฟลเดอร์นอกบ้านของแจ็คพยายาม/tmp/.secret/และ ผลงาน/tmp/secret/ แต่ถ้าแจ็คออกจากระบบโฟลเดอร์ที่เข้ารหัสใหม่จะยังคงอยู่ดังนั้นคุณต้องยกเลิกการต่อเชื่อม ( umount.ecryptfs_private secret)


1
ขอบคุณสำหรับการตอบสนองที่ง่ายขึ้น แม้ว่าคำถามหนึ่งข้อ: สิ่งนี้จะดูแลปัญหาการเมาท์อัตโนมัติหรือไม่ ขออภัยที่มีความหนาแน่นสูงเกี่ยวกับเรื่องนี้ แต่หน้าเว็บที่คุณระบุและหน้าเว็บคนนั้นไม่เข้าใจง่ายโดยเฉพาะอย่างยิ่งเกี่ยวกับการตั้งค่าการเมาท์อัตโนมัติสำหรับสถานการณ์ที่ไม่ได้มาตรฐาน เนื่องจากฉันมีโฮมไดเร็กตอรี่ที่เข้ารหัสแล้วฉันมี $ HOME / .ecryptfs / auto-mount และ wra-passphrase อยู่แล้ว แต่อันแรกว่างเปล่าและอันที่สองมีบางอย่างอยู่แล้ว มันไม่ชัดเจนเลยสำหรับฉันในการเพิ่มข้อความรหัสผ่านใหม่และสั่งให้ติดตั้งไดเรกทอรีอัตโนมัติ
user3004015

ปรับปรุงด้วยการทดสอบเล็ก ๆ น้อย ๆ และผู้ชายคนนี้ragingpenguin.com/2012/12/... เห็นได้ชัดว่ามีโชคบางอย่างต่อไปนี้คู่มือวิกิพีเดียซุ้มประตูอัตโนมัติติดตั้งกับ PAM แต่เขาก็สวยปากแข็งเกี่ยวกับมัน
Xen2050

ขอบคุณสำหรับความพยายามของคุณ. ฉันไม่สนใจทำรังไดเรกทอรี ecryptfs แต่ติดตั้งไดเรกทอรีที่สองในตำแหน่งที่สองโดยอัตโนมัติ ฉันจะพยายามทำให้มันใช้งานได้เมื่อฉันมีเวลา แต่มันก็ไม่ชัดเจนนัก ...
user3004015

คุณสามารถตัดมันให้เหลือหนึ่งmountบรรทัดโดยไม่จำเป็นต้องใช้.confไฟล์หรือเพิ่มกุญแจเพียงแค่อ่านman ecryptfsหน้าสำหรับตัวเลือกที่มี แล้วโยนไฟล์ "ทำงานในการเข้าสู่ระบบ" /home/user/.config/autostart/ใน แต่ความปลอดภัยของข้อความรหัสผ่านอาจมีความเสี่ยงหากจัดเก็บไว้อย่างไม่เหมาะสม
Xen2050

สิ่งที่เป็นที่ ecryptfs มีระบบที่ดีของการห่อรหัสผ่านการเข้ารหัสภายใน wrapper ที่เปิดด้วยรหัสผ่านการเข้าสู่ระบบ นี่เป็นการป้องกันเพิ่มเติมสำหรับรหัสผ่าน ecryptfs ซึ่งน่าจะดี ฉันไม่คิดว่าจะใส่อะไรลงใน. config / autostart จะยอมให้สิ่งนี้เว้นแต่ว่าฉันเข้าใจผิดว่าควรจะใส่สคริปต์อะไร
user3004015

0

หากคุณต้องการใช้มันเหมือน encfs คุณสามารถทำได้โดยใช้รายการต่อไปนี้ใน /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim เป็นคำภาษาเยอรมันสำหรับความลับ แต่รับรองว่าไม่ใช่คำหลัก คุณต้องสร้างไดเรกทอรีก่อน ครั้งแรกที่คุณควรจากecryptfs_fnek_sig=1f7aefb9e239099fไป จากนั้นmount /tmp/geheimจะแสดงค่าที่ถูกต้องให้คุณ

คุณสามารถเก็บรหัสผ่านที่อื่นและตั้งค่าตัวเลือกที่ซับซ้อนมากขึ้น man ecryptfsคุณจะได้พบกับตัวเลือกทั้งหมดใน


-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

เช่น:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

ใช้คำสั่งด้านบนเพื่อสร้างและเมานต์ระบบเข้ารหัสที่ไฟล์ที่บันทึกใน RANDOMDIRECTORY นั้นได้รับการเข้ารหัสและบันทึกไว้ใน EFILES

หมายเหตุเพิ่มเติม ตรวจสอบให้แน่ใจว่า RANDOMDIRECTORY ว่างเปล่าเมื่อคุณเริ่มต้น เมื่อคุณเรียกใช้คำสั่งด้านบนและระบบถูกเมาท์และพร้อมใช้งานไฟล์ใด ๆ ที่คุณบันทึกใน RANDOMDIRECTORY จะถูกเข้ารหัสใน EFILES หากระบบถูกเมาต์ สำหรับจำนวนเงินที่รวดเร็ว / ถอนการต่อเชื่อมคุณสามารถสร้างสคริปต์ทุบตีและเรียกใช้ผ่านทางลัดแอปหรือสร้างคำสั่งนามแฝงสำหรับการติดตั้งอย่างรวดเร็ว

ฉันใช้สิ่งนี้มานานกว่าหนึ่งปีแล้ว

แก้ไข: กลับบ้านเพื่อยืนยันคำสั่งของเจ้าไม่ใช่ ecryptfs encfs ของมันคือ

encfs /destination/encrypted /destination/unencrypted

ขอโทษสำหรับเรื่องนั้น. ด้วยสิ่งนี้คุณจะต้องติดตั้งโปรแกรมใหม่ (อาจจะ)


1
ฉันพิมพ์คำสั่งecryptfsและไม่ตอบสนองคำสั่ง man ecryptfsนำหน้า man มาmount -t ecryptfsให้ แต่ไม่ได้อธิบายวิธีการสร้างระบบไฟล์ที่เข้ารหัสเช่นนั้นจริงๆ
user3004015

โปรดทราบว่าฉันใช้ Ubuntu 14.04 LTS ดังนั้นการติดตั้งของฉันจึงค่อนข้างเร็ว เป็นecryptfsคำสั่งนอกจากนี้ล่าสุด?
user3004015

encfs ไม่เหมือนกับ ecryptfs ทั้งสองแตกต่างกัน
Diagon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.