วิธีหยุดใช้การเข้ารหัสโฮมไดเรกทอรีในตัว


106

ฉันมีการติดตั้ง Ubuntu 10.04 ใหม่พร้อมโฮมไดเร็กตอรี่ที่เข้ารหัส (ใช้การเข้ารหัสในตัวที่เสนอโดยตัวติดตั้ง Ubuntu)

วิธีที่ง่ายที่สุดในการหยุดใช้การเข้ารหัสคืออะไร (เช่นเพื่อถอดรหัสโฮมไดเร็กตอรี่ของฉันอย่างถาวร)

(มันทำให้ฉันมีปัญหากับการปรับปรุงเคอร์เนลและฉันต้องการลดความยุ่งยากทั้งหมดที่ฉันมีกับการติดตั้งนี้)

คำตอบ:


76

ฉันพบโพสต์นี้ :

ที่จะไม่นำขึ้นด้ายเก่า แต่ในกรณีที่ทุกคนมีข้อผิดพลาดพยายามทำตามคำแนะนำเหล่านี้นี่คือสิ่งที่ฉันทำ

  1. สำรองข้อมูลไดเรกทอรีบ้านในขณะที่คุณเข้าสู่ระบบ sudo cp -rp /home/user /home/user.backup

    1.1 ตรวจสอบว่าการสำรองข้อมูลที่บ้านของคุณมีทุกอย่าง !!!

  2. รีบูตเข้าสู่รูทผ่านด้วง
  3. ลบไดเรกทอรีบ้านของคุณ rm -rf /home/user
  4. ลบแพ็คเกจ apt-get remove ecryptfs-utils libecryptfs0
  5. กู้คืนโฮมไดเร็กตอรี่ของคุณ mv /home/user.backup /home/user
  6. รีบูต
  7. ลบ.Private .ecryptfsโฟลเดอร์เหล่านั้นออกrm -rf ~/.Private rm -rf ~/.ecryptfs
  8. เย้!
สิ่งนี้ใช้ได้สำหรับฉัน การอนุญาตให้ใช้ไฟล์โฟลเดอร์ในบ้านจะยังคงอยู่และไม่ได้สร้างการแจ้งเตือน Dropbox หรือ git repos เหตุผลที่ฉันติดตั้งใหม่บน Ubuntu 9.10 จะไม่ทำคำสั่งแรก rm -rfเพียงให้แน่ใจว่าคุณคิดกระบวนการผ่านเมื่อใช้ แค่ต้องการโพสต์สิ่งนี้ไม่เพียง แต่สำหรับบันทึกของฉัน แต่ใครก็ตามที่พบปัญหา

บางบันทึก

  • รีบูทรูทผ่านด้วงไม่ชัดเจนสำหรับฉัน ฉันไม่ได้รีบูตแค่เปลี่ยนไปใช้รูท (บัญชีผู้ใช้อื่นที่มีsudoสิทธิ์จะทำงานได้ดีเท่า ๆ กัน)
  • ก่อนที่จะถอดแพคเกจecryptfs-utilsและจะทำงานฉันต้องการที่จะลบlibecryptfs0 /home/.ecryptfs/<myusername>(มันบ่นว่าecryptfs-utilsใช้งานอยู่)

นอกจากนั้นมันใช้งานได้สำหรับฉัน มันไม่ง่ายนักดังนั้นอย่าลังเลที่จะโพสต์โซลูชั่นที่ดีกว่า!


ฉันจะยอมรับสิ่งนี้เพราะมันใช้งานได้สำหรับฉัน แต่อย่างที่ฉันพูด
Jonik

3
สิ่งนี้ใช้ได้กับฉันในวันที่ 12.10 เช่นกัน ฉันต้องลบ/home/.ecryptfs/<myusername>ก่อน นอกจากนี้ฉันต้องติด/ตั้งคอนโซลรูทใหม่อีกครั้ง แต่ฉันเดาว่านี่เป็นอีกเรื่องหนึ่ง ขอบคุณ!
Constantinius

1
ทำงานบน 12.04 ด้วย มีเพียงสิ่งเดียวคือถ้าคุณสลับไปยังราก ( sudo su) แทน "รีบูตเครื่องให้รากผ่านด้วง" มันทำงาน แต่คุณจำเป็นต้องย้ายออกจาก/home/user( cd /homeตัวอย่าง) และปัญหาumount /home/userที่จะยกเลิกการต่อเชื่อม dir rm -rfบ้านก่อนที่จะใช้ คุณต้องดำเนินการrm -rf /home/user.backup/.ecryptfsก่อนที่จะลบ 2 แพ็คเกจ
เรน

