Làm thế nào để ngừng sử dụng mã hóa thư mục nhà tích hợp?


106

Tôi có bản cài đặt Ubuntu 10.04 mới với thư mục chính được mã hóa (sử dụng mã hóa tích hợp do trình cài đặt Ubuntu cung cấp).

Cách dễ nhất để ngừng sử dụng mã hóa là gì? (Tức là, để giải mã thư mục nhà của tôi vĩnh viễn.)

(Nó mang đến cho tôi các vấn đề với các bản cập nhật kernel và tôi chỉ muốn cắt giảm mọi rắc rối tôi gặp phải với cài đặt này.)

Câu trả lời:


76

Googling xung quanh, tôi tìm thấy bài đăng này :

Không đưa ra một chủ đề cũ nhưng trong trường hợp bất cứ ai có lỗi cố gắng làm theo các hướng dẫn này, đây là những gì tôi đã làm.

  1. Sao lưu thư mục chính trong khi bạn đăng nhập sudo cp -rp /home/user /home/user.backup

    1.1. Kiểm tra xem sao lưu nhà của bạn có tất cả mọi thứ !!!

  2. khởi động lại vào root thông qua grub
  3. Xóa thư mục nhà của bạn rm -rf /home/user
  4. Hủy bỏ các gói apt-get remove ecryptfs-utils libecryptfs0
  5. Khôi phục thư mục nhà của bạn mv /home/user.backup /home/user
  6. khởi động lại
  7. Xóa bất kỳ .Private .ecryptfsthư mục nàorm -rf ~/.Private rm -rf ~/.ecryptfs
  8. Yay!
Điều này làm việc cho tôi. Quyền truy cập tệp thư mục chính vẫn còn nguyên và không làm hỏng Dropbox hoặc git repos. Một số lý do cài đặt mới của tôi trên Ubuntu 9.10 sẽ không thực hiện lệnh đầu tiên. Chỉ cần chắc chắn rằng bạn nghĩ rằng quá trình thông qua khi sử dụng rm -rf. Chỉ muốn đăng bài này không chỉ cho hồ sơ của tôi, mà bất cứ ai khác gặp phải vấn đề.

Một số lưu ý

  • khởi động lại vào root thông qua grub là một chút không rõ ràng với tôi; Tôi đã không khởi động lại, chỉ chuyển sang sử dụng root (một tài khoản người dùng khác có sudođặc quyền sẽ hoạt động tốt như nhau).
  • Trước khi gỡ bỏ các gói ecryptfs-utilslibecryptfs0sẽ hoạt động, tôi cần phải loại bỏ /home/.ecryptfs/<myusername>. (Nó phàn nàn rằng nó ecryptfs-utilsđã được sử dụng.)

Ngoài ra, điều này làm việc cho tôi. Mặc dù nó không đơn giản, vì vậy hãy đăng các giải pháp tốt hơn!


Tôi sẽ chấp nhận điều này vì nó hiệu quả với tôi, nhưng như tôi đã nói, cứ thoải mái đăng một cái gì đó đơn giản hơn hoặc tốt hơn!
Jonik

3
Điều này làm việc cho tôi vào ngày 12.10. Tôi cũng cần phải xóa /home/.ecryptfs/<myusername>đầu tiên. Ngoài ra, tôi đã phải kể lại /trong bảng điều khiển gốc, nhưng tôi đoán đây là một câu chuyện khác. Cảm ơn!
Constantinius

1
Làm việc vào ngày 12.04. Điều duy nhất là nếu bạn chuyển sang root ( sudo su) thay vì "khởi động lại vào root thông qua grub" thì nó vẫn hoạt động nhưng bạn cần phải chuyển ra /home/user( cd /homeví dụ) và umount /home/userxử lý để ngắt kết nối thư mục nhà trước khi sử dụng rm -rf. Bạn cũng cần phải rm -rf /home/user.backup/.ecryptfstrước khi loại bỏ 2 gói.
nguyệt quế

3
+1 Điều này dễ thực hiện hơn SSH, không có GRUB để xử lý hoặc cố gắng tránh mọi sự gắn kết. Chỉ cần cẩn thận xóa /home/.ecryptfs. Rõ ràng nó có một liên kết tượng trưng đến / home / tên người dùng. Tôi đã mất tất cả dữ liệu của tôi.
htoip

