Làm cách nào để mã hóa / trang chủ trên Ubuntu 18.04?


57

Thất vọng khi thấy rằng trình cài đặt 18.04 không còn cung cấp tùy chọn mã hóa thư mục chính. Theo báo cáo lỗi này được tham chiếu trong trình cài đặt, phương pháp được đề xuất để mã hóa ngày nay là toàn bộ đĩa với LUKS hoặc fscrypt cho các thư mục. Mã hóa toàn bộ đĩa có vẻ hơi quá mức cho nhu cầu của tôi và tất cả các lỗi và cảnh báo được đề cập trên Wiki không làm cho nó trở thành một lựa chọn rất hấp dẫn. Tất cả những gì tôi thực sự muốn là bảo vệ thư mục nhà của tôi khỏi ai đó truy cập tài liệu, ảnh, v.v. nếu máy tính xách tay của tôi bị đánh cắp, biến fscrypt thành tùy chọn cho tôi.

Các trang GitHub fscrypt có một số ví dụ về cách thiết lập nó, nhưng tôi không thể tìm thấy bất kỳ tài liệu nhằm mục đích mã hóa thư mục home trên Ubuntu. Công cụ ecryptfs cũ vẫn có sẵn, nhưng sau khi thiết lập, Ubuntu đôi khi sẽ đóng băng ở màn hình đăng nhập.

Vì vậy, câu hỏi của tôi là: Làm cách nào để thiết lập fscrypt để mã hóa thư mục / home của tôi và giải mã khi tôi đăng nhập? Tôi cũng thích cách ecryptfs cho phép giải mã thư mục theo cách thủ công (ví dụ: từ hình ảnh đĩa).

(Một câu hỏi tương tự đã được đăng ở đây và không may bị đóng vì là báo cáo lỗi "ngoài chủ đề". Để làm rõ, đây không phải là báo cáo lỗi. Tôi hỏi ở đây là làm thế nào để thiết lập fscrypt.)


2
@Panther LUKS có cho phép giải mã các tệp được lưu trữ trên ổ đĩa sao lưu không? Lý do tôi hỏi là vì tôi thực hiện sao lưu toàn bộ hệ thống của mình từ Windows bằng Macrium Reflect. Nếu tôi cần lấy ra một vài tệp từ bản sao lưu, tôi sẽ cần một cách để giải mã các tệp được sao lưu. Với ecryptfs, tất cả những gì tôi phải làm là cắm vào ổ đĩa của mình và chạy tập lệnh được lưu trong thư mục được mã hóa.
elight24

7
Vậy làm thế nào về những người trong chúng ta đã mã hóa thư mục nhà của chúng tôi từ 16.04, nhưng không thể gắn kết nó mới vì tùy chọn "mã hóa thư mục nhà" đã biến mất khỏi trình cài đặt? Chúng tôi thậm chí không thể đăng nhập. Thật nực cười.
SunnyDaze

2
@SunnyDaze Đã mất một lúc kể từ khi tôi phải gắn dữ liệu của mình một cách thủ công, nhưng tôi tin rằng lệnh đó là "ecryptfs-mount-private".
elight24

3
Bạn có thể nhầm lẫn khi sử dụng LUKS trên toàn bộ đĩa, điều này sẽ không hoạt động với các cửa sổ khởi động kép, so với sử dụng LUKS trên phân vùng Ubuntu, hoạt động khởi động kép tốt với các cửa sổ. Tôi chưa đọc trang wiki
Panther

2
Mã hóa toàn bộ đĩa là tuyệt vời và thực hiện công việc. Nhưng nó chỉ đủ nếu đó là máy tính cá nhân của bạn và bạn là người dùng duy nhất. Nếu ai đó đang tự hỏi why encrypt the home?, khi có nhiều người dùng thì thật hữu ích. Khi bạn đăng nhập, chỉ có nhà của bạn được giải mã chứ không phải những người khác
AnthonyB

Câu trả lời:


25

Cập nhật 2019-07