3
+1 สิ่งนี้ทำได้ง่ายกว่า SSH ไม่มี GRUB ที่จะจัดการหรือพยายามหลีกเลี่ยงการติดตั้งใด ๆ เพียงระมัดระวังการลบ /home/.ecryptfs เห็นได้ชัดว่ามันมี symlink ชี้ไปที่ / home / ชื่อผู้ใช้ ฉันทำข้อมูลทั้งหมดของฉันหาย
htoip

2
สำหรับขั้นตอนที่ 1 หากคุณได้รับข้อผิดพลาด: /home/<username>/.gvfs: Cannot stat: Permission deniedคุณสามารถใช้ rsync ได้เสมอ:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38

40

คุณอยู่ที่นี่หวังว่านี่จะช่วยได้ (ดูecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

การเรียกร้องเอาท์พุท:

ในกรณีที่คุณต้องการลบการตั้งค่าไดเรกทอรีส่วนตัวของ eCryptfs คุณจะต้องดำเนินการดังต่อไปนี้ด้วยตนเองอย่างระมัดระวัง:

  1. รับเมานต์ไดเร็กทอรีส่วนตัวของคุณ

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. ตรวจสอบให้แน่ใจว่าคุณได้ย้ายข้อมูลที่เกี่ยวข้องทั้งหมดออกจาก$PRIVATEไดเรกทอรีของคุณ

  3. ถอนติดตั้งไดเรกทอรีส่วนตัวที่เข้ารหัสของคุณ

    $ ecryptfs-umount-private
    
  4. ทำให้ไดเรกทอรีส่วนตัวของคุณสามารถเขียนได้อีกครั้ง

    $ chmod 700 $PRIVATE
    
  5. ลบ$PRIVATE, ~/.Private,~/.ecryptfs

    หมายเหตุ: นี่เป็นแบบถาวรมาก ๆ ระวังให้มาก

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. ถอนการติดตั้งยูทิลิตี้ (นี่เป็นเฉพาะการกระจาย Linux ของคุณ)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    

ขอบคุณ ฉันได้รับการแก้ไขแล้ว แต่ฉันคิดว่านี่จะเป็นประโยชน์สำหรับผู้อื่น
Jonik

@Jonik คุณสามารถเข้าสู่ระบบ.ecryptfs/jonik/.Privateได้อย่างถูกต้องหลังจากอัพเดตเคอร์เนลหรือคุณสำรองและเลิกทำการเข้ารหัส?
isomorphismes

3
สิ่งนี้ใช้กับไดเรกทอรีที่เข้ารหัส "~ / ส่วนตัว" เท่านั้นและไม่ได้อยู่ในไดเรกทอรีหลักที่เข้ารหัสตาม OP ที่ระบุไว้ ดูhelp.ubuntu.com/community/EncryptedHomeสำหรับความแตกต่าง
lmeurs

15

สิ่งแรกที่ต้องทำ: สำรองบ้านของคุณ ฉันไม่สามารถพูดได้ดังขึ้น ... โดยพื้นฐานแล้วการยกเลิกการเข้ารหัสนั้นเทียบเท่ากับการรีเซ็ต ( rm -rf) บ้านของคุณ

ขั้นตอนที่ 2: ออกจากระบบของตัวจัดการเดสก์ท็อปและไปที่คอนโซลเสมือน ( CTRL-ALT-F1)

ในที่สุด: สำหรับรายละเอียด:

ecryptfs-setup-private --undo

ในกรณีที่คุณต้องการลบการตั้งค่าไดเรกทอรีส่วนตัวของ eCryptfs คุณจะต้องดำเนินการดังต่อไปนี้ด้วยตนเองอย่างระมัดระวัง:

  1. รับเมานต์ไดเร็กทอรีส่วนตัวของคุณ PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. ตรวจสอบให้แน่ใจว่าคุณได้ย้ายข้อมูลที่เกี่ยวข้องทั้งหมดออกจาก$PRIVATEไดเรกทอรีของคุณ

  3. ถอนติดตั้งไดเรกทอรีส่วนตัวที่เข้ารหัสของคุณ

    ecryptfs-umount-private
    
  4. ทำให้ไดเรกทอรีส่วนตัวของคุณสามารถเขียนได้อีกครั้ง

    chmod 700 $PRIVATE
    
  5. ลบ$PRIVATE, ~/.Private, ~/.ecryptfs หมายเหตุ: นี่เป็นประจำมากต้องระวังให้มาก

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. ถอนการติดตั้งยูทิลิตี้

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

ฉันจะบอกว่าขั้นตอนที่ 5 ผิดเล็กน้อย: ไม่จำเป็นต้องลบ$PRIVATEซึ่งสำหรับฉันที่บ้านของฉัน ....

หลังจาก.Privateและ.ecryptfsลบเพียงคืนค่าบ้านของคุณ:]


