Можно ли использовать команду scrypt для шифрования всех файлов в папке?

Я уже пытался использовать scrypt для шифрования отдельных файлов, и, похоже, он работает довольно хорошо.

Но что, если я хочу зашифровать все файлы в папке?

Согласно man-странице scrypt - инструмент для шифрования файлов.

Есть ли способ шифровать все файлы в папке?

0
задан 22 May 2017 в 10:59

2 ответа

Можно использовать encfs для шифрования папки:

Метод 1:

Установить его: sudo apt install encfs Создать необходимые каталоги, один для зашифрованных данных, а другой для доступа к ним: encfs ~/.encrypt ~/visible Принять запросы, сделанные encfs, затем дать ему пароль по своему вкусу. Теперь поместите файлы для защиты в папку ~/visible. Чтобы скрыть их, выполните: fusermount -u ~/visible # This will hide all files in there. Чтобы снова запустить их, выполните: encfs ~/.encrypted ~/visible # This will ask you for your password so the files # in ~/visible will be seen and accessed

Источник:

https://help.ubuntu.com/community/FolderEncryption

Способ 2:

Используйте Gnome Encfs Manager

Установите его: sudo apt install encfs

Установите его:

Способ 3:

Использовать программу Gnome Encfs Manager для использования GUI для достижения того же, что и в методе 1.