Tôi đang chạy nhiều nhà được mã hóa với fscrypt. Cài đặt hệ thống của bạn mà không cần mã hóa và sử dụng hướng dẫn này để thực hiện fscrypttại nhà của bạn.

Hãy chắc chắn chmod 700về nhà và / hoặc sử dụng của bạn umask 077vì fscrypt không tự động đặt quyền như đã ecryptfssử dụng.

API fscryptcó thể thay đổi trong tương lai, vì vậy hãy đảm bảo sao lưu các tệp quan trọng của bạn nếu bạn cố nâng cấp hệ thống của mình.

(Tính năng này không được sử dụng rộng rãi trên Máy tính để bàn. Bạn có thể tự chịu rủi ro khi sử dụng.)

Cập nhật 2018-11

TL: DR; Bạn có thể thử fscrypttrong Ubuntu 18.10+ hoặc Linux Mint 19.1+

Có vẻ như điều này cuối cùng đã được sửa chữa. Dưới đây là hướng dẫn ưu tiên: http://tlbdk.github.io/ubfox/2018/10/22/fscrypt.html

Tôi không trích dẫn hướng dẫn ở đây vì nó yêu cầu một số hack và cuối cùng bạn có thể mất dữ liệu nhà của mình.

Cảnh báo: Một cảnh báo từ người dùng @dpg : "HÃY CẨN THẬN: Tôi đã làm theo hướng dẫn từ" hướng dẫn ưu tiên "đó (đã thực hiện theo tty) và có vòng đăng nhập vô hạn."

Xem xét hướng dẫn này cho mục đích giáo dục.

Tiếp theo là câu trả lời ban đầu của tôi:

Câu trả lời gốc 2018-05

TL; DR: Sử dụng mã hóa cổ điển tại nhà với Linux Mint 19 Tara .

fscrypt cho mã hóa nhà vẫn bị hỏng.


Làm cách nào để thiết lập fscrypt để mã hóa thư mục / home của tôi và giải mã khi tôi đăng nhập?

Đây là điều mà rất nhiều người trong chúng ta muốn. Có vẻ như nhóm Ubuntu không thể ecryptfslàm việc không có lỗi trên Ubuntu 18.04 và không thể sửa các lỗi trong fscrypttùy chọn mã hóa tại nhà để phát hành Ubuntu 18.04 theo lịch trình.

fscrypt, có ít nhất một lỗi nghiêm trọng khiến nó không thể sử dụng được cho mã hóa tại nhà vào lúc này:

Hơn nữa, chúng ta cần một cách minh bạch để xác thực / mở khóa trước khi nó là một giải pháp thay thế thực tế cho mã hóa nhà kiểu "ecryptfs" cũ. Điều này được theo dõi ở đây:

Với những vấn đề mở, bạn có thể xem xét mã hóa nhà bị hỏng tại thời điểm này. Cùng với đó, các đồng nghiệp của tôi và tôi coi Ubuntu 18.04 18.04.1 chưa hoàn thành vào lúc này và hy vọng rằng mã hóa tại nhà sẽ được đưa trở lại (sử dụng fscryptphương pháp mới và tốt hơn nhiều ) trong Ubuntu 18.04.1 18.04.2.

Cho đến thời điểm đó, chúng tôi vẫn gắn bó với Ubuntu 16.04. Chúng tôi đã chuyển tất cả các máy của mình sang Linux Mint 19 Tara bằng cách sử dụng mã hóa cổ điển tại nhà ecryptfs. Đọc phần "các vấn đề đã biết" trong Ghi chú phát hành cho Linux Mint 19 Tara về các ecryptfshạn chế và xem điều này có được bạn chấp nhận không:

(...) Xin lưu ý rằng trong Mint 19 và các bản phát hành mới hơn, thư mục chính được mã hóa của bạn không còn được cập nhật khi đăng xuất.

Nếu bạn đã thử fscryptvà thấy nó bị hỏng khi sử dụng, bạn có thể bình chọn "lỗi này cũng ảnh hưởng đến tôi" tại lỗi launchpad sau:


Lưu ý rằng fscrypt/ ext4-crypt("nhà mã hóa" trong tương lai) là tùy chọn nhanh nhất và ecryptfs("nhà mã hóa" cũ) là tùy chọn chậm nhất. LUKS("mã hóa toàn bộ ổ đĩa") ở giữa.

Vì lý do này, toàn bộ mã hóa đĩa được 'khuyến khích'. Bởi vì nếu bạn có các dự án rất lớn với nhiều tệp nhỏ, hãy sử dụng quản lý sửa đổi nhiều, biên dịch lớn, vân vân, bạn sẽ thấy rằng việc mã hóa toàn bộ ổ đĩa của bạn thực sự đáng giá so với sự chậm chạp của loại ecryptfs cũ mã hóa nhà.

Cuối cùng, mã hóa toàn bộ ổ đĩa có nhiều nhược điểm:

  • Tài khoản khách
  • Máy tính xách tay gia đình có tài khoản riêng
  • Sử dụng phần mềm chống trộm giống như PREY

Thật khó hiểu khi Canonical quyết định rằng "chúng tôi không cần điều này nữa" trên phiên bản LTS của họ, được biết đến như là bản phân phối "nghiêm túc" hơn của họ.


2
Ubuntu 18.04.1 đã được phát hành ngày hôm nay, với cả hai lỗi vẫn còn tồn tại. Tôi hy vọng sẽ thấy fscrypt vào ngày 18.04.2, nhưng bây giờ tôi hơi lạc quan hơn một chút. Vui lòng cập nhật!
Nonny Moose

2
@NonnyMoose được cập nhật - xem phần in đậm ở giữa bài viết của tôi.
Redsandro

3
ồ Khi mọi người nâng cấp từ 16.04 lên 18.04, điều gì xảy ra với ~!?
MaxB

2
HÃY CẨN THẬN: Tôi đã làm theo hướng dẫn từ "hướng dẫn ưu tiên" đó (đã thực hiện theo tty) và có vòng đăng nhập vô hạn. Đã thử hai lần khi cài đặt 18.10 mới với kết quả tương tự.
PetroCliff

2
Trong trường hợp ai đó đã vào vòng đăng nhập vô hạn sau khi mã hóa, nhưng có thể đăng nhập bằng tty. Trong trường hợp của tôi, nó được gây ra bởi chủ sở hữu sai của /home/myuserthư mục. Nó là root vì một số lý do, vì vậy việc thay đổi chủ sở hữu thành người dùng của tôi đã giải quyết vấn đề.
PetroCliff

8

Từ câu trả lời của Panther ở đây Mã hóa toàn bộ đĩa mã hóa mọi thứ bao gồm / home trong khi chỉ mã hóa một thư mục cụ thể như / home chỉ được ghi nhận khi bạn không đăng nhập.

Để mã hóa thư mục nhà của người dùng hiện có:

Đăng xuất đầu tiên của tài khoản đó và đăng nhập vào tài khoản quản trị viên:

cài đặt các tiện ích mã hóa cho công việc:

 sudo apt install ecryptfs-utils cryptsetup

từ đó launchpad lỗi ecryptfs-utils hiện đang có trong repo vũ trụ.

di chuyển thư mục nhà của người dùng đó:

sudo ecryptfs-migrate-home -u <user>

theo sau là mật khẩu người dùng của tài khoản đó

Sau đó đăng xuất và đăng nhập vào tài khoản người dùng được mã hóa - trước khi khởi động lại! để hoàn thành quá trình mã hóa

Bên trong tài khoản in và ghi lại cụm mật khẩu phục hồi:

ecryptfs-unwrap-passphrase

Bây giờ bạn có thể khởi động lại và đăng nhập. Một khi bạn hài lòng, bạn có thể xóa thư mục nhà dự phòng.

Ngoài ra nếu bạn muốn tạo một người dùng mới với thư mục nhà được mã hóa:

sudo adduser --encrypt-home <user>

Để biết thêm thông tin: man ecryptfs-Migrate-home ; người đàn ông ecryptfs-setup-private