2
Đối với bước 1, nếu bạn gặp lỗi: /home/<username>/.gvfs: Cannot stat: Permission deniedbạn luôn có thể sử dụng rsync:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38

40

Bạn đang ở đây, hy vọng điều này sẽ giúp (xem ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

Yêu cầu đầu ra:

Trong trường hợp bạn muốn xóa thiết lập Thư mục riêng eCryptfs của mình, bạn sẽ cần thực hiện rất cẩn thận các hành động sau đây theo cách thủ công:

  1. Lấy điểm gắn thư mục riêng của bạn

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. Đảm bảo rằng bạn đã di chuyển tất cả dữ liệu có liên quan ra khỏi $PRIVATEthư mục của bạn

  3. Ngắt kết nối thư mục riêng được mã hóa của bạn

    $ ecryptfs-umount-private
    
  4. Làm cho thư mục riêng của bạn ghi lại được

    $ chmod 700 $PRIVATE
    
  5. Di chuyển $PRIVATE, ~/.Private,~/.ecryptfs

    Lưu ý: ĐÂY LÀ RẤT NHIỀU, ĐƯỢC RẤT CẨN THẬN

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Gỡ cài đặt các tiện ích (điều này dành riêng cho bản phân phối Linux của bạn)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    

Cảm ơn. Tôi đã giải quyết nó, nhưng tôi đoán điều này hữu ích cho những người khác.
Jonik

@Jonik Bạn có thể đăng nhập .ecryptfs/jonik/.Privateđúng cách sau khi cập nhật kernel hay bạn đã sao lưu và hoàn tác mã hóa?
đẳng cấu

3
Điều này chỉ áp dụng cho thư mục được mã hóa "~ / Riêng tư" và không áp dụng cho thư mục chính được mã hóa như OP đã nêu. Xem help.ubfox.com/community/EncryptedHome để biết sự khác biệt.
lmeurs

15

Điều đầu tiên cần làm: TRỞ LẠI TRANG CHỦ CỦA BẠN Tôi không thể nói to hơn ... về cơ bản việc hoàn tác mã hóa tương đương với việc đặt lại ( rm -rf) ngôi nhà của bạn, trên thực tế được ẩn bởi một giá treo.

Bước 2: đăng xuất khỏi bất kỳ trình quản lý máy tính để bàn nào và chuyển đến bảng điều khiển ảo ( CTRL-ALT-F1)

Cuối cùng: để biết chi tiết:

ecryptfs-setup-private --undo

Trong trường hợp bạn muốn xóa thiết lập Thư mục riêng eCryptfs của mình, bạn sẽ cần thực hiện rất cẩn thận các hành động sau đây theo cách thủ công:

  1. Lấy điểm gắn thư mục riêng của bạn PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. Đảm bảo rằng bạn đã di chuyển tất cả dữ liệu có liên quan ra khỏi $PRIVATEthư mục của bạn

  3. Ngắt kết nối thư mục riêng được mã hóa của bạn

    ecryptfs-umount-private
    
  4. Làm cho thư mục riêng của bạn ghi lại được

    chmod 700 $PRIVATE
    
  5. Di chuyển $PRIVATE, ~/.Private, ~/.ecryptfs Lưu ý: ĐÂY LÀ RẤT THƯỜNG TRỰC, phải rất cẩn thận

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Gỡ cài đặt các tiện ích

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

Tôi có thể nói bước 5 là một chút sai: không cần phải xóa $PRIVATE, đó là nhà của tôi ....

Sau .Private.ecryptfsxóa, chỉ cần khôi phục nhà của bạn:]


5
Điều gì xảy ra nếu bạn đã mã hóa hơn một nửa dung lượng ổ cứng? Có cách nào thoát ra mà không mua ổ đĩa khác không?
đẳng cấu

@hhlp Thú vị là bạn không cần xóa $ RIÊNG TƯ của mình. Không phải đó là thư mục nhà người dùng của bạn? Có phải nó ngụ ý rằng người ta không cần phải xóa thư mục của riêng mình, lưu lại rằng việc sao lưu luôn quan trọng?
XavierStuvw

8

Các bước này sẽ hoạt động trong môi trường máy chủ

Bước 1: Sao lưu thư mục nhà của bạn

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

Bước 2: Xác nhận xem mọi thứ đã được sao lưu chưa

