keytabusername="
service2_uidm.aranter.ru" #новый пользователь
keytabuserpass='!QAZxsw2' # пароль нового пользователя
keytabuserou="OU=_serviceusers" # OU куда положить пользователя
# перечень всех SPN для нового пользователя
spns="HTTP/
uidm2.aratner.ru HTTP/st12sso01
HTTP/st12sso02
HTTP/st12sso04
HTTP/
st12sso01.aratner.ruHTTP/
st12sso02.aratner.ruHTTP/
st12sso04.aratner.ru"
newupn=$(echo $spns | awk '{print $1;}') # первый SPN из перечня станет новым UPN для этого пользователя
keytabfilename="${keytabusername}.keytab" # файл куда сложить кейтаб
domname="
alt.aratner.ru" # имя домена
adadminuser="administrator" # пользователь который может
adadminpass='qaWS3214op!@' # пароль пользователя который может
# создадим нового пользователя
samba-tool user add $keytabusername $keytabuserpass --userou=$keytabuserou -U ${adadminuser}%${adadminpass}
# отключим протухание пользователю
samba-tool user setexpiry $keytabusername --noexpiry -U ${adadminuser}%${adadminpass}
# добавим все SPNы в пользователя
for spn in $spns; do
samba-tool spn add "${spn}" $keytabusername -U ${adadminuser}%${adadminpass}
done
# переименуем UPN в первый SPN
samba-tool user upn set $keytabusername $newupn
# удалим старый файл
rm -f ${keytabfilename}
# создадим кейтаб файл
samba-tool domain exportkeytab ${keytabfilename} --principal=$keytabusername -U ${adadminuser}%${adadminpass}
# получим список всех SPN из пользователя
spns=$(samba-tool spn list $keytabusername | tail +3)
# добавим в кейтаб каждый SPN
for spn in $spns; do
samba-tool domain exportkeytab ${keytabfilename} --principal=""${spn}"" -U ${adadminuser}%${adadminpass}
done
# посмотрим что там получилось в кейтаб файле
klist -ket ${keytabfilename}