Зашифруйте несколько файлов сразу

Я не проверил, что Вы получите то, что Вы хотите с ним, но первой вещью, которую я попробовал бы, является контрольная подсистема. Удостоверьтесь что auditd демон запускается, затем используйте auditctl настраивать то, что Вы хотите зарегистрировать. Для обычных доступов к файловой системе Вы сделали бы

auditctl -w /path/to/directory
auditctl -a exit,always -S fnctl -S open -S flock -F dir=/path/to/directory

-S опция может использоваться для ограничения входа определенным syscalls. Журналы появляются в /var/log/audit/audit.log на Debian, и вероятно на Fedora также.

Если Вы действительно знаете, какой процесс (процессы) может заблокировать файл, то рассмотрите выполнение strace на этих процессах (и только рассмотрение связанных с файлом системных вызовов или дальнейшее ограничение определенным syscalls).

strace -s9999 -o foo.strace -e file foo

10
24.07.2012, 19:36
8 ответов
Is there a way to pass multiple filenames to gpg to have it encrypt all of
them in one go?

Нет, нет.

Вы, вероятно, захотите передать пароль с одной из следующих gpg опций (последний был бы самым безопасным выбором):

--passphrase
--passphrase-file
--passphrase-fd
5
27.01.2020, 20:01

Так как GnuPG не поддерживает это непосредственно, способ сделать, это должно было бы добавить другой слой, например, использование tar.

tar c project1.7z project2.7z | gpg --cipher-algo AES256 --compression-algo BZIP2 -co projects.gpg

И извлечь:

gpg -d projects.gpg | tar x

С Вами оставят project1.7z и project2.7z. Ваш сценарий может затем взять, где Вы кончили.

10
27.01.2020, 20:01
[1123717] Если вы хотите попробовать что-то другое, то в GPG есть другие методы резервного копирования для шифрования нескольких файлов:
  • оригинальный источник: [1124141]http://www.obsd.hu/docs/Unix-backup-with-aes.txt
  • Использование: просто используйте "ДИРЕКТОРИИ резервного копирования" для шифрования и "расшифровки ДИРЕКТОРИИ.tar.gz.aes"[1123722].
  • 3
    27.01.2020, 20:01

    Да, есть простой способ:

    for x in *; do 
      gpg -r (yourencrytionkey.com) -o $x.pgp -e $x
    done
    
    -1
    27.01.2020, 20:01

    Сегодня удалось сделать что-то вроде этого:

    1. Изменил каталог на каталог, содержащий целевые файлы, и запустил сценарий Bash, чтобы найти требуемые file_names и перечислить их в текстовый файл, который я назвал found.txt .

    2. Запустить сценарий Bash с просьбой gpg2 прочитать каждое имя файла в цикле и в переменную памяти и в том же цикле зашифровать его, используя мой ключ подписи и указав, что он предназначен для чтения мной. gpg2 выводит всплывающее окно для ввода вашей парольной фразы, во всплывающем окне есть небольшой флажок, где вы можете выбрать, чтобы ваша парольная фраза оставалась активной для сеанса. Плохая практика, но не так уж и плохо, если после этого вы не в сети и сразу после сеанса шифрования отключаете питание.

    3. Единственная проблема заключалась в том, что нужно было разобраться с тупиком. Так что я сел, положив палец на клавишу Y, и зашифровал 51 файл nos менее чем за минуту.


    Сценарии приведены ниже:

    Сценарий поиска представлял собой файл с именем FindFilesAndListtoTextfile.sh :

    #! /usr/bin/bash
    #Try this to list the files you want using the appropriate file identifier i.p.o "DSCN.*":
    
    source="/home/myself/Whatever  #note no gaps on either side of the equal-to sign 
     target="/home/myself/Whatever/found.txt"
     find $source -name "*DSCN*" -type f > $target       
    

    Сценарий шифрования назывался ReadFilenameAndEncrypt.sh:

    #!/bin/bash
    line="/home/myself/Whatever/found.txt"
    while IFS='' read -r line || [[ -n "$line" ]]; do
        echo "Text read from file: $line"
        gpg2 -e -u mysecretkeyID -r mysecretkeyID "$line"
      done < "$1"
    

    Это должно быть запустить как обычный пользователь:

    $ bash ReadFilenameAndEncrypt.sh found.txt
    

    Надеюсь, это поможет. Не понял, как избежать т / п.

    1
    27.01.2020, 20:01

    echo "Введите пароль:"

    читать пароль

    найти. -type f -exec gpg --passphrase $ password -c {} \;

    Хмммммм GPG запрашивает с GraphicMessageBox пароль для каждого файла.

    Итак, я решил использовать CRYBULL (программу криптографии, которую я создал) в C-ANSI. Вы можете бесплатно скачать на сайте www.labolida.com

    find. -type f -exec crybull {} {} .cry $ password encode \;

    -1
    27.01.2020, 20:01

    Следующая команда работает для меня, пока у меня нет имен файлов с пробелами в них.

    for file in $(ls | grep -v ".gpg"); do gpg -c --cipher-algo AES256 --compress-algo 1 --batch --passphrase "<password>" $file && rm -f $file; done
    

    Вы также можете использовать команду find.

    for file in $(find /home -type f | grep -v ".gpg"); do gpg -c --cipher-algo AES256 --compress-algo 1 --batch --passphrase "<password>" $file && rm -f $file; done
    

    Наконец, если вы хотите использовать файл для пароля, используйте:

    --passphrase-file <filename>
    
    0
    27.01.2020, 20:01

    Текущий gpg имеет опцию для этого:

    gpg --encrypt-files --recipient me@example.com *.txt
    

    создает файл .txt.ascдля каждого файла .txt.

    Ссылки:

    2
    02.05.2021, 12:03

    Теги

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