5
ถ้าคุณเข้ารหัสพื้นที่ฮาร์ดดิสก์มากกว่าครึ่ง มีวิธีใดบ้างโดยไม่ต้องซื้อไดรฟ์อื่น
isomorphismes

@hhlp สิ่งที่น่าสนใจที่คุณไม่ต้องการลบคือ $ PRIVATE นั่นไม่ใช่ไดเรกทอรีบ้านของคุณใช่ไหม หมายความว่าไม่จำเป็นต้องลบไดเรกทอรีของตนเองบันทึกว่าการสำรองข้อมูลมีความสำคัญเสมอ
XavierStuvw

8

ขั้นตอนนี้จะทำงานในสภาพแวดล้อมเซิร์ฟเวอร์

ขั้นตอนที่ 1: สำรองข้อมูลไดเรกทอรีบ้านของคุณ

sudo cp -rp / home / $ USER /home/$USER.backup

ขั้นตอนที่ 2: ยืนยันว่าทุกอย่างสำรองหรือไม่

sudo ls -al /home/$USER.backup

ขั้นตอนที่ 3: umount โฟลเดอร์บ้านเนื่องจากโปรแกรมการเข้ารหัสมักจะเมาท์มันจะติดจุดเช่นที่เรียกว่าเป็น/home/$USER คุณสามารถยืนยันจุดเชื่อมต่อของคุณโดยใช้$HOME df -h $HOMEคุณจะต้องcd /tmp(หรือบาง$HOMEไดเรกทอรีที่ไม่ใช่อื่น ๆ) เพื่อให้สามารถยกเลิกการต่อเชื่อม$HOME

cd / tmp
sudo umount / home / $ USER

ขั้นตอนที่ 4: ลบโฟลเดอร์บ้านเก่า

sudo rm -rf / home / $ USER

ขั้นตอนที่ 5: ลบไฟล์โปรแกรม encrytion

sudo rm -rf /home/$USER.backup/.ecryptfs

ขั้นตอนที่ 6: ลบ utillities การเข้ารหัสออกจากระบบ

sudo apt-get ลบ ecryptfs-utils libecryptfs0

ขั้นตอนที่ 7: คืนค่าโฮมโฟลเดอร์ที่ไม่ได้เข้ารหัสกลับสู่พา ธ ดั้งเดิม

sudo mv /home/$USER.backup / home / $ USER

ขั้นตอนที่ 8: เปลี่ยนความเป็นเจ้าของของโฟลเดอร์ที่กู้คืนกลับสู่ผู้ใช้ของคุณ

sudo chown -R $ (id -u): $ (id -g) / home / $ USER

ขั้นตอนที่ 9: ออกจากระบบ / เข้าสู่ระบบเพื่อให้แน่ใจว่าสิ่งที่ผู้ใช้ทั้งหมดได้รับการเริ่มต้นใหม่ถูกต้อง (หรือข้อผิดพลาดที่จะเกิดขึ้นในขณะที่คุณจำสิ่งที่คุณทำ)


สุกใส ขอบคุณสำหรับคำแนะนำที่ชัดเจนและสอดคล้อง ช่วยฉันออกไป!
James Lalor

ฉันทำความสะอาด /home/.ecryptfs/$USER ด้วย sudo rm -rf /home/.ecryptfs/$USER
JimB

5

การเพิ่มคู่มืออื่นไปยังรายการที่มีความยาวหลังจากที่ฉันรู้ว่าขั้นตอนที่ล่วงล้ำที่สุดที่กล่าวถึงไม่จำเป็น

