Ссылка glew32
после libs, которые его используют.
Этот вопрос не является специфическим для Докера. Речь идет о том, как запустить 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
Попробуйте:
ktutil: add_entry -password -p $user_id@DOMAIN.COM -k 1 -e aes256-cts
Password for $user_id@DOMAIN.COM:
ktutil: add_entry -password -p $user_id@DOMAIN.COM -k 1 -e aes256-cts
Password for $user_id@DOMAIN.COM:
ktutil:
Нам удалось исправить это так:
RUN printf 'add_entry -password -p $user_id@DOMAIN.COM -k 1 -e aes256-cts\n$user_pass\nwkt $user_id.keytab' | ktutil