Cách mã hóa và giải mã các tệp và thư mục trong Linux | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách mã hóa và giải mã các tệp và thư mục trong Linux

Chia sẻ kiến thức 05/03/2022

Bạn muốn mã hóa các tệp hoặc thư mục một cách nhanh chóng? Đây là cách bảo mật dữ liệu của bạn với OpenSSL trong Linux.

Bạn muốn mã hóa các tệp hoặc thư mục một cách nhanh chóng? Đây là cách bảo mật dữ liệu của bạn với OpenSSL trong Linux.

Bạn đã bao giờ muốn nhanh chóng và dễ dàng mã hóa các tệp trong Linux mà không cần phải cài đặt và tìm hiểu các gói phần mềm mới? Đây là một cách tuyệt vời để dễ dàng mã hóa tệp hoặc thư mục thông qua AES256 được bảo mật bằng mật khẩu, khiến người khác không thể truy cập được vào các tệp (file) và thư mục (folder/directory) của bạn.

1. Cài đặt OpenSSL

Bạn cần cài đặt gói OpenSSL phổ biến, vì vậy trước tiên hãy kiểm tra xem nó đã được cài đặt bằng lệnh Linux chưa :

openssl version

Nếu kết quả hiển thị số phiên bản hiện tại, bạn đã sẵn sàng cho các bước tiếp theo. Ngược lại, nếu bạn nhận được lỗi “command not found” (không tìm thấy lệnh), bạn có thể dễ dàng cài đặt OpenSSL thông qua apt-get:

sudo apt-get -y install openssl

2. Mã hóa và giải mã tệp

Ví dụ: nếu bạn muốn mã hóa một tệp có tên data.tar.gz, bạn sẽ chạy lệnh:

openssl aes-256-cbc -a -salt -iter 5 -in data.tar.gz -out data.enc

Bạn sẽ được nhắc nhập mật khẩu mã hóa hai lần, mật khẩu có thể là bất cứ thứ gì bạn muốn. Lệnh này sẽ dẫn đến một tệp data.enc mới là tệp mới được mã hóa. Xin lưu ý, thao tác này sẽ giữ nguyên vị trí của tệp data.tar.gz gốc, vì vậy hãy đảm bảo xóa tệp đó nếu cần.

Khi bạn muốn, bạn có thể giải mã tệp data.enc bằng lệnh:

openssl aes-256-cbc -d -a -iter 5 -in data.enc -out data_decrypted.tar.gz

Lệnh trên sẽ nhắc bạn nhập mật khẩu mã hóa, sau đó tạo ra tệp data_decrypted.tar.gz chứa phiên bản được giải mã của tệp.

3. Mã hóa và giải mã thư mục

Các lệnh trong phần trên hoạt động tốt với các tệp riêng lẻ, nhưng điều gì sẽ xảy ra nếu bạn muốn mã hóa toàn bộ thư mục? Không có hỗ trợ tích hợp trong OpenSSL cho việc này, nhưng nhờ sự kỳ diệu của Linux, đây không phải là vấn đề. Ví dụ: nếu bạn muốn mã hóa một thư mục có tên “documents”, bạn có thể sử dụng lệnh:

tar -cf tmpdata.tar documents && gzip tmpdata.tar && openssl aes-256-cbc -a -salt -iter 5 -in tmpdata.tar.gz -out documents.enc && rm -f tmpdata.tar.gz

Lệnh này khá dài, nhưng hai vị trí duy nhất trong lệnh trên mà bạn cần sửa đổi là “documents” trong phân đoạn đầu tiên là thư mục để mã hóa và “documents.enc ” trong phân đoạn thứ ba là tệp được mã hóa. Lệnh này sẽ lưu trữ (archive) thư mục, mã hóa nó, sau đó xóa tệp lưu trữ tạm thời đã tạo, để lại một tệp Documents.enc được mã hóa để thay thế cho nó. 

Việc giải mã tệp Documents.enc mới được tạo cũng dễ dàng bằng lệnh:

openssl aes-256-cbc -d -a -iter 5 -in documents.enc -out tmpdata.tar.gz && tar -xzf tmpdata.tar.gz && rm -f tmpdata.tar.gz

Phần duy nhất của lệnh trên mà bạn cần sửa đổi là “Documents.enc ” trong phân đoạn đầu tiên là tên của tệp được mã hóa. Lệnh này sẽ nhắc bạn nhập mật khẩu mã hóa, tiến hành giải mã và giải nén tệp lưu trữ, sau đó xóa tệp lưu trữ tạm thời, chỉ để lại thư mục được giải mã.

4. Bảo vệ dữ liệu của bạn

Giờ thì bạn đã biết việc mã hóa và giải mã dữ liệu của mình nhanh chóng dễ dàng như thế nào, hãy trang bị kiến ​​thức để sử dụng và giữ an toàn cho dữ liệu cá nhân của bạn cũng như tránh bị rò rỉ dữ liệu. Lưu ý là cách làm trên không nhằm mục đích trốn tránh cơ quan thực thi pháp luật hoặc các tin tặc tay nghề cao. 

Tuy nhiên, nếu bạn chỉ muốn bảo vệ dữ liệu của mình trước những con mắt tò mò xung quanh mình, thì các phương pháp trên là quá đủ. 

Dịch từ: https://www.makeuseof.com/how-to-easily-encrypt-and-decrypt-files-and-directories-in-linux/

 

Vân Nguyễn

 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại