Pull to refresh

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации из различных доменов

Reading time2 min
Views7.3K

Похожая статья уже была на Хабре, но у меня появилась задача авторизировать пользователей из разных и ничем не связанных доменов.

В статье будем использовать: Microsoft AD, 1c Сервер, Debian 11.

В связи с событиями в мире, появилась идея перевода всех серверов на linux, и как говорится из названия, авторизации множества пользователей из разных доменов, скажу сразу, домены находятся не в лесу и на разных площадках.

За основу беру:

srv-1cserver - целевой сервер 1с предприятия.
domain.loc - 1 домен.
master.loc - 2 домен.
office.loc - 3 домен.

На данном этапе будем считать что у нас уже функционирует сервер на нашем Debian и там есть пара баз.

Kerberos-аутентификация

На каждом сервере необходимо создать пользователя с которым будут ассоциироваться запросы к 1с серверу.

Для простоты будем использовать пользователя в Windows usr1cv8 , в Debian usr1cv8 .
При создании пользователя, обязательно снять галочку в пункте  «Use DES encryption types with this account».

Сделаем для этого пользователя секрутный ключ .keytab c помощью утилиты ktpass.

C:\>ktpass -princ usr1cv8/srv-1cserver.domain.ru@domain.loc -mapuser usr1cv8 -pass XxXxXx -out usr1cv8.keytab

После этого в корне диска С:\ у нас будет файл usr1cv8.keytab и теперь с пользователем usr1cv8 ассоциируется служба usr1cv8/srv-1cserver.domain.ru@domain.loc.

Проделаем эту процедуру на всех Windows серверах и сформированные файлы поместим в удобные папки на Debian для нас.

Дальнейшие действия тоже довольно простые, запустим уже на Debian утилиту ktutil.

И проделаем следующее:

root@srv-1cserver:~# ktutil
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
Читаем кейтаб
ktutil:  rkt /opt/1cv8/x86_64/8.3.21.1393/keytab_domain.loc/usr1cv8.keytab
смотрим
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    1            HTTP/srv-1cserver.domain.ru@DOMAIN.LOC
читаем второй кейтаб
ktutil:  rkt /opt/1cv8/x86_64/8.3.21.1393/keytab_master.loc/usr1cv8.keytab
смотрим
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    1            HTTP/srv-1cserver.domain.ru@DOMAIN.LOC
   2    1            HTTP/srv-1cserver.domain.ru@MASTER.LOC
читаем третий кейтаб
ktutil:  rkt /opt/1cv8/x86_64/8.3.21.1393/keytab_office.loc/usr1cv8.keytab
смотрим
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    1            HTTP/srv-1cserver.domain.ru@DOMAIN.LOC
   2    1            HTTP/srv-1cserver.domain.ru@MASTER.LOC
   3    1            HTTP/srv-1cserver.domain.ru@OFFICE.LOC
Добавилось, т.е. успешно объединили три keytab

Записываем
ktutil:  wkt /etc/krb5.keytab

После этого перезапустим 1с сервер и можно заходить в тонкий клиент и прописать настройки пользователю.

Для этого переходим в «Администрирование», слева в списке выбрать «Пользователи»
В свойствах пользователя выбрать «Аутентификация операционной системы» и в поле «Пользователь» прописать \\MASTER.LOC\e.ivanov
В 1с домен прописать обязательно большими буквами.

Данное действие проделаем на нужных серверах, и на данном этапе авторизация с различных серверов будет работать.

Tags:
Hubs:
+2
Comments10

Articles

Change theme settings