2
Cảm ơn câu trả lời, ptetteh. Tôi đã thử phương pháp đó vào một ngày khác, nhưng nó dường như gây ra vấn đề khi đăng nhập. Đôi khi nó sẽ đóng băng trên màn hình đăng nhập và khiến tôi phải khởi động lại. Tôi đã cài đặt lại 18.04 chỉ để đảm bảo rằng đó không phải là vấn đề khác gây ra sự cố và cho đến nay mọi thứ dường như đều ổn. Nếu ecryptfs bây giờ được coi là không phù hợp để được bao gồm theo mặc định, tôi nghĩ điều tốt nhất sẽ là cho tôi sử dụng LUKS hoặc fscrypt.
elight24

1
Nó làm việc cho tôi trong một cài đặt sạch (18.04.1). Tôi đã phải làm điều đó trong "chế độ phục hồi". Unwrap không được yêu cầu như khi bạn đăng nhập, nó sẽ thông báo cho bạn về nó và yêu cầu bạn viết ra cụm mật khẩu được tạo. Cảm ơn!
lepe

2
ecryptfs sẽ không hoạt động nếu bạn có một số tên đường dẫn dài hơn (> ~ 140 ký tự) trong thư mục chính của bạn. Xem unix.stackexchange.com/questions/32795/NH
Sebastian Stark

1

Cá nhân, tôi gần như không bao giờ khuyến nghị sử dụng Mã hóa hệ thống tệp (FSE) cho bất kỳ ai, trong hầu hết các trường hợp sử dụng. Có một số lý do, không phải ít nhất trong số đó là thực tế của các giải pháp thay thế hiện có và hiệu quả hơn. Tất cả các bạn nói như thể chỉ có hai tùy chọn, là FSE hoặc FDE (Mã hóa toàn bộ đĩa). Tuy nhiên, đó không phải là trường hợp đơn giản. Trên thực tế, có hai tùy chọn khác có thể mang lại lợi ích lớn hơn cho OP, đó là Lưu trữ mã hóa và lưu trữ mã hóa tệp.

Mã hóa vùng chứa tệp là những gì phần mềm như Veracrypt và Truecrypt hiện không còn tồn tại được viết cho. Mã hóa vùng chứa được tích hợp vào hầu hết các phần mềm lưu trữ nén tệp như Winzip và 7zip, như một tùy chọn khi tạo một kho lưu trữ như vậy.

Cả hai đều có nhiều ưu điểm so với FSE, rõ ràng nhất là bạn không cần phải gắn chúng trong khi bạn không làm việc với các tệp được mã hóa của mình. Điều đó ngăn bất kỳ ai có thể truy cập những người có thể ghi đè lên sự bảo vệ của khóa hồ sơ người dùng và khóa màn hình. Ngoài ra, bạn có thể làm điều gì đó ngu ngốc, như bước ra khỏi máy tính của mình, nhưng quên khóa màn hình hoặc cho phép ai đó sử dụng máy tính và hy vọng họ sẽ không nhìn trộm các thư mục ẩn của bạn. Ngoài ra, bạn có thể dễ dàng di chuyển một lượng lớn tệp cùng một lúc mà không cần mã hóa chúng theo cách khác, vì các thùng chứa có thể mang theo được.

Một lợi thế mà các thùng chứa Veracrypt rất hữu ích là chúng có thể được gắn dưới dạng một ổ đĩa và cho phép bạn định dạng chúng bằng một hệ thống tệp riêng biệt, tốt nhất là hệ thống tệp không ghi nhật ký, như EXT2 hoặc FAT32. Nhật ký hệ thống tập tin có thể có khả năng rò rỉ thông tin cho kẻ tấn công. Tuy nhiên, nếu tất cả những gì bạn đang làm là ẩn ảnh cá nhân của bạn, thì đây có thể không phải là tất cả những gì liên quan đến bạn. Mặt khác, nếu bạn có bí mật nhà nước hoặc dữ liệu được bảo vệ hợp pháp, thì nó có thể. Bạn cũng có thể đặt chúng để tự động gắn kết khi khởi động, nếu sử dụng tệp chính. Tuy nhiên, điều đó không được khuyến khích, vì tệp khóa sẽ cần được lưu trữ ở nơi nào đó kém an toàn hơn so với nơi FSE lưu trữ khóa hồ sơ người dùng.

