Сценарий оболочки GnuPG - Отказывается читать пароль

Сценарий ниже используемого для работы над Mac OS X, но, начиная с перемещения его к Ubuntu, он, кажется, не читает из файла паролей вообще. Даже когда я выполняю его из командной строки, независимо от того, что я делаю, я получаю раскрывающуюся подсказку, прося у меня пароль. Когда это будет работать через крон, я не хочу, чтобы это произошло... Я хочу, чтобы это считало пароль из файла без подсказки. Для замечания я действительно пытался использовать пароль-fd и файл пароля, ни один из который работавший...

#!/bin/sh
p=$(<pass.txt)
set -- $p
pass_phrase=$1
destination="/var/www/decrypted"
cd /var/sl_bin/
for FILE in *.pgp;
do
    FILENAME=${FILE%.pgp}
    gpg --passphrase "$pass_phrase" --output "$destination/$FILENAME" --decrypt "$FILE"
    rm -f $FILE
done
6
задан OopsForgotMyOtherUserName 27 March 2010 в 18:37
поделиться

2 ответа

используйте

#!/bin/bash

или

#!/usr/bin/env bash

в качестве первой строки вместо #! / Bin / sh

Что касается проблемы с парольной фразой, вам, вероятно, следует попробовать использовать какой-нибудь автоматический механизм. информацию в документации по gpg. Я не использую gpg, но вы можете проверить gpg-agent .

0
ответ дан 9 December 2019 в 20:41
поделиться

Вероятно, ваша проблема в том, что $ парольная фраза пуста. В Ubuntu sh символически привязан к тире , который не понимает $ ( так же, как Bash (но не выдает ошибку или).

Вы можете изменить свой шебанг на:

#!/bin/bash

или использовать $ (cat pass.txt)

Кроме того, почему бы не объединить вторую, третью и четвертую строки ?: pass_phrase = $ (< pass.txt) (или pass_phrase = ($ (, если вы пытаетесь удалить все, кроме первого «слова» в файле).

Ваш предыдущий вопрос

0
ответ дан 9 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

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