Особенности разработки#
Важно
Документация дорабатывается по мере развития продуктов Группы Астра и по пожеланиям пользователей.
Ваши пожелания и замечания направляйте на почту docs@astralinux.ru
Не работает аутентификация Kerberos для доменной службы apache2: ошибка «AM00003: getpwnam(…) failed: user not found»
При работе доменной службы Apache2 в режиме AstraMode on аутентификация Kerberos для доменных пользователей не выполняется, в журнале /var/log/apache2/error.log фиксируется ошибка вида:
AM00003: getpwnam(...) failed: user not found
Рекомендации
Для корректного выполнения аутентификации Kerberos для доменных пользователей в файле /etc/apache2/apache2.conf указать (раскомментировать) параметр IncludeRealm со значением on:
IncludeRealm on
Не работает аутентификация Kerberos для доменной службы apache2: недоступен модуль mod_auth_kerb
Не работает аутентификация Kerberos для доменной службы apache2. Недоступен модуль аутентификации Kerberos mod_auth_kerb (пакет libapache2-mod-auth-kerb).
В Astra Linux Special Edition x.8 пакет libapache2-mod-auth-kerb, предоставляющий модуль libapache2-mod-auth-kerb, исключен как устаревший. Его заменой является пакет libapache2-mod-auth-gssapi (модуль mod_auth_gssapi).
Для устранения проблемы:
Установить пакет libapache2-mod-auth-gssapi:
sudo apt install libapache2-mod-auth-gssapi
В конфигурационных файлах службы apache2 использовать тип аутентификации GSSAPI. Например:
/etc/apache2/conf-available/kerberos-auth.conf
<Location />
AuthType GSSAPI
AuthName "Kerberos Authentication"
GssapiBasicAuth On
GssapiLocalName On
GssapiCredStore keytab:$keytab
require valid-user
</Location>
Подробнее см. статью: Настройка аутентификации Kerberos для службы apache2 в Astra Linux.
Не удается подключиться к БД mariadb с использованием Kerberos
Доменным пользователям не удается подключиться к БД mariadb.
Рекомендации
Использовать для подключения полное доменное имя пользователя, включающее имя области (realm) Kerberos. Имя области должно быть указано заглавными буквами. Например: user@IPA.RBT.
В службе apache2 не работает аутентификация Kerberos
В службе apache2 не работает аутентификация Kerberos (GSSAPI).
Рекомендации
Установить в конфигурации службы apache2 параметр:
IncludeRealm on
В БД postgresql не работает аутентификация Kerberos
В базе данных postgresql не работает аутентификация Kerberos (GSSAPI).
Рекомендации
Настроить отображение имен доменных пользователей в имена базы данных.
Пример:
mymap /^(.*)@mydomain\.com$ \1
mymap /^(.*)@otherdomain\.com$ guest
Подробнее см. документацию по базе данных.
Недостаточно прав для изменения схемы public
При работе с базами данных после предоставления пользователю полных прав доступа к базе данных:
GRANT ALL ON DATABASE <имя_базы_данных> TO <имя_пользователя>;
возникают ошибки нехватки прав вида «permission denied for schema public».
Рекомендации
В Astra Linux Special Edition x.8 используется защищенная ЗСУБД соответствующая СУБД postgresql версии 15. В отличие от версий, использовавшихся в более ранних очередных обновлениях, в этой версии права изменения публичных схем баз данных (public и др.) по умолчанию отсутствуют у всех пользователей, кроме владельца базы данных. Рекомендованным способом предотвращения проблемы недостатка прав является создание для каждого пользователя индивидуальной схемы, в которых будут локализоваться вносимые пользователем изменения:
CREATE SCHEMA <имя_схемы> AUTHORIZATION <имя_пользователя>;
Для совместимости с ранее разработанными приложениями возможны следующие решения:
сделать пользователя владельцем базы данных, тем самым предоставив ему все возможные права:
ALTER DATABASE <имя_базы_данных> OWNER TO <имя_пользователя>;
принудительно предоставить необходимые права пользователю:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA <имя_схемы> TO <имя_пользователя>;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA <имя_схемы> TO <имя_пользователя>;
Имя схемы по умолчанию - public, однако могут использоваться и другие имена схем. Подробнее см. документацию на СУБД postgresql.
Не поддерживаются длинные имена идентификаторов
При использовании длинных идентификаторов (имен) возникают ошибки. Максимальная длина идентификатора составляет:
при использовании символов ASCII (в частности, латиницы) — 63 символа;
при использовании кириллицы (кодировка utf8) — 31 символ;
при использовании других символов максимальная длина идентификатора уменьшается и зависит от использованного набора символов.
Рекомендации
Максимальная допустимая длина идентификатора задается при сборке и не может быть изменена.
В Astra Linux Special Edition x.7 использовалась максимальная длина идентификатора 255 байт (сборка ЗСУБД с параметром NAMEDATALEN = 256).
В Astra Linux Special Edition x.8 в целях оптимизации производительности, улучшения тестирования и повышения устойчивости работы ЗСУБД максимальная длина идентификатора уменьшена до 63 байт (NAMEDATALEN=64).
Прикладное ПО должно быть адаптировано к этим изменениям.