คู่มือของฉันต้องไม่มีการรีบูตและฉันได้เสร็จสิ้นการประสบความสำเร็จมันผ่าน SSH นอกจากนี้ยังควรใช้งานได้หากมีการติดตั้ง eCryptfs อื่น ๆบนเครื่อง

ข้อกำหนดที่ไม่ชัดเจนเพียงอย่างเดียวคือสามารถลงชื่อเข้าใช้ในฐานะผู้ใช้อื่นด้วยsudoการเข้าถึง

  1. เข้าสู่ระบบในฐานะผู้ใช้ที่มีไดเรกทอรีบ้านเข้ารหัส (เรียกว่าuserในคู่มือนี้)

  2. เพียงเพื่อให้เส้นทางในขั้นตอนต่อไปนี้ง่ายและสมมาตร:

    cd /home
    
  3. ทำซ้ำเนื้อหาของโฟลเดอร์บ้านที่ถอดรหัสไปยังไดเรกทอรีอื่น

    sudo cp -rp user user.new
    
  4. ออกจากระบบ ( exitหรือlogout) เข้าสู่ระบบเป็น sudoer อื่น

  5. ตรวจสอบว่าเมานต์ eCryptfs นั้นไม่ได้ต่อเชื่อม อย่าทำumountด้วยตนเองเพราะอาจทำให้ข้อมูลสูญหายได้! (มีประสบการณ์ด้วยตัวเองฉันมีเซสชั่น SSH อื่นที่มีการuserเข้าสู่ระบบ)

    mount | grep ecryptfs
    

    ผลลัพธ์จะต้องว่างเปล่า หรือถ้ามี eCryptfs เมาท์อื่น ๆ ก็ต้องไม่/home/userประกอบด้วย

  6. เช่นเดียวกับขั้นตอนที่ 2

    cd /home
    
  7. ทำเครื่องหมายสิ่งที่ซ้ำกันว่าไม่มีการจัดการด้วย eCryptfs (ไม่จำเป็นต้องถอนการติดตั้งแพ็กเกจ eCryptfs โดยเฉพาะเมื่อมีการเมานต์ eCryptfs อื่น ๆ )

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. ย้ายโฮมไดเร็กทอรีที่ไม่เข้ารหัสไปไว้

    sudo mv user user.old && sudo mv user.new user
    
  9. เข้าสู่ระบบในฐานะuserและตรวจสอบว่าทุกอย่างทำงานได้ดีและ eCryptfs ไม่เริ่มทำงาน

    mount | grep ecryptfs
    
  10. ลบเนื้อหาดั้งเดิมของuserโฮมโฟลเดอร์และข้อมูลที่เข้ารหัส

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    

