Сжатие папок с помощью пароля через командную строку

Я хотел бы узнать, можно ли сделать следующее через CLI.

У меня есть папка F которая содержит несколько подпапок и некоторые файлы. Я хочу сжать папку F в .zip файл с помощью «password-only-extract».

Перейдите в соответствующую папку с помощью команды cd следующим образом:

 cd /path/to/folder/ 

(Если ваша папка F находится в вашей домашней папке, вы можете просто сделать cd ~ .)

Затем введите свой терминал:

 zip -er F.zip F 

Появится запрос на ввод пароля. Дайте это, и это создаст защищенный паролем zip-файл из этой папки.

  • -e позволяет шифровать ваш zip-файл. Именно это заставляет его запрашивать пароль.
  • -r делает команду рекурсивной, что означает, что все файлы внутри папки будут добавлены в zip-файл.
  • F.zip – это имя выходного файла.
  • F – папка, которую вы хотите закрепить.

Существует опция, называемая -P , которая позволит вам передать пароль в самой команде, но это не хорошо, потому что всегда существует угроза заглянуть за плечо . Кроме того, другие пользователи могут видеть пароль с помощью команды ps -ef если вы используете -P переключатель. С помощью этого переключателя -P команда будет выглядеть так:

 zip -P password -r F.zip F 
  • Посетите man zip для получения дополнительной информации.

Шифрование zip-файлов является слабым и может быть легко сломано. Вместо этого используйте 7zip.

 7z a -p Fdirectory.7z /path/to/F 
  • команда сообщает 7zip добавлять файлы.
  • -p Вы можете либо оставить его пустым, чтобы он запрашивал вас в интерактивном режиме, либо введите здесь свой пароль.
  • Fdirectory.7z – это имя создаваемого архива.
  • /path/to/F – путь вашего каталога. Это может быть относительный или полный путь.

Рекомендуется не вводить пароль в оболочке, поскольку он доступен всем, у кого есть доступ к каталогу /proc .