Nén thư mục bằng mật khẩu qua dòng lệnh


59

Tôi muốn biết liệu có thể làm như sau thông qua CLI.

Tôi có một Thư mục Fchứa một số thư mục con và một số tệp. Tôi muốn nén thư mục Fvào .ziptập tin với "chỉ trích xuất mật khẩu".



1
Google ... → hãy dừng lại việc đưa bất kỳ tin tưởng vào mật khẩu zip “bảo vệ” - xem trả lời dưới đây
Frank Nocke

Câu trả lời:


67

Chuyển đến thư mục có liên quan bằng cách sử dụng cdlệnh như thế này:

cd /path/to/folder/

(Nếu thư mục của bạn Fnằm trong thư mục Nhà của bạn, bạn có thể thực hiện cd ~.)

Sau đó, nhập vào thiết bị đầu cuối của bạn:

zip -er F.zip F

Điều này sẽ nhắc bạn nhập mật khẩu. Cung cấp cho nó, và điều đó sẽ tạo ra một tệp zip được bảo vệ bằng mật khẩu từ thư mục đó.

  • -echo phép mã hóa cho tập tin zip của bạn. Đây là những gì làm cho nó yêu cầu mật khẩu.
  • -r làm cho lệnh đệ quy, nghĩa là tất cả các tệp trong thư mục sẽ được thêm vào tệp zip.
  • F.zip là tên của tệp đầu ra.
  • F là thư mục bạn muốn nén.

Có một tùy chọn được gọi là -Psẽ cho phép bạn truyền mật khẩu trong chính lệnh đó, nhưng điều đó không tốt vì luôn có mối đe dọa nhìn trộm qua vai . Ngoài ra những người dùng khác có thể xem mật khẩu bằng cách sử dụng ps -eflệnh nếu bạn sử dụng -Pchuyển đổi. Với -Pcông tắc đó , lệnh sẽ như thế này:

zip -P password -r F.zip F
  • Truy cập man zipđể biết thêm thông tin.

-e có nghĩa là mã hóa
depunumax

Này, tôi chỉ chỉnh sửa câu hỏi của bạn để bao gồm một chút bối cảnh. Nhưng bạn có thể chỉnh sửa nó để bao gồm -e means encryptnhận xét của bạn , cũng như ý nghĩa của -rtùy chọn. Cảm ơn!
Alaa Ali

Tx Dedunu cho đầu vào của bạn. Chỉ cần làm rõ thêm một lần nữa. Nếu tôi cần tự động hóa điều này ... Ý tôi là gì nếu thay vì nhắc mật khẩu, tôi có thể tự đặt mật khẩu trong lệnh không?
UnderDog

Tôi cũng nói thêm.
depunumax

1
Nhưng nó không được khuyến khích sử dụng vì lịch sử của bạn sẽ được ghi lại. nếu không, những người dùng khác có thể thấy mật khẩu của bạn bằng "ps aux"
depunumax

40

Mã hóa của các tệp zip yếu và có thể bị phá vỡ rất dễ dàng. Thay vào đó hãy sử dụng 7zip.

7z a -p Fdirectory.7z /path/to/F
  • a lệnh cho 7zip để thêm tập tin.
  • -p Bạn có thể, để trống, để nó hỏi bạn tương tác hoặc nhập mật khẩu của bạn ở đây.
  • Fdirectory.7z là tên của kho lưu trữ sẽ được tạo.
  • /path/to/Flà đường dẫn của thư mục của bạn. Nó có thể là đường dẫn tương đối hoặc đầy đủ.

Không nên nhập mật khẩu vào trình bao vì mọi người có quyền truy cập vào /procthư mục đều được hiển thị .


3
Có vẻ như nếu bạn -pchỉ chuyển đến 7zvà bỏ qua mật khẩu, nó sẽ yêu cầu nó tương tác - thậm chí là lần thứ hai để xác nhận.
ssc

@ssc đó là tùy chọn hữu ích nhất, nhưng nó không có trong các trang hướng dẫn ..
Braiam

Tôi đã thử lệnh trên để nén một thư mục có vài tệp có kích thước tổng cộng ~ 19kB. Tuy nhiên, phải mất khoảng 2 phút! Tại sao phải mất một thời gian dài?
BringBackCoosore64

2
@ BringBackCoosore64 Đừng sử dụng cờ -r để lặp lại. 7z sẽ lặp lại thư mục nguồn mà không có cờ đó. -rthay vào đó sẽ thêm tất cả các tệp và thư mục con của thư mục làm việc hiện tại . Trang dành cho 7z đặc biệt cảnh báo chống lại điều này và nói rằng nên tránh cờ này. linux.die.net/man/1/7z
Håken Nắp

1
@ rubo77 bất kỳ định dạng nào cũng có thể bị bruteforcing, nhưng 7zip algo không dễ bị phá vỡ như được hiển thị bởi chính câu trả lời trong đó mật khẩu> 12 ký tự có thể là không thể.
Braiam
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.