Исправление подключения к Astra Linux FreeIPA

Корректировка подключения Debian клиента к Astra FreeIPA

  ·  2 min read

При вводе Debian клиента в контроллер домена FreeIPA на Astra Linux наблюдается проблема при прохождении валидации имен:

2025-04-23T13:35:46Z ERROR name must match '^[a-z][_a-z0-9][a-z0-9]$|^[a-z]$'; got 'x-ald-aud-mask'

Это связано с тем, что на контроллере домена FreeIPA в Astra Linux в /etc/dirsrv/*/schema/74x-ald-user-mac.ldif указаны имена несоответствующие регулярному выражению при проверке на клиенте Debian:

dn: cn=schema
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.1  NAME 'x-ald-user-mac'             DESC 'Mandatory access control attributes of a user'      EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.4  NAME 'xaldusermacmin'             DESC 'Min. mandatory access control attributes of a user' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.5  NAME 'xaldusermacmax'             DESC 'Max. mandatory access control attributes of a user' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.6  NAME 'xaldusermincat'             DESC 'Min. mandatory category attributes of a user'       EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.8  NAME 'xaldusermaxcat'             DESC 'Max. mandatory category attributes of a user'       EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.2  NAME 'x-ald-mac-level'            DESC 'Numeric MAC level'                                  EQUALITY integerMatch    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.3  NAME 'x-ald-mac-category'         DESC 'Numeric MAC category'                               EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.7  NAME 'x-ald-user-mac-last-choice' DESC 'Last MAC choice of a user'                          EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.23 NAME 'x-ald-aud-mask'             DESC 'Audit events mask'                                  EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE USAGE userApplications)
attributeTypes: (1.3.6.1.4.1.32702.1.1.1.3.1.24 NAME 'x-ald-aud-type'             DESC 'Type of the audit configuration'                    EQUALITY integerMatch    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE USAGE userApplications)
...

Для исправления данной проблемы необходимо применить патч, корректирующий регулярное выражение на клиенте:

--- /usr/lib/python3/dist-packages/ipalib/constants.py	2025-04-23 16:58:35.194472970 +0300
+++ /usr/lib/python3/dist-packages/ipalib/constants.py	2025-04-23 16:52:59.650027244 +0300
@@ -56,7 +56,7 @@
 TLS_VERSION_DEFAULT_MAX = None
 
 # regular expression NameSpace member names must match:
-NAME_REGEX = r'^[a-z][_a-z0-9]*[a-z0-9]$|^[a-z]$'
+NAME_REGEX = r'^[a-z][_\-a-z0-9]*[a-z0-9]$|^[a-z]$'
 
 # Format for ValueError raised when name does not match above regex:
 NAME_ERROR = "name must match '%s'; got '%s'"

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

Также рекомендуется на клиенте Debian установить пакет dbus-x11, который позволит проходить авторизацию в GUI под доменными учетными записями.

Описанные выше исправления применялись при подключении клиента Debian 12 к Astra Linux 1.8.