Изменение пароля Active Directory для учетной записи службы в Linux

Я действительно новичок, но я пытаюсь использовать Kerberos для аутентификации моей активной учетной записи службы каталогов из моего собственного пакета CentOS 7, после чего затем я запускаю запросы в удаленной базе данных, используя sqlcmd.

Чтобы дать больше контекста, снимок моего рабочего кода Python приведен ниже:

import subprocess kinit = ['kinit', 'serviceaccount@DIRECTORY.COM', '-k', '-t', '/usr/local/var/krb5kdc/serviceaccount.keytab'] kinit_cl = subprocess.Popen(kinit, stdout=subprocess.PIPE) kinit_output = kinit_cl.stdout.read() klist = ['klist','-l'] klist_cl = subprocess.Popen(klist, stdout=subprocess.PIPE) klist_output = klist_cl.stdout.read() print klist_output if 'KEYRING:persistent' in klist_output: print "Service Account Authenticated" #proceed to run sqlcmd queries 

Мой вопрос больше связан с управлением keytab, где хранятся мои учетные данные, что отлично, потому что мой пароль не сохраняется в ящике. Пароль истекает через 30 дней, и я заметил, что если я использую kpasswd для изменения моего пароля из командной строки, он попросит мой старый пароль. Это означало бы, что я должен был бы хранить его в прозрачном месте и передавать его, в то время как я счастлив не знать свой пароль и позволяю сценарию управлять этим для меня.

Для создания нового надежного пароля в Python не будет проблемой, мой вопрос в том, какую команду я могу использовать для изменения пароля, не запрашивая старый пароль. Команда kadmin.local говорит, что пароль изменен, но принятый пароль по-прежнему является старым паролем. kadmin дает мне ошибку ниже, хотя я добавил учетную запись службы в качестве администратора в локальный файл:

 [root@osboxes krb5kdc]# kadmin.local -q "addprinc serviceaccount/admin" Authenticating as principal serviceaccount/admin@DIRECTORY.COM with password. WARNING: no policy specified for serviceaccount/admin@DIRECTORY.COM; defaulting to no policy Enter password for principal "serviceaccount/admin@DIRECTORY.COM": Re-enter password for principal "serviceaccount/admin@DIRECTORY.COM": Principal "serviceaccount/admin@DIRECTORY.COM" created. [root@osboxes krb5kdc]# kinit serviceaccount/admin kinit: Client 'serviceaccount/admin@DIRECTORY.COM' not found in Kerberos database while getting initial credentials [root@osboxes krb5kdc]# kadmin serviceaccount kadmin: Client 'serviceaccount/admin@DIRECTORY.COM' not found in Kerberos database while initializing kadmin interface 

Нужно ли это делать только через kadmin ? Или как мне это сделать?

Interesting Posts

При добавлении IP-адресов с ifconfig eth: xx, как мне в одной строке найти наивысший eth: xx

Какова концепция создания файла с нулевыми байтами в Linux?

Как я могу разбивать и форматировать свой диск с точностью до «LBA» с помощью команд?

Добавление kill в группу sudoers

Как я могу передать позиционный параметр, сценарий bash требует, чтобы он был недоступен?

Групповая подстановка Sed добавляется в OSX, а не в ожидаемый sub в Linux

Как удалить символы текста в одной строке перед конкретным символом?

Есть ли способ контролировать состояние туннеля SSH?

Что на самом деле убивает 0?

сортировка при использовании числовой опции: «sort -k2,2 -nk6,6 foo» vs «sort -k2,2 -k6,6n foo»

Убить процесс с тайм-аутом

Что такое SSH – протокол и что такое ssh – полезность?

Dogtag CA после установки

Настройка туннелирования SSH без пароля с домашнего компьютера за NAT на внутренний компьютер за шлюзом

Почему Flash-плагин не обновляется?

Linux и Unix - лучшая ОС в мире.