sudo ls -al /home/$USER.backup

Bước 3: Umount thư mục nhà, bởi vì chương trình mã hóa thường gắn kết nó với điểm gắn kết /home/$USER, ví dụ , còn được gọi là $HOME. Bạn có thể xác nhận điểm gắn kết của bạn bằng cách chạy df -h $HOME. Bạn sẽ phải cd /tmp(hoặc một số $HOMEthư mục khác) để có thể ngắt kết nối$HOME

cd / tmp
sudo umount / nhà / $ NGƯỜI DÙNG

Bước 4: Xóa thư mục nhà cũ

sudo rm -rf / nhà / $ NGƯỜI DÙNG

Bước 5: Xóa tệp chương trình mã hóa

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

Bước 6: Loại bỏ các tiện ích mã hóa khỏi hệ thống

sudo apt-get loại bỏ ecryptfs-utils libecryptfs0

Bước 7: Khôi phục thư mục nhà không được mã hóa trở lại đường dẫn ban đầu

sudo mv / home /$USER.backup / home / $ NGƯỜI DÙNG

Bước 8: Thay đổi quyền sở hữu thư mục được khôi phục trở lại người dùng của bạn

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

Bước 9: Đăng xuất / Đăng nhập, để đảm bảo tất cả nội dung người dùng được khởi động lại đúng (hoặc lỗi đó sẽ xảy ra trong khi bạn nhớ những gì bạn đã làm)


Xuất sắc. Cảm ơn bạn đã hướng dẫn rõ ràng và đồng ý này. Giúp tôi ra!
James Lalor

Tôi cũng đã dọn dẹp /home/.ecryptfs/$USER với sudo rm -rf /home/.ecryptfs/$USER
JimB

5

Thêm một hướng dẫn khác vào danh sách dài sau khi tôi nhận ra rằng các bước xâm nhập nhất được đề cập ở nơi khác là không cần thiết.

Hướng dẫn của tôi không cần khởi động lại và tôi đã hoàn thành nó qua SSH . Nó cũng sẽ hoạt động nếu có các giá trị eCryptfs khác trên máy.

Yêu cầu không rõ ràng duy nhất là có thể đăng nhập như một người dùng khác có sudoquyền truy cập.

  1. Đăng nhập như người dùng với thư mục nhà được mã hóa (được gọi usertrong hướng dẫn này).

  2. Chỉ để giữ cho các đường dẫn trong các bước sau đây đơn giản và đối xứng:

    cd /home
    
  3. Sao y nội dung thư mục nhà đã giải mã sang thư mục khác.

    sudo cp -rp user user.new
    
  4. Thoát ra ( exithoặc logout). Đăng nhập như một sudoer khác.

  5. Kiểm tra xem mount eCryptfs chưa được đếm. Không umountbằng tay, nó có thể dẫn đến mất dữ liệu! (Có kinh nghiệm bản thân. Tôi đã có một phiên SSH khác với userđăng nhập.)

    mount | grep ecryptfs
    

    Đầu ra phải trống. Hoặc, nếu có bất kỳ gắn kết eCryptfs nào khác, nó không được chứa /home/user.

  6. Cũng giống như bước 2.

    cd /home
    
  7. Đánh dấu trùng lặp là không được quản lý với eCryptfs. (Không cần gỡ cài đặt các gói eCryptfs, đặc biệt là khi có các mount eCryptfs khác.)

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. Di chuyển thư mục nhà không được mã hóa vào vị trí.

    sudo mv user user.old && sudo mv user.new user
    
  9. Đăng nhập uservà kiểm tra xem mọi thứ có hoạt động không và eCryptfs không hoạt động.

    mount | grep ecryptfs
    
  10. Xóa nội dung gốc của userthư mục nhà và dữ liệu được mã hóa.

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