for i in /home/$USER/Documents/koko/*; do scrypt enc "$i" "$i-sc"; done

Используя сценарий терминала, вы можете используйте scrypt для достижения этого:

Установите его:

Создайте необходимые каталоги, один для зашифрованных данных, а другой для доступа их: encfs ~/.encrypt ~/visible

Способ 4

Дополнительная информация:

#!/bin/bash echo "Running script..." echo " " echo "Please enter the names of folder to encrypt file contents" echo "and folder to store the passwords for the files" echo " " read -p 'Files location: ' folder read -p 'Password storage location: ' passwdlocation read -p 'name of password file: ' mypasswords echo " " if [[ -z "$folder" || -z "$passwdlocation" ]];then echo "Please supply the required folder names" exit 1 else if [ -d "/home/$USER/Documents/"$passwdlocation"" ]; then # If password folder exists ask user if it should be deleted read -n1 -p "/home/$USER/Documents/"$passwdlocation" exists, delete Y or N?" doit echo case "$doit" in y|Y) rm -R /home/$USER/Documents/"$passwdlocation" && mkdir /home/$USER/Documents/"$passwdlocation";; n|N) echo "Script terminated by user" && exit 1;; *) echo esac else mkdir /home/$USER/Documents/"$passwdlocation" fi # Is it a directory if [[ -d "$folder" ]]; then # Make sure target folder has files in it if [ ! "$(ls -A "/home/$USER/Documents/"$folder"" 2> /dev/null)" == "" ]; then # Check if password file already exists # if it does ask to delete of write to it if [ "$( ls -A "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" 2> /dev/null)" == "" ]; then read -n1 -p ""$mypasswords".txt already exists, delete Y or N? " doagain echo case "$doagain" in y|Y) rm -rf "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt";; n|N) echo "file not deleted!";; *) echo "Operation successful";; esac else fi for i in "$folder"/* do # Create random passwords filepasswd=$(strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n';) scrypt enc -P "$i" "$i-sc" <<< "$filepasswd" # Add password to password store location echo -n "$i-sc $filepasswd" >> "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" echo -e "\n" >> "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" echo "$i Done" done else echo "The target "$folder" is empty!" exit 1 fi else echo "Invalid arguments .. please supply directory names" exit 1 fi fi echo "Script finished"
1
ответ дан 18 July 2018 в 12:56

Можно использовать encfs для шифрования папки:

Метод 1:

Установить его: sudo apt install encfs Создать необходимые каталоги, один для зашифрованных данных, а другой для доступа к ним: encfs ~/.encrypt ~/visible Принять запросы, сделанные encfs, затем дать ему пароль по своему вкусу. Теперь поместите файлы для защиты в папку ~/visible. Чтобы скрыть их, выполните: fusermount -u ~/visible # This will hide all files in there. Чтобы снова запустить их, выполните: encfs ~/.encrypted ~/visible # This will ask you for your password so the files # in ~/visible will be seen and accessed

Источник:

https://help.ubuntu.com/community/FolderEncryption

Способ 2:

Используйте Gnome Encfs Manager

Установите его: sudo apt install encfs

Установите его:

Способ 3:

Использовать программу Gnome Encfs Manager для использования GUI для достижения того же, что и в методе 1.

for i in /home/$USER/Documents/koko/*; do scrypt enc "$i" "$i-sc"; done

Используя сценарий терминала, вы можете используйте scrypt для достижения этого:

Установите его:

Создайте необходимые каталоги, один для зашифрованных данных, а другой для доступа их: encfs ~/.encrypt ~/visible

Способ 4

Дополнительная информация:

#!/bin/bash echo "Running script..." echo " " echo "Please enter the names of folder to encrypt file contents" echo "and folder to store the passwords for the files" echo " " read -p 'Files location: ' folder read -p 'Password storage location: ' passwdlocation read -p 'name of password file: ' mypasswords echo " " if [[ -z "$folder" || -z "$passwdlocation" ]];then echo "Please supply the required folder names" exit 1 else if [ -d "/home/$USER/Documents/"$passwdlocation"" ]; then # If password folder exists ask user if it should be deleted read -n1 -p "/home/$USER/Documents/"$passwdlocation" exists, delete Y or N?" doit echo case "$doit" in y|Y) rm -R /home/$USER/Documents/"$passwdlocation" && mkdir /home/$USER/Documents/"$passwdlocation";; n|N) echo "Script terminated by user" && exit 1;; *) echo esac else mkdir /home/$USER/Documents/"$passwdlocation" fi # Is it a directory if [[ -d "$folder" ]]; then # Make sure target folder has files in it if [ ! "$(ls -A "/home/$USER/Documents/"$folder"" 2> /dev/null)" == "" ]; then # Check if password file already exists # if it does ask to delete of write to it if [ "$( ls -A "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" 2> /dev/null)" == "" ]; then read -n1 -p ""$mypasswords".txt already exists, delete Y or N? " doagain echo case "$doagain" in y|Y) rm -rf "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt";; n|N) echo "file not deleted!";; *) echo "Operation successful";; esac else fi for i in "$folder"/* do # Create random passwords filepasswd=$(strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n';) scrypt enc -P "$i" "$i-sc" <<< "$filepasswd" # Add password to password store location echo -n "$i-sc $filepasswd" >> "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" echo -e "\n" >> "/home/$USER/Documents/"$passwdlocation"/"$mypasswords".txt" echo "$i Done" done else echo "The target "$folder" is empty!" exit 1 fi else echo "Invalid arguments .. please supply directory names" exit 1 fi fi echo "Script finished"
1
ответ дан 24 July 2018 в 20:04
  • 1
    У меня он уже только пытается настроить его ... скоро обновится – George Udosen 22 May 2017 в 15:12
  • 2
    Привет, Джордж. Я заметил, что в вашем ответе теперь используется метод scrypt. Я постараюсь сделать это завтра, если смогу, и оставить отзыв, если он будет работать. – Vesa 22 May 2017 в 15:22
  • 3
    Привет, Джордж. Я заметил, что ты такой же классный чувак, который помогал мне в последний раз, когда я спрашивал о scrypt. В то время я хотел использовать пароль из stdin в однострочном. Теперь я пытаюсь объединить оба однострочника. Например: for i in koko / *; сделать scrypt enc -P & quot; $ i & quot; & Quot; $ я-SC & Quot; & Л; & л; & л; & Quot; passtest123 & Quot ;; сделанный. Однако, похоже, он не работает. Когда я использовал только вашу линию, она работала, но мне пришлось вводить пароль вручную. Можем ли мы сделать этот однострочный цикл через все файлы, зашифровать их, а также использовать пароль из stdin в одном и том же лайнере? – Vesa 22 May 2017 в 15:31
  • 4
    Будьте терпеливы уже на нем, когда через пост после тестирования скрипта, и там работает. Папка должна находиться в каталоге /home/$USER. Следите за обновлениями – George Udosen 22 May 2017 в 15:47

Другие вопросы по тегам:

Похожие вопросы: