2016-06-09 9 views
1

У меня есть зашифрованный keytab, который я расшифровываю, записывая его на диск, а затем используя его с kinit.Bash скрипт для использования keytab без записи его на диск

Что я хочу сделать, так это использовать keytab без записи на диск, просто расшифровать и использовать его напрямую с kinit. Вот мой сценарий до сих пор, но я получаю
Kinit: кодовая файл «/etc/krb5.keytab» не найден при получении исходных учетных

#!/bin/bash 
#$KEYTAB = gpg --decrypt keytab.gpg 
$KEYTAB=keytab 
kinit -k $KEYTAB [email protected] 

Я также пытаюсь с трубкой

gpg --decrypt keytab.gpg | kinit -k [email protected] 

, но это тоже не работает.

+0

Hm, в моей странице человека для Kinit, опция '-k' описывается:«Так же, как --keytab, но с именем по умолчанию Keytab (обычно FILE:/и т.д./krb5. Keytab) «. Возможно, вы захотите попробовать 'gpg --decrypt keytab.gpg | .kinit -k -t - ... ', но я не слишком уверен, что это решает проблему. – Dilettant

+0

В качестве комментариев редактирование разрешено только на 5 минут, я исправляю здесь: Предложение состояло в том, чтобы заменить имя файла '-' и вставлять информацию о' main @ realm' в процесс с помощью опции '-S ... ' , – Dilettant

+0

'$ KEYTAB = keytab' должен быть' KEYTAB = keytab'. – chepner

ответ

0

Пока Kinit просто читает файл, использование/Dev/STDIN

gpg --decrypt keytab.gpg | kinit -k /dev/stdin [email protected] 

Другой пример с другой программой

echo foo | cat /dev/stdin 
+0

Это не спрашивая у меня пароль для дешифрования keytab.gpg ... Также не похоже, что он будет работать как echo keytab | kinit -k/dev/stdin main @ realm или echo keytab | kinit -k -t/dev/stdin main @ realm не работает – OrigamiEye

+0

Я не знаю почему. Я создал gpg-файл, и следующее запрашивает парольную фразу: 'gpg -d x.gpg | cat/dev/stdin' – RTLinuxSW

+0

Я пробовал пару раз, тем дальше я получаю 'kinit: Keytab не содержит подходящих ключей для real @ realm при получении начальных учетных данных' с' gpg --decrypt keytab.gpg | kinit -k -t/dev/stdin main @ realm' – OrigamiEye

0

Это не возможно, Kinit нужно прочитать Keytab от файл не может быть передан переменной.

http://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html

+0

В чем вас беспокоит: что файл не остается на диске после завершения kinit? – RTLinuxSW

+0

Противоположность, что она записана на диск. Цель состояла в том, чтобы передать его как переменную и не записывать на диск. – OrigamiEye