Этот вопрос не является специфическим для Докера. Речь идет о том, как запустить ktutil
в неинтерактивном режиме, и я нашел существующий вопрос, который охватывает это: Скрипт Kerberos Ktutil для создания keytabs .
Мы можем применить идеи из этого ответа для создания файла keytab в Docker:
FROM centos
# These variables just for demonstration here,
# ideally should be passed as
ARG user_id
ARG user_pass
# Should check here whether the above arguments
# have been actually passed to the build
# Install dependencies
# Add new entry to keytab file and list all entries afterwards
RUN yum install -y krb5-workstation.x86_64 \
&& echo -e "add_entry -password -p $user_id@DOMAIN.COM -k 1 -e aes256-cts\n$user_pass\nwkt $user_id.keytab" | ktutil \
&& echo -e "read_kt $user_id.keytab\nlist" | ktutil
wkt $user_id.keytab" | ktutil \
&& echo -e ""
Когда я запускаю сборку для вышеупомянутого Dockerfile
с помощью этой команды:
docker build -t ktutil --build-arg user_id=test --build-arg user_pass=test_pass .
Я вижу следующие результаты:
ktutil: add_entry -password -p test@DOMAIN.COM -k 1 -e aes256-cts
Password for test@DOMAIN.COM:
ktutil: wkt test.keytab
ktutil: ktutil: read_kt test.keytab
ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 1 test@DOMAIN.COM
Введите первые буквы предыдущей команды и нажмите стрелку
:set li<up>
:set lines=75
Не забудьте проверить опцию истории и установить для нее достаточно большое значение
:set history=1000
Вот документы для истории командной строки Vim , также см. Эту часть документов на История командной строки Vim , которая охватывает привязки клавиш в истории. Похоже, вы можете сказать : foo
и затем нажать стрелку вверх, чтобы найти последнюю команду, которая началась с foo.