1
  • nếu bạn có thể sao lưu vào bộ lưu trữ ngoài, hãy làm nó. (Không cần trực tiếp, nhưng luôn luôn tốt trước khi thao tác tệp.)

  • làm quen với tty, ít nhất một chút (Nhấn Ctrl Alt F7, Ctrl Alt F1v.v.) Bạn sẽ cần làm việc với hai tty-s. Một root và một trong những người dùng chính của bạn.

  • đăng nhập như roottrên một tty riêng biệt, tạo một thư mục nhà mới

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • đăng xuất khỏi phiên đồ họa. Bạn có thể khởi động lại để đảm bảo không có chương trình nào hoạt động dưới người dùng bình thường của bạn.

  • đăng nhập như người dùng bình thường của bạn trên một tty riêng biệt, di chuyển tất cả các tệp của bạn đến đích mới:

    mv ~/* /home/user.newdir/
    
  • bằng cách sử dụng roottty, đổi tên các thư mục:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • tất cả mọi thứ nên làm việc bây giờ. :) Khi bạn đã sẵn sàng, loại bỏ các tập tin cũ /home/.encryptfs, /home/user.encfs, /home/user/.Private, /home/user/.encryptfs. Nếu bạn muốn, bạn có thể đổi tên chúng trước và xóa chúng sau.


1

Tôi đã không sử dụng bất kỳ câu trả lời ở đây. Thay vào đó (trong Ubuntu Studio 14.04):

  1. Tôi đã sao chép tất cả các tệp tôi muốn giữ, đặc biệt là tất cả các tệp. *, Vào một thư mục bên ngoài $ HOME.
  2. Tôi đã tạo một người dùng mới (System> Users and Groups) và thêm người dùng đó vào nhóm sudo. Tôi bỏ chọn hộp "Mã hóa thư mục nhà để bảo vệ dữ liệu nhạy cảm".
  3. Tôi đã đăng xuất và đăng nhập lại với tư cách là người dùng mới sau đó xóa tài khoản gốc của mình, kiểm tra xem UID số đầu tiên là gì (tùy chọn nâng cao), chọn tùy chọn xóa các tệp trong $ HOME gốc của tôi. Điều này đã hoàn thành nhưng với một "lỗi không xác định". Kiểm tra tại / nhà tôi có thể thấy rằng $ HOME cũ của tôi đã biến mất
  4. Tôi đã tạo lại kiểm tra tài khoản người dùng ban đầu của mình để xem nó được tạo bằng UID số gốc, và chắc chắn bỏ chọn hộp thư mục "Mã hóa nhà để bảo vệ dữ liệu nhạy cảm".
  5. Tôi đã xóa phiên bản mới, thực tế trống, của thư mục $ HOME ban đầu của tôi và đổi tên dự phòng $ HOME thành $ HOME ban đầu của tôi và đăng xuất.
  6. Tôi đã đăng nhập vào tài khoản gốc mới của mình và dường như không có gì xảy ra.
  7. Tôi đã kiểm tra / home để tìm một thư mục .ecryptfs mà tôi đã xóa mà không có hiệu ứng xấu.

Tôi thấy không có lý do gì để loại bỏ gói cung cấp cho các thư mục nhà được mã hóa không phải là tùy chọn và tôi đã hoãn việc xóa tài khoản người dùng mới mà tôi đã tạo cho mục đích này vì tôi nghĩ rằng nó có thể có ích trong tương lai.

Lý do của tôi để làm điều này? Máy tính cũ có vẻ như bị lỗi. Khi nó không thành công, tôi muốn có thể truy cập HD trên một máy tính khác mà không gặp rắc rối nào.


1

Lời giải thích của Jonik hoạt động tốt. Nhưng thay vì bước 2, tôi đã làm:

  1. Đăng xuất
  2. Nhấn Ctrl+ F4. Một giao diện dòng lệnh sẽ mở.
  3. Đăng nhập bằng root
  4. rm -rf .ecryptfs

Sau đó, thay vì bước 6: Nhấn Ctrl+ F7. Nếu màn hình đăng nhập GUI của bạn không xuất hiện, nhấn Ctrl+ F8.


-3

Giải pháp đơn giản giúp tôi làm việc:

Bạn nên có một người dùng khác có quyền truy cập sudo

  1. Khởi động lại
  2. Trên màn hình đăng nhập, nhấn CTRL+ ALT+F1
  3. Đăng nhập như người dùng khác (có quyền truy cập 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. Đăng nhập với tư cách là người dùng của bạn và tận hưởng thư mục nhà của bạn mà không cần mã hóa;)

3
Điều này sẽ xóa tất cả các sửa đổi được thực hiện sau khi bật mã hóa. Có thể OK cho một hệ thống vừa được cài đặt nhưng bạn phải đề cập rõ ràng về điều đó.
Melebius
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.