Изменение пароля 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

Печать одного байта с номером с hexdump

Оптимизировать ext4 для постоянной работы

Файлы открываются неправильными приложениями, если они открыты из нескольких программ

Грепирование нескольких экземпляров строки, с контекстом, из файла

Программно изменить скорость воспроизведения (NOT pitch) в режиме реального времени

прослушать два IP-адреса для размещения 2-х сайтов с SSL

Карта виртуального сетевого устройства по умолчанию: Qemu ARM64

Что значит? * Означает в команде оболочки?

Как создать / dev / null на archlinux

Размер диапазона журнала файловой системы ext4

Существует ли эквивалент команды «log» GNU Screen в tmux?

Продолжайте получать ошибки при попытке установить внешний жесткий диск с форматом LVM2, используя Knoppix с живого USB, пожалуйста, помогите

Regex для соответствия и замены шаблона в файле

Есть ли способ редактировать текстовый файл без его открытия?

Почему веб-сайт (размещенный в Virtualbox) недоступен в хост-системе?

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