2014-11-13 4 views
1

Я пытаюсь расшифровать файл, используя следующую команду:Не удается расшифровать файл: ожидается открытый ключ

gpg --batch --no-tty --yes --always-trust --primary-keyring /root/.gnupg/secring.gpg -o file.csv --passphrase -d file.csv.asc 

Он работает нормально, но когда я запускаю его в хронах я получаю следующее сообщение об ошибке:

gpg: expected public key but found secret key - must stop 

Что делать, чтобы запустить его в cron?

+0

Подробнее что-то для суперпользователя. Но имеет ли cron достаточное количество разрешений для чтения вашего файла из учетной записи root? И если да, то почему? –

+0

Я думаю, что нет никаких проблем с разрешениями. Я делаю это в cron как root. Это что-то с опциями gpg. Но, возможно, я ошибаюсь. – quest

ответ

0

Не указывайте на брелок, но полный домашний каталог GnuPG, используя --homedir /root/.gnupg. --homedir устанавливает каталог GnuPG выполняет поиск всех других файлов внутри.

--primary-keyring file может использоваться только для общественных брелка, что не поможет вам с расшифровкой. От man gpg:

--primary-keyring file 
     Designate file as the primary public keyring. This means that newly 
     imported keys (via --import or keyserver --recv-from) will go to this 
     keyring. 

В качестве альтернативы, вы можете использовать --secret-keyring file:

--secret-keyring file 
     Same as --keyring but for the secret keyrings. 

Я не уверен, нужно ли вам этот параметр в любом случае: если вы используете эти хроны как корневой пользователь , $HOME уже должен быть установлен на /root, а GnuPG найдет свою домашнюю папку без дальнейшей настройки. Если вы не выполняете задание cron как root, поместите ключи в другое место (то есть, домашний каталог пользователя); потенциальная проблема с безопасностью, позволяющая другим пользователям читать и, возможно, записывать доступ к /root.

+0

Это работает. Спасибо. – quest

Смежные вопросы