Cả hai đều cung cấp khả năng sử dụng nén tập tin. Bạn cũng có thể ẩn tên tệp, mặc dù, không phải lúc nào cũng sử dụng khi lưu trữ nén, tùy thuộc vào thuật toán nén nhất định được sử dụng.

Cá nhân, tôi sử dụng mã hóa vùng chứa cho các tệp sẽ không được di chuyển và lưu trữ được mã hóa cho các tệp sẽ được di chuyển hoặc lưu trữ trên đám mây, vì đó là kích thước tệp nhỏ hơn.

Mã hóa thư mục Home vẫn có thể với mã hóa vùng chứa. Có thể lưu trữ khóa mã hóa của bạn trên YubiKey?

Dù sao, tôi chỉ muốn cung cấp cho bạn một số lựa chọn thay thế mà không được đề cập bởi các áp phích khác. Hãy đồng ý hoặc không đồng ý với bất cứ điều gì tôi đã nói.


8
Chào. Tôi có một số nhận xét về ví dụ "người giữ trẻ" của bạn: - trước tiên, ở nhiều nơi, mọi người có thể mong đợi người giữ trẻ trung bình là một thiếu niên theo mặc định, điều này làm cho một chút tương tự đáng lo ngại khi thả vào một chủ đề như thế này. Thứ hai, tôi chỉ muốn khẳng định rằng có nhiều trường hợp sử dụng mã hóa tốt hơn nhiều so với việc che giấu một bí mật tội lỗi.
mwfearnley

Các thùng chứa có kích thước cố định, mã hóa hệ thống tệp (fscrypt, eCryptfs, EncFS, v.v.) chỉ chiếm nhiều dung lượng như các tệp và có thể tăng & thu nhỏ tương ứng. QED. PS bạn dường như không biết rằng eCryptfs chỉ có thể mã hóa một thư mục duy nhất ở nhà, chỉ được giải mã theo ý thích.
Xen2050

3
Thành thật mà nói, câu trả lời này là hữu ích, nhưng nội dung gây khó chịu. Đơn giản là do liên kết mã hóa với hoạt động tội phạm, như thể không có đủ điều đó trên phương tiện truyền thông. Mã hóa là để bảo vệ khỏi hoạt động tội phạm. Tôi không thể upvote do điều này. Ill xóa bình luận này một khi chỉnh sửa xảy ra.
Todd

1
Lưu ý rằng nếu bạn không thể tin tưởng root (uid: 0), thì bạn không thể sử dụng hệ thống cho bất kỳ mã hóa nào (có thể là FSE, container hoặc lưu trữ). Tất cả các hệ thống mã hóa đều dễ bị tổn thương nếu bạn mở mã hóa và rời khỏi hệ thống mà không khóa nó an toàn. Ngoài ra, nếu bạn không mã hóa toàn bộ hệ thống tệp của mình, bạn phải hiểu rằng có khả năng tất cả các ứng dụng chạm vào các tệp bí mật sẽ có khả năng tạo ra các bản sao không được mã hóa bên ngoài phân vùng bảo mật của bạn.
Mikko Rantalainen

0

Nếu bạn, giống như tôi, đang thực hiện cài đặt mới Ubuntu 18.04 so với Ubuntu 16.04 và trước đó bạn đã mã hóa /home, bạn sẽ thấy rằng bạn không thể đăng nhập sau khi cài đặt. Tất cả những gì bạn cần làm là cài đặt các gói liên quan đến ecryptfs : sudo apt install ecryptfs-utils cryptsetup, khởi động lại và đăng nhập.

Để cài đặt các gói đó, bạn có thể đăng nhập vào một tty dự phòng sau khi budgie đã tải ( Cntrl+ Alt+ F1) hoặc nhập vào chế độ khôi phục linux và cài đặt nó từ đó.

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.