Це команда gpgwrap, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
gpgwrap - невелика обгортка для gpg
СИНТАКСИС
gpgwrap -V
gpgwrap -P [-v] [-i] [-a] [-p ]
gpgwrap -F [-v] [-i] [-a] [-c] [-p ] [-о ] [--] [ ...]
gpgwrap [-в] [-і] [-а] [-стор ] [-о ] [--] gpg [параметри gpg]
ОПИС
Охорона конфіденційності GNU (gpg) надає параметр --passphrase-fd. Це інструктує gpg до
прочитати парольну фразу з заданого дескриптора файлу. Зазвичай цей дескриптор файлу відкривається
перед тим gpg виконується через execvp(3). Саме це і є gpgwrap робить. The
можна передати парольну фразу gpgwrap двома способами:
* як шлях до файлу, де парольна фраза зберігається як звичайний текст у файлі
* він передається з іншої програми на stdin gpgwrap
* крізь GPGWRAP_PASSPHRASE змінна оточення
* gpgwrap підказує до цього
Без будь-яких запобіжних заходів перший пункт підриває безпечну інфраструктуру gpg забезпечує. Але
у чисто пакетно-орієнтованих середовищах це може бути те, що ви хочете. Інакше, якщо ви
готові ввести парольні фрази один раз і не хочуть, щоб вони зберігалися як звичайний текст у файлі
gpg-агент це те, що ви шукаєте. Іншим запереченням безпеки може бути використання
змінна оточення GPGWRAP_PASSPHRASE який містить парольну фразу і може бути прочитаний
інші процеси того самого користувача.
ВАРІАНТИ
-V, --версія
Роздрукуйте версію та вийдіть.
-P, --друк
Отримайте парольну фразу та роздрукуйте її зіпсовано на стандартний висновок.
-F, --файл
Читати gpg команд із зазначених файлів. Якщо is - читається з stdin.
Очікується рівно одна команда на рядок. Даний рядок обробляється в
таким чином:
* По-перше, парольна фраза зіпсована. Це означає, що персонажі незвичайні
замінюються їхніми вісімковими числами, що екрануються зворотною косою рискою.
* По-друге, зіпсована парольна фраза зберігається у змінній середовища
GPGWRAP_PASSPHRASE.
* "exec gpgwrap -- " додається до кожного рядка, перш ніж результат передається як
аргумент до "sh -c".
-h, --допомога
Роздрукуйте інформацію про використання.
-v, -- багатослівний
Підвищити рівень багатослівності.
-i, --інтерактивний
Завжди запитувати парольну фразу (ігнорує -p і змінну середовища).
-а, --запитай-двічі
Запитайте двічі, якщо вам буде запропоновано ввести парольну фразу.
-c, --check-exit-code
Під час читання команд gpg з файлу, gpgwrap ігнорує за замовчуванням код виходу
його дочірніх процесів. Ця опція дозволяє перевірити код виходу. Якщо дитина
закінчується ненормально або з кодом виходу, не рівним 0 gpgwrap негайно зупиняється і
повертається з цим кодом виходу. Дивіться також розділ БУГИ.
-p , --файл-пароль
Прочитайте парольну фразу з . Якщо is - читається з stdin. Парольна фраза
очікується, що це буде відкритим текстом. Якщо цей параметр не вказано, парольна фраза буде
бути взято зі змінної середовища GPGWRAP_PASSPHRASE або це буде
запитується на контрольному tty, якщо змінна середовища не встановлена.
-o , --назва-опції
Вкажіть назву параметра "--passphrase-fd", який розуміє програма
виконано. Це корисно, якщо ви хочете використовувати gpgwrap у поєднанні з іншими
програми, ніж gpg.
ОБМЕЖЕННЯ
На дану парольну фразу поширюються кілька обмежень залежно від способу її передачі
до gpgwrap:
* Існує обмеження розміру: парольна фраза не повинна бути більшою за деякі
кілобайт (перевірте вихідний код на точне обмеження).
* gpgwrap дозволяє використовувати всі символи у парольній фразі навіть \000, але це робиться
не маю на увазі цього gpg прийме це. gpg може відхилити вашу парольну фразу або лише прочитати
його частина, якщо вона містить символи на кшталт \012 (у C також відомий як \n).
* Якщо ви встановили змінну середовища GPGWRAP_PASSPHRASE слід брати спец
турбота про символ зворотної косої риски, тому що gpgwrap використовує зворотну косу риску для екранування вісімкової
цифри, (див. варіант -F). Тому запишіть саму зворотну косу риску як вісімкове число: \134.
ПРИКЛАДИ
1.
gpgwrap -p /шлях/до/а/секрет/файл \
gpg -c -z 0 --пакет --no-tty \
--cipher-algo blowfish < infile > вихідний файл
Прочитайте парольну фразу з /path/to/a/secret/file і виконайте gpg робити симетрично
шифрувати infile і записувати його в outfile.
2.
gpgwrap -і -а \
gpg -c -z 0 --пакет --no-tty \
--cipher-algo blowfish < infile > вихідний файл
Те саме, що вище, за винятком цього gpgwrap двічі запитує парольну фразу.
3.
gpgwrap -F -i - <
gpg --decrypt --batch --no-tty < "$HOME/infile1" > "$HOME/outfile1"
gpg --decrypt --batch --no-tty < "$HOME/infile2" > "$HOME/outfile2"
gpg --decrypt --batch --no-tty < "$HOME/infile3" > "$HOME/outfile3"
gpg --decrypt --batch --no-tty < "$HOME/infile4" > "$HOME/outfile4"
EOL
gpgwrap запитує парольну фразу та виконує чотири екземпляри gpg розшифрувати
надані файли.
4.
GPGWRAP_PASSPHRASE="mysecretpassphrase"
експорт GPGWRAP_PASSPHRASE
gpgwrap -F -c -v /tmp/cmdfile1 - /tmp/cmdfile2 <
gpg --decrypt --batch --no-tty < "$HOME/infile1" > "$HOME/outfile1"
gpg --decrypt --batch --no-tty < "$HOME/infile2" > "$HOME/outfile2"
gpg --decrypt --batch --no-tty < "$HOME/infile3" > "$HOME/outfile3"
gpg --decrypt --batch --no-tty < "$HOME/infile4" > "$HOME/outfile4"
EOL
Те саме, що вище, за винятком цього gpgwrap отримує парольну фразу через середовище
змінної, додатково читає команди з інших файлів і перевіряє код виходу
кожен gpg екземпляр. Це означає, якщо один gpg команда має ненульовий код виходу, ні
виконуються подальші команди. Крім того gpgwrap видає докладний вихід.
5.
GPGWRAP_PASSPHRASE="$(gpgwrap -P -i -a)"
експорт GPGWRAP_PASSPHRASE
знаходити . -maxdepth 1 -тип f |
під час читання FILE; робити
FILE2="$FILE.bz2.gpg"
bzip2 -c "$FILE" |
gpgwrap gpg -c -z 0 --пакет --no-tty \
--cipher-algo blowfish > "$FILE2" &&
торкатися -r "$FILE" "$FILE2" &&
rm -f "$FILE"
зроблений
Прочитати в парольній фразі, стиснути всі файли в поточному каталозі, зашифрувати їх і
зберегти дату з оригінального файлу.
6.
знаходити . -maxdepth 1 -type f -name '*.bz2.gpg' |
awk '{
printf("gpg --decrypt --batch --no-tty --quiet");
printf("--no-secmem-warning < %s\n", $0);
}' |
gpgwrap -F -i -c - |
bzip2 -d -c - |
GREP -i 'дані'
Розшифруйте всі файли *.bz2.gpg у поточному каталозі, розпакуйте їх та роздрукуйте
видаляти всі випадки даних. Якщо передати результат до менше ти потрапляєш у біду
оскільки gpgwrap та менше спробуйте читати з TTY одночасно. У такому випадку
краще використовувати змінну середовища для надання парольної фрази (приклад
вище показано, як це зробити).
7.
GPGWRAP_PASSPHRASE="$(gpgwrap -P -i -a)"
експорт GPGWRAP_PASSPHRASE
gpgwrap -P |
SSH -C -x -P -l хост користувача "
GPGWRAP_PASSPHRASE=\"\$(як)\"
...
"
Двічі попросіть парольну фразу та запишіть її в GPGWRAP_PASSPHRASE навколишнє середовище
змінна.
8.
нудьгувати -n "Парольна фраза: "
stty -луна
зчитування GPGWRAP_PASSPHRASE
нудьгувати
stty нудьгувати
експорт GPGWRAP_PASSPHRASE
Інший спосіб запросити парольну фразу вручну. Це було потрібно в комплексі
зі старішими версіями gpgwrap, бо не підтримали -П. Майте на увазі, що з
цей метод не вимагає автоматичного перетворення в вісімкові числа, що екрануються зворотною косою рискою
місце.
9.
нудьгувати "mysecretpassphrase" |
gpg --batch --no-tty --passphrase-fd 0 \
--вихідний вихідний файл --розшифрувати вхідний файл
Дешевий спосіб передати парольну фразу gpg без gpgwrap. Зверніть увагу, що ви не можете використовувати
stdin для передачі файлу gpg, оскільки stdin вже використовується для парольної фрази.
10.
gpg --batch --no-tty \
--passphrase-fd 3 3< /шлях/до/a/secret/file \
< infile > вихідний файл
Це більш просунутий метод надання парольної фрази, він еквівалентний Option
-р gpgwrap. Цей приклад повинен працювати принаймні з bash.
11.
gpg --batch --no-tty --passphrase-fd 3 \
3< <(echo "mysecretpassphrase") \
< infile > вихідний файл
Як і вище, але парольна фраза дається безпосередньо. Цей приклад має принаймні
працювати з bash.
Використовуйте gpgwrap онлайн за допомогою служб onworks.net