Подразумевается, что 1С 8.3 установлена, время сервера синхронизируется с контроллером домена (ОБЯЗАТЕЛЬНО!!!).
DOMAIN.LOC — наш домен
ad.domain.loc — имя контроллера домена
1c.domain.loc — имя сервера 1С
Ставим базовые утилиты kerberos:
apt install krb5-config krb5-user
На контроллере домена создаем пользователя usr41csrv (Обязательно указываем — «пользователь не может поменять пароль» и «пароль не устареет»).
Приводим krb5.conf к виду:
[libdefaults] default_realm = DOMAIN.LOC kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true fcc-mit-ticketflags = true [realms] DOMAIN.LOC = { kdc = ad.domain.loc admin_server = ad.domain.loc } [domain_realm] .domain.loc = DOMAIN.LOC domain.loc = DOMAIN.LOC
Проверим авторизацию пользователя контроллера домена командой:
kinit -V username
Если все ОК, то получим Authenticated to Kerberos v5.
На контроллере домена создаем ключевой файл командой:
ktpass -princ usr1cv8/1c.domain.loc@DOMAIN.LOC -mapuser usr41csrv -pass your_password -ptype KRB5_NT_PRINCIPAL -out usr1cv8.keytab
В usr1cv8/1c.domain.loc@DOMAIN.LOC usr1cv8 — это пользователь от которого запущена 1С на Linux сервере.
Теперь закидываем созданный usr1cv8.keytab на сервер 1C в каталог с бинарными файлами 1С (/opt/1cv8/x86_64/8.3.18.1208) и проверим:
kinit -V -k -t /opt/1cv8/x86_64/8.3.18.1208/usr1cv8.keytab usr1cv8/1c.domain.loc
На выходе должны увидеть Authenticated to Kerberos v5.
Теперь рестартуем сервис 1С и проверяем прозрачную авторизацию на клиентах.
Все отлично работает.
Но если надо чтобы авторизация работала из другого домена?
Между DOMAIN.LOC и допустим OMEGA.LOC доверительные отношения есть