1
  • หากคุณสามารถสำรองข้อมูลไปยังที่จัดเก็บข้อมูลภายนอกให้ทำ (ไม่ต้องการโดยตรง แต่ควรดีก่อนจัดการไฟล์เสมอ)

  • ทำความคุ้นเคยกับttyอย่างน้อย (กดCtrl Alt F7, Ctrl Alt F1ฯลฯ ) คุณจะต้องทำงานร่วมกับสองtty-s หนึ่งรูทและหนึ่งในผู้ใช้หลักของคุณ

  • ล็อกอินrootด้วย tty แยกต่างหากสร้างโฮมไดเร็กทอรีใหม่

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • ออกจากระบบเซสชันกราฟิก คุณสามารถรีบูตเพื่อให้แน่ใจว่าไม่มีโปรแกรมใดทำงานภายใต้ผู้ใช้ปกติของคุณ

  • เข้าสู่ระบบในฐานะผู้ใช้ปกติของคุณใน tty แยกย้ายไฟล์ทั้งหมดของคุณไปยังปลายทางใหม่:

    mv ~/* /home/user.newdir/
    
  • ใช้roottty เปลี่ยนชื่อไดเรกทอรี:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • ทุกอย่างควรจะทำงานโดยขณะนี้. :) เมื่อคุณพร้อมที่ลบไฟล์เก่า/home/.encryptfs, /home/user.encfs, ,/home/user/.Private /home/user/.encryptfsหากคุณต้องการคุณสามารถเปลี่ยนชื่อพวกเขาก่อนและลบพวกเขาในภายหลัง


1

ฉันไม่ได้ใช้คำตอบใด ๆ ที่นี่ แทน (ใน Ubuntu Studio 14.04):

  1. ฉันคัดลอกไฟล์ทั้งหมดที่ฉันต้องการเก็บไว้โดยเฉพาะไฟล์. * ทั้งหมดลงในไดเรกทอรีนอก $ HOME
  2. ฉันสร้างผู้ใช้ใหม่ (ระบบ> ผู้ใช้และกลุ่ม) และเพิ่มผู้ใช้นั้นในกลุ่ม sudo ฉันออกจากช่อง "เข้ารหัสโฮมโฟลเดอร์เพื่อปกป้องข้อมูลที่มีความสำคัญ" โดยไม่เลือก
  3. ฉันออกจากระบบและกลับเข้าสู่ระบบในฐานะผู้ใช้ใหม่แล้วลบบัญชีเดิมของฉันตรวจสอบเพื่อดูว่า UID เป็นตัวเลขตัวแรก (ตัวเลือกขั้นสูง) เลือกตัวเลือกเพื่อลบไฟล์ใน $ HOME ดั้งเดิมของฉันได้อย่างไร สิ่งนี้เสร็จสมบูรณ์ แต่มี "ข้อผิดพลาดที่ไม่รู้จัก" การเช็คอิน / ที่บ้านฉันเห็นว่า $ HOME อันเก่าของฉันหายไปแล้ว
  4. ฉันสร้างการตรวจสอบบัญชีผู้ใช้เดิมของฉันขึ้นอีกครั้งเพื่อดูว่ามันถูกสร้างขึ้นด้วย UID ที่เป็นตัวเลขดั้งเดิมซึ่งเป็นจริงและต้องแน่ใจว่าไม่เลือกช่อง "เข้ารหัสโฮมโฟลเดอร์เพื่อปกป้องข้อมูลที่มีความสำคัญ"
  5. ฉันลบไดเรกทอรี $ HOME เวอร์ชันใหม่ที่ว่างเปล่าจริงและเปลี่ยนชื่อสำรอง $ HOME เป็น $ HOME ดั้งเดิมและออกจากระบบ
  6. ฉันเข้าสู่บัญชีเดิมของฉันใหม่และมันก็เหมือนกับว่าไม่มีอะไรเกิดขึ้น
  7. ฉันตรวจสอบ / home เพื่อค้นหาไดเรกทอรี. เข้ารหัสลับที่ฉันลบไปโดยไม่มีผลกระทบใด ๆ

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

เหตุผลของฉันในการทำเช่นนี้? คอมพิวเตอร์เครื่องเก่าดูเหมือนว่าจะล้มเหลว เมื่อมันล้มเหลวฉันต้องการที่จะสามารถเข้าถึง HD บนคอมพิวเตอร์เครื่องอื่นได้โดยไม่ต้องยุ่งยาก


1

คำอธิบายของ Jonikทำงานได้ดี แต่แทนที่จะทำตามขั้นตอนที่ 2 ฉันได้:

  1. ออกจากระบบ
  2. กด+Ctrl F4อินเตอร์เฟสบรรทัดคำสั่งควรเปิดขึ้น
  3. เข้าสู่ระบบในฐานะ root
  4. rm -rf .ecryptfs

จากนั้นแทนการขั้นตอนที่ 6: กด+Ctrl F7ถ้าหน้าจอเข้าสู่ระบบ GUI ของคุณไม่ปรากฏกด+CtrlF8


-3

วิธีแก้ปัญหาง่ายๆที่ใช้งานได้สำหรับฉัน:

คุณควรมีผู้ใช้อื่นที่มีสิทธิ์เข้าถึง sudo

  1. Reboot
  2. บนหน้าจอเข้าสู่ระบบกดCTRL+ ALT+F1
  3. เข้าสู่ระบบในฐานะผู้ใช้รายอื่น (ด้วยการเข้าถึง sudo)
  4. sudo rm -rf /home/youruser/.ecryptfs
  5. sudo rm /home/youruser/.Private
  6. sudo apt-get remove --purge ecryptfs-utils libecryptfs1
  7. sudo reboot
  8. เข้าสู่ระบบในฐานะผู้ใช้ของคุณและเพลิดเพลินกับ dir บ้านของคุณโดยไม่มีการเข้ารหัส;)

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