コマンドラインを介してパスワードでフォルダーを圧縮する


59

CLIを使用して次のことができるかどうかを知りたいのですが。

私は、フォルダの持っているFいくつかのサブフォルダといくつかのファイルが含まれています。「password-only-extract」でフォルダーF.zipファイルに圧縮したい。



1
Googlerは...→入れて中止してください任意の参照- 「保護」のzipパスワードの信頼を以下に答える
フランクNocke

回答:


68

cd次のようなコマンドを使用して、関連するフォルダーに移動します。

cd /path/to/folder/

(フォルダFがホームフォルダにある場合は、単に実行できますcd ~。)

次に、ターミナルに入力します。

zip -er F.zip F

これにより、パスワードの入力が求められます。それを与えると、そのフォルダからパスワードで保護されたzipファイルが作成されます。

  • -ezipファイルの暗号化を有効にします。これが、パスワードを要求する理由です。
  • -r コマンドを再帰的にします。つまり、フォルダー内のすべてのファイルがzipファイルに追加されます。
  • F.zip 出力ファイルの名前です。
  • F は、zip圧縮するフォルダーです。

そこと呼ばれるオプションである-Pあなたは、コマンド自体にパスワードを渡すことができますが、常にあるので、それは良いことではありません肩越しチラッと覗くの脅威が。また、スイッチps -efを使用している場合、他のユーザーはコマンドを使用してパスワードを表示できます-P。この-Pスイッチを使用すると、コマンドは次のようになります。

zip -P password -r F.zip F
  • 詳細man zipについては、をご覧ください。

-eは暗号化を意味します
-dedunumax

ちょっとあなたの質問を編集して、ちょっとした文脈を加えました。ただし、-e means encryptコメントと-rオプションの意味を含めるように編集できます。ありがとう!
アラアアリ

Tx Dedunuを入力してください。もう1つ説明が必要です。これを自動化する必要がある場合はどうなりますか。
アンダードッグ

それも追加しました。
dedunumax

1
ただし、履歴は記録されるため、使用することはお勧めできません。それ以外の場合、他のユーザーは「ps aux」でパスワードを見ることができます
-dedunumax

40

zipファイルの暗号化は脆弱であり、非常に簡単に破ることができます。代わりに7zipを使用してください。

7z a -p Fdirectory.7z /path/to/F
  • a コマンドは、ファイルを追加するよう7zipに指示します。
  • -p 空白のままにして対話形式で尋ねるか、ここにパスワードを入力します。
  • Fdirectory.7z 作成するアーカイブの名前です。
  • /path/to/Fディレクトリのパスです。相対パスまたはフルパスを指定できます。

パスワードは/procディレクトリにアクセスできるすべてのユーザーに表示されるため、シェルにパスワードを入力しないことをお勧めします。


3
パスワード-pのみを渡して7z省略した場合、対話的に-確認のために2回も求められます。
ssc

@sscは最も便利なオプションですが、マニュアルページにはありません
。– Braiam

上記のコマンドを試して、合計で最大約19kBのファイルが少ないフォルダーを圧縮しました。まだ約2分かかります!なぜそんなに時間がかかるのですか?
BringBackCommodore64

2
@ BringBackCommodore64 -rフラグを使用して再帰しないでください。7z 、そのフラグなしでソースディレクトリ再帰します。-r代わりに、現在の作業ディレクトリのすべてのファイルとサブディレクトリを追加します。7zのmanページはこれに対して特に警告しており、このフラグは避けるべきだと述べています。linux.die.net/man/1/7z
ホーケンリッド

1
@ rubo77どんな形式でもブルートフォースの影響を受けやすいが、7zipアルゴリズムは、12文字以上のパスワードが不可能な可能性があるまさにその答えによって示されるように、簡単には解読